2016-07-16 6 views
0

Я надеюсь, что кто-то может помочь мне с проблемой, с которой я столкнулся, создавая защищенный паролем 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

enter image description here

Однако, если вы раскомментировать строки, пароль защиты 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"); 

enter image description here

... и вы получите следующее сообщение при гиперссылке:

enter image description here

... и если вы нажмете Разрешить, ничего не происходит!

Есть ли проблема с тем, как я защищаю пароль PDF? Любая помощь будет оценена по достоинству.

ответ

0

Я протестировал сценарий и сумел воспроизвести вышеуказанную проблему. Для исправления я зарегистрировал его как PDFNET-41159 в нашей системе отслеживания проблем. Мы дополнительно рассмотрим детали этой проблемы и будем держать вас в курсе состояния исправления. Пожалуйста, будьте терпеливы и дождитесь разрешения.

Меня зовут Найер, и я являюсь евангелистом-разработчиком в Aspose.