Как сделать PDF защищенным паролем - PullRequest
0 голосов
/ 06 мая 2019

Я использую Летающую тарелку для создания PDF из XHTML.Рендеринг работает хорошо, но любая попытка защитить паролем документ PDF завершается неудачей с исключением.

Я использую код, рекомендованный Аджитом Соманом в https://stackoverflow.com/a/46024498/4517737. Копия кода показана ниже.Если вы откомментируете закомментированную строку, исключение выдается в строке " renderer.createPDF (os, false) ".

Исключением является " Исключение в потоке" Поток приложения JavaFX "java.lang.RuntimeException: java.lang.reflect.InvocationTargetException " (для приложения JavaFX).

Для простой Java Исключением является « Исключение в потоке» main.... Вызывается: java.lang.ClassNotFoundException: org.bouncycastle.asn1.ASN1Encodable"

final File outputFile = File.createTempFile(fileName, ".pdf");
FileOutputStream os = new FileOutputStream(outputFile);
PDFEncryption pdfEncryption  = new PDFEncryption();
String password= "password@123";
pdfEncryption.setUserPassword(password.getBytes());
ITextRenderer renderer = new ITextRenderer();

// the following line causes Exception
// renderer.setPDFEncryption(pdfEncryption);

renderer.setDocumentFromString(htmlContent);
renderer.layout();
renderer.createPDF(os, false);
renderer.finishPDF();

Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...