[]
        
(Showing Draft Content)

支持安全选项

有时,用户需要使用用户/所有者密码,打印权限,内容权限,注释权限等保护其数字文档。PDF文档一直是专业人员之间共享数字文件的首选格式。在将Excel电子表格保存为PDF文件的同时,GcExcel库支持安全选项。通过根据指定的选项限制PDF对未经授权的用户的访问,它有助于保护PDF文档。

使用GcExcel的PdfSecurityOptions类,您可以在将Excel电子表格转换为PDF文档时,限制对PDF文档的访问。您可以在PdfSecurityOptions类中通过以下安全属性进行选择:

特性

描述

getUserPassword / setUserPassword

获取或设置PDF文档的用户密码。

getOwnerPassword / setOwnerPassword

获取或设置PDF文档的所有者密码。需要该密码才能更改PDF文档的权限。

getPrintPermission / setPrintPermission

获取或设置打印PDF文档的权限。此属性的默认值为true。

getFullQualityPrintPermission / setFullQualityPrintPermission

G获取或设置高质量打印许可。此属性的默认值为true,并且仅在PrintPermission属性设置为true时才有效。

getExtractContentPermission / setExtractContentPermission

获取或设置复制或提取内容的权限。此属性的默认值为true。

getModifyDocumentPermission / setModifyDocumentPermission

获取或设置修改PDF文档的权限。此属性的默认值为true。

getAssembleDocumentPermission / setAssembleDocumentPermission

获取或设置插入,旋转或删除页面以及创建书签/缩略图的权限。此属性的默认值为true。如果要防止用户插入,旋转或删除页面,则还需要将ModifyDocumentPermission属性设置为false。

getModifyAnnotationsPermission / setModifyAnnotationsPermission

获取或设置修改文本注释和填写表单字段的权限。此属性的默认值为true。

getFillFormsPermission / setFillFormsPermission

获取或设置填充表单字段的权限,即使 ModifyAnnotationsPermission属性返回false。此属性的默认值为true。请注意,如果要防止用户填写交互式表单字段,则需要将ModifyAnnotationsPermission属性设置为false。

用例代码

将Excel电子表格导出到PDF文档时,请参考以下示例以添加安全性选项。

// Initialize workbook
Workbook workbook = new Workbook();
// Fetch default worksheet
IWorksheet worksheet = workbook.getWorksheets().get(0);
Object data = new Object[][] { { "Name", "City", "Sex", "Weight", "Height", "Age" },
        { "Bob", "NewYork", "male", 80, 180, 56 }, { "Betty", "NewYork", "female", 72, 168, 45 },
        { "Gary", "NewYork", "male", 71, 179, 50 }, { "Hunk", "Washington", "male", 80, 171, 59 },
        { "Cherry", "Washington", "female", 58, 161, 34 }, { "Coco", "Virginia", "female", 58, 181, 45 },
        { "Lance", "Chicago", "female", 49, 160, 57 }, { "Eva", "Washington", "female", 71, 180, 81 } };

worksheet.setName("Listing");
// Set data
worksheet.getRange("A1:G9").setValue(data);

// The security settings of pdf when converting excel to pdf
PdfSecurityOptions securityOptions = new PdfSecurityOptions();
// Sets the user password
securityOptions.setUserPassword("user");
// Sets the owner password
securityOptions.setOwnerPassword("owner");
// Printing the pdf document is not allowed
securityOptions.setPrintPermission(false);
// Filling the form fields of the pdf document is not allowed
securityOptions.setFillFormsPermission(false);

PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
// Sets the security settings of the pdf
pdfSaveOptions.setSecurityOptions(securityOptions);

// Saving workbook to PDF
workbook.save("4-SavePDFPdfSecurityOptions.pdf", pdfSaveOptions);

注意: GcExcel使用长度从40到128位的RC4加密,并允许定义额外的权限标志。