我希望有人可以帮助我解决我在使用 Aspose.Pdf 库生成带有超链接的受密码保护的 PDF 时遇到的问题。问题是密码保护似乎把超链接搞砸了……</p>
以下代码工作正常(没有任何密码保护):
// create new PDF doc with hyperlink in
Aspose.Pdf.Document doc = new Aspose.Pdf.Document();
Aspose.Pdf.Page page = doc.Pages.Add();
Aspose.Pdf.Text.TextFragment textFragment = new Aspose.Pdf.Text.TextFragment("hyperlink test");
textFragment.Hyperlink = new Aspose.Pdf.WebHyperlink("https://www.google.co.uk/");
page.Paragraphs.Add(textFragment);
// password protect the PDF
// Aspose.Pdf.Permissions permission = (Aspose.Pdf.Permissions.PrintingQuality | Aspose.Pdf.Permissions.PrintDocument | Aspose.Pdf.Permissions.ModifyTextAnnotations | Aspose.Pdf.Permissions.FillForm | Aspose.Pdf.Permissions.ModifyContent | Aspose.Pdf.Permissions.ExtractContent | Aspose.Pdf.Permissions.AssembleDocument);
// doc.Encrypt("pass1", "pass2", permission, Aspose.Pdf.CryptoAlgorithm.RC4x128);
// save the doc
doc.Save("C:\\temp\\PDFHyperlink\\test.pdf");
生成的 PDF 很好,超链接成功打开浏览器并导航到谷歌
但是,如果您取消注释密码保护 PDF 的行,超链接就会搞砸
// create new PDF doc with hyperlink in
Aspose.Pdf.Document doc = new Aspose.Pdf.Document();
Aspose.Pdf.Page page = doc.Pages.Add();
Aspose.Pdf.Text.TextFragment textFragment = new Aspose.Pdf.Text.TextFragment("hyperlink test");
textFragment.Hyperlink = new Aspose.Pdf.WebHyperlink("https://www.google.co.uk/");
page.Paragraphs.Add(textFragment);
// password protect the PDF
Aspose.Pdf.Permissions permission = (Aspose.Pdf.Permissions.PrintingQuality | Aspose.Pdf.Permissions.PrintDocument | Aspose.Pdf.Permissions.ModifyTextAnnotations | Aspose.Pdf.Permissions.FillForm | Aspose.Pdf.Permissions.ModifyContent | Aspose.Pdf.Permissions.ExtractContent | Aspose.Pdf.Permissions.AssembleDocument);
doc.Encrypt("pass1", "pass2", permission, Aspose.Pdf.CryptoAlgorithm.RC4x128);
// save the doc
doc.Save("C:\\temp\\PDFHyperlink\\test.pdf");
…当点击超链接时,您会收到以下消息:
…如果你点击Allow,什么都不会发生!
我用密码保护 PDF 的方式有问题吗?任何帮助,将不胜感激。