Secure PDF Documents
Sometimes, developers need to work with encrypted PDF files. For example:
- Secure the documents with owner and user passwords so not just anyone can open it.
- Set restrictions or permissions to the document after the document is opened. e.g. restrict whether the document content can be printed or extracted.
This article explains how to pass in PDF security options when saving spreadsheets to PDF.
Aspose.Cells for Python via .NET provides PdfSecurityOptions for working with security. You can set owner and user passwords while saving to PDF. The owner password or user password will be required to open the encrypted PDF document for viewing.
- The user password can be null or empty string, in this case no password will be required from the user when opening the PDF document.
- Opening the PDF document with the correct owner password allows full access(without any access restrictions specified) to the document.
- Opening the PDF document with the correct user password (or opening a document that does not have a user password) allows limited access as the permissions specified.
The sample code below describes how to secure PDFs with Aspose.Cells for Python via .NET.
from aspose.cells import PdfSaveOptions, Workbook | |
from aspose.cells.rendering.pdfsecurity import PdfSecurityOptions | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Open an Excel file | |
workbook = Workbook(dataDir + "input.xlsx") | |
# Instantiate PDFSaveOptions to manage security attributes | |
saveOption = PdfSaveOptions() | |
saveOption.security_options = PdfSecurityOptions() | |
# Set the user password | |
saveOption.security_options.user_password = "user" | |
# Set the owner password | |
saveOption.security_options.owner_password = "owner" | |
# Disable extracting content permission | |
saveOption.security_options.extract_content_permission = False | |
# Disable print permission | |
saveOption.security_options.print_permission = False | |
# Save the PDF document with encrypted settings | |
workbook.save(dataDir + "securepdf_test.out.pdf", saveOption) |