您好,我使用了ownerPassword的加密方式,对编辑PDF进行了限制,但是我又不想限制PDF的打印功能,请问Aspose-pdf能满足以上需求吗,如果满足该如何实现?
您可以尝试使用下面的代码片段,并让我们知道它是否可以满足您的要求。
Document pdfDocument = new Document();
pdfDocument.Pages.Add();
Facades.PdfFileSecurity security = new Facades.PdfFileSecurity();
Facades.DocumentPrivilege privilege = Facades.DocumentPrivilege.ForbidAll;
privilege.AllowPrint = true;
security.BindPdf(pdfDocument);
security.SetPrivilege(privilege);
security.Save($"{dataDir}out.pdf");
您好,我使用的是Java语言,使用您的这段代码提示缺少class信息
当前我使用的SDK是aspose-word 23.6版本,当前的代码是
PdfSaveOptions saveOption = new PdfSaveOptions();
PdfEncryptionDetails pdfEncryptionDetails = new PdfEncryptionDetails(null, "123");
pdfEncryptionDetails.setPermissions(PdfPermissions.PRINTING);
saveOption.setEncryptionDetails(pdfEncryptionDetails);
但是效果是打印的时候需要我输入密码,想要的效果是编辑需要输入密码,但是打印不需要输入密码,请问给如何实现?
@songyassen 正如我所看到的,您提供的代码正是这样做的:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.write("Hello, World!!!");
PdfSaveOptions saveOption = new PdfSaveOptions();
PdfEncryptionDetails pdfEncryptionDetails = new PdfEncryptionDetails(null, "123");
pdfEncryptionDetails.setPermissions(PdfPermissions.PRINTING);
saveOption.setEncryptionDetails(pdfEncryptionDetails);
doc.save("C:\\Temp\\out.pdf", saveOption);
out.pdf (17.3 KB)
因此,当在未输入所有者密码的情况下打开文档时,允许打印: