Я надеюсь, что кто-то может помочь мне с проблемой, с которой я столкнулся, создавая защищенный паролем PDF с гиперссылками с библиотекой Aspose.Pdf. Проблема заключается в том, что защита паролем кажется ввернуть гиперссылкой вверх ...Создание защищенного паролем PDF с гиперссылками с библиотекой Aspose.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");
PDF, который генерируется в порядке с гиперссылкой успешно как открыть браузер и перейдите на Google
Однако, если вы раскомментировать строки, пароль защиты 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");
... и вы получите следующее сообщение при гиперссылке:
... и если вы нажмете Разрешить, ничего не происходит!
Есть ли проблема с тем, как я защищаю пароль PDF? Любая помощь будет оценена по достоинству.