2012-10-16 46 views
5

Tôi cần phải đặt mật khẩu bảo vệ cho các tệp PDF bằng ghostscript trong php.Mật khẩu bảo vệ PDF bằng Ghostscript

Những tệp này sẽ được tải lên máy chủ bằng biểu mẫu đơn giản (tôi không cần bất kỳ trợ giúp nào về điều này), nhưng ban đầu chúng sẽ không có bất kỳ sự bảo vệ nào. Vì vậy, tôi muốn đặt mật khẩu bảo vệ cho họ bằng cách sử dụng chức năng exec và ghostscript trong đó. Nhưng tôi không thể tìm thấy bất cứ nơi nào truy vấn ghostscript nên được như thế nào.

Ví dụ: tôi có tệp PDF có tên File.pdf. Tôi tải nó lên và sau đó tôi cần phải bảo vệ nó và gọi nó là File_protected.pdf.

Tôi đã cố gắng để làm điều đó như thế này nhưng trọng lượng tập tin' .ps' quá nhiều và không có mật khẩu trong File_protected.pdf thức:

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"); 

Trả lời

10

OK vậy, trước tiên bạn không cần phải chuyển đổi tệp cho PostScript. Ghostscript là hoàn toàn có khả năng lấy các tập tin PDF như là một đầu vào và sản xuất một tập tin PDF như là một đầu ra, rất nhiều người làm điều này vì nhiều lý do. Tuy nhiên, bạn cần phải biết rằng nếu bạn làm điều này, Ghostscript không chỉ là 'dán' tập tin PDF hoặc một cái gì đó, nó hoàn toàn giải thích nó xuống để đánh dấu các hoạt động và sau đó tạo một tập tin PDF hoàn toàn mới mà kết hợp những dấu hiệu đó. Nhưng nếu bạn hài lòng bằng cách chuyển đổi sang PostScript và quay lại PDF, bạn sẽ thấy điều này thỏa đáng, thực sự tốt hơn là thực hiện chuyển đổi 2 bước đó.

Thứ hai, không có chuyển đổi 'PDFPassword' cho thiết bị pdfwrite, đó là lý do tại sao nó không có hiệu lực. Có các thiết bị chuyển mạch : -sOwnerPassword-sUserPassword. Bạn cũng có thể muốn cung cấp công tắc -dPermissions.

Bạn nên đọc hướng dẫn tham khảo PDF để thu thập chi tiết nhưng trong ngắn hạn Chủ sở hữu có thể thực hiện bất kỳ điều gì với tệp, Người dùng bị giới hạn quyền (là trường bit). Nếu bạn không cung cấp mật khẩu người dùng thì bất kỳ ai cũng có thể mở tệp (giới hạn quyền) nhưng bạn cần cung cấp mật khẩu Chủ sở hữu để thực hiện bất kỳ điều gì không được phép của Quyền. Tôi nghi ngờ đây là những gì bạn muốn làm nhưng nó tùy thuộc vào bạn.

+0

cảm ơn bạn rất nhiều –

Các vấn đề liên quan