2012-10-16 16 views
5

Potrzebuję umieścić ochronę hasłem do plików PDF za pomocą ghostscript w php.Hasło chronione PDF za pomocą Ghostscript

Pliki te będą przesyłane na serwer za pomocą prostego formularza (nie potrzebuję żadnej pomocy), ale na początku nie będą miały żadnej ochrony. Dlatego chcę zabezpieczyć je hasłem za pomocą funkcji exec i ghostscript. Ale nie mogłem znaleźć nigdzie, jak powinno wyglądać zapytanie ghostscript.

Na przykład mam plik PDF o nazwie File.pdf. Przesyłam go, a następnie muszę nadać mu ochronę i nazwać go File_protected.pdf.

starałem się zrobić to w ten sposób, ale ciężary pliku”ps zbyt wiele i nie ma hasła w końcowej File_protected.pdf:

exec("gs -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=File.ps File.pdf"); 
exec("gs -dNOPAUSE -dBATCH -sPDFPassword=password -sDEVICE=pdfwrite -sOutputFile=File_protected.pdf File.ps"); 

Odpowiedz

10

OK więc po pierwsze nie trzeba konwertować plik do PostScript. Ghostscript doskonale potrafi pobrać plik PDF jako dane wejściowe i utworzyć plik PDF jako wynik, wiele osób robi to z wielu powodów.

Musisz jednak mieć świadomość, że jeśli to zrobisz, Ghostscript nie będzie tylko "stemplować" pliku PDF, czy coś w tym stylu, w pełni interpretuje go do operacji znakowania, a następnie tworzy całkowicie nowy plik PDF, który zawiera te znaki. Ale jeśli jesteś zadowolony z konwersji na PostScript i z powrotem do formatu PDF, powinieneś to uznać za satysfakcjonujący, a tak naprawdę lepiej niż w przypadku konwersji dwuetapowej.

Po drugie, nie istnieje przełącznik "PDFPassword" dla urządzenia pdfwrite, dlatego nie ma on żadnego efektu. Dostępne są przełączniki : -sOwnerPassword i -sUserPassword. Możesz również chcieć dostarczyć przełącznik -dPermissions.

Powinieneś przeczytać instrukcję obsługi pliku PDF, aby uzyskać szczegółowe informacje, ale w skrócie, Właściciel może zrobić cokolwiek dla pliku, Użytkownik jest ograniczony do Uprawnienia (które jest polem bitowym). Jeśli nie podasz hasła użytkownika, wówczas każdy może otworzyć plik (ograniczony do uprawnień), ale musisz podać hasło właściciela, aby zrobić wszystko, co nie jest dozwolone przez uprawnienia. Podejrzewam, że to jest to, co chcesz zrobić, ale to zależy od ciebie.

+0

dziękuję bardzo –

Powiązane problemy