2012-10-16 3 views
5

PHP에서 ghostscript를 사용하여 PDF 파일에 비밀번호 보호를 설정해야합니다.Ghostscript를 사용하여 비밀번호로 보호 된 PDF

이 파일은 간단한 양식을 사용하여 서버에 업로드됩니다 (이 경우 어떤 도움도 필요하지 않습니다).하지만 처음에는 보호 기능이 없습니다. 그래서 exec 함수와 고스트 스크립트 (ghostscript)를 사용하여 패스워드 보호를하고 싶습니다. 그러나 고스트 스크립트 질의가 어떨지는 어디에서도 찾을 수 없었습니다.

예를 들어 File.pdf라는 PDF 파일이 있습니다. 업로드 한 다음 보호 기능을 설정하고 File_protected.pdf라고합니다.

내가 너무 많이 같이 그것을 할 수 있지만, '.PS'파일 가중치려고하고 최종 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"); 

답변

10

OK 파일을 포스트 스크립트로 보냅니다. Ghostscript는 PDF 파일을 입력으로 가져 와서 출력으로 PDF 파일을 생성 할 수 있습니다. 많은 사람들이 여러 가지 이유로이 작업을 수행합니다.

그러나이 경우 Ghostscript는 PDF 파일이나 다른 것을 '찍기'만하는 것이 아니라 마킹 작업을 완전히 해석 한 다음 완전히 통합 된 PDF 파일을 작성한다는 점에 유의해야합니다 그 표식들. 그러나 PostScript로 변환하고 다시 PDF로 변환하여 만족 스러우면이 2 단계 변환보다 실제로 만족 스러울 것입니다.

둘째, pdfwrite 장치에 'PDFPassword'스위치가 없으므로 아무런 영향이 없습니다. 스위치가 있습니다 (-sOwnerPassword-sUserPassword). -dPermissions 스위치를 제공 할 수도 있습니다.

세부 정보를 수집하려면 PDF 참조 설명서를 읽어야하지만 소유자가 파일에 대해 아무 것도 할 수는 없으므로 사용자는 권한 (비트 필드)으로 제한됩니다. 사용자 암호를 제공하지 않으면 누구나 파일을 열 수 있지만 (사용 권한으로 제한됨) 권한으로 허용되지 않는 작업을 수행하려면 소유자 암호를 제공해야합니다. 나는 이것이 당신이하고 싶은 것이지만 당신에게 달려 있다고 생각합니다.

+0

고맙습니다. –