Free Support Forum - aspose.com

請問關於word,excel,ppt,pdf 轉PDF的問題

您好:

我目前使用的各項Aspose.xxx for .NET 是18.11或是18.12 版的
需要將這四種類型格式的檔案轉為PDF,並加上密碼、禁止列印
呼叫的方式從文件中參考了此份文件:
https://apireference.aspose.com/net/words/aspose.words.saving/pdfsaveoptions/properties/encryptiondetails

目前遇到的問題條列如下:

  1. 各項產品的呼叫方式不同:
    word的PDF儲存選項是:Aspose.Words.Saving.PdfSaveOptions
    裡面有 PdfEncryptionDetails 的選項,可以加密、可以設定Permissions;
    excel的PDF儲存選項是:Aspose.Cells.PdfSaveOptions,沒有包含PdfEncryptionDetails 的參數設定;
    pdf的PDF儲存選項是:Aspose.Pdf.PdfSaveOptions,沒有包含PdfEncryptionDetails 的參數設定;
    ppt甚至沒有PdfSaveOptions

  2. 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

感謝您的回覆!
目前看來,
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的选项。

https://docs.aspose.com/display/slidesnet/Converting+Presentation+to+PDF#ConvertingPresentationtoPDF-ConvertingtoPasswordProtectedPDF

@AlanChang,

是的,您的理解是正确的。

@AlanChang,

是的,您的理解是正确的。 如我之前的文章所述,您还需要指定“所有者密码”,以便可以禁用“打印”选项。 请使用我以前的文章中的示例代码: