您好:
我目前使用的各項Aspose.xxx for .NET 是18.11或是18.12 版的
需要將這四種類型格式的檔案轉為PDF,並加上密碼、禁止列印
呼叫的方式從文件中參考了此份文件:
目前遇到的問題條列如下:
各項產品的呼叫方式不同:
word的PDF儲存選項是:Aspose.Words.Saving.PdfSaveOptions
裡面有 PdfEncryptionDetails 的選項,可以加密、可以設定Permissions;
excel的PDF儲存選項是:Aspose.Cells.PdfSaveOptions,沒有包含PdfEncryptionDetails 的參數設定;
pdf的PDF儲存選項是:Aspose.Pdf.PdfSaveOptions,沒有包含PdfEncryptionDetails 的參數設定;
ppt甚至沒有PdfSaveOptions
word的禁止列印無效
Aspose.Words.Saving.PdfSaveOptions saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
PdfEncryptionDetails encryptionDetails = new PdfEncryptionDetails(password, string.Empty, PdfEncryptionAlgorithm.RC4_128);
encryptionDetails.Permissions = PdfPermissions.DisallowAll;
saveOptions.EncryptionDetails = encryptionDetails;
document.Save(pdfFilePath, saveOptions);
設定為DisallowAll,但是PDF打開還是看到允許列印。
(和我設定為PdfPermissions.Printing 時相同。)
先感謝您們的回覆,謝謝。
@AlanChang ,
关于第二点,您还需要指定“所有者密码”,以便能够禁用该“打印”选项。 这是示例代码:
Document doc = new Document("E:\\Temp\\in.docx");
Aspose.Words.Saving.PdfSaveOptions saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
PdfEncryptionDetails encryptionDetails = new PdfEncryptionDetails("password", "op", PdfEncryptionAlgorithm.RC4_128);
encryptionDetails.Permissions = PdfPermissions.DisallowAll;
saveOptions.EncryptionDetails = encryptionDetails;
doc.Save("E:\\Temp\\19.10.pdf", saveOptions);
关于您在第一点提到的问题,我们正在检查中,并将尽快与您联系。
1 Like
@AlanChang ,
关于Excel到PDF的渲染,Aspose.Cells确实支持设置密码和相应的打印权限。请参见示例代码段以供参考:
例如
样例代码:
// Load excel file containing some data
Workbook workbook = new Workbook(inputPath);
// Create an instance of PdfSaveOptions and pass SaveFormat to the constructor
PdfSaveOptions pdfSaveOpt = new PdfSaveOptions(SaveFormat.Pdf);
// Create an instance of PdfSecurityOptions
PdfSecurityOptions securityOptions = new PdfSecurityOptions();
securityOptions.PrintPermission = false;
securityOptions.OwnerPassword = "owner";
securityOptions.UserPassword = "user";
// Set the securityoption in the PdfSaveOptions
pdfSaveOpt.SecurityOptions = securityOptions;
// Save the workbook to PDF format while passing the object of PdfSaveOptions
workbook.Save(outputDir + "outFile.pdf", pdfSaveOpt);
希望这个对你有帮助。
1 Like
AlanChang:
saveOptions
感謝您的回覆!
目前看來,
Word轉DPF的部分,
需要設定 Aspose.Words.Saving.PdfEncryptionDetails 加上密碼、保全等設定,
然後放入 Aspose.Words.Saving.PdfSaveOptions 中的 EncryptionDetails;
Excel轉PDF的部分,
需要設定 Aspose.Cells.Rendering.PdfSecurity.PdfSecurityOptions ,加上密碼、保全等設定,
然後放入 Aspose.Cells.PdfSaveOptions 中的 SecurityOptions。
請問我這樣理解正確嗎?
@AlanChang ,
我喜欢从Aspose.Slides的角度分享它,它能够生成受密码保护的PDF文件。 但是,该API不支持创建具有打印限制的PDF文件的功能。 API中已添加ID SLIDESNET-41487的问题,以为生成的PDF中的打印限制提供必需的支持。 该线程已与该线程链接,因此一旦支持可用,您可能会收到通知。
我建议您也请访问以下文档链接,以探讨生成受密码保护的PDF的选项。
@AlanChang ,
是的,您的理解是正确的。 如我之前的文章所述,您还需要指定“所有者密码”,以便可以禁用“打印”选项。 请使用我以前的文章中的示例代码:
@AlanChang ,
关于第二点,您还需要指定“所有者密码”,以便能够禁用该“打印”选项。 这是示例代码:
Document doc = new Document("E:\\Temp\\in.docx");
Aspose.Words.Saving.PdfSaveOptions saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
PdfEncryptionDetails encryptionDetails = new PdfEncryptionDetails("password", "op", PdfEncryptionAlgorithm.RC4_128);
encryptionDetails.Permissions = PdfPermissions.DisallowAll;
saveOptions.EncryptionDetails = encryptionDetails;
doc.Save("E:\\Temp\\19.10.pdf", saveOptions);
关于您在第一点提到的问题…
The issues you have found earlier (filed as SLIDESNET-41487) have been fixed in this update .