Я работаю над подписью pdf-документа, используя Itext в Java.Подпишите документ PDF и получите pdf как байты или поток
он отлично работает, но могу ли я подписать PDF-документ без сохранения файла?
вот часть кода:
FileOutputStream os = (FileOutputStream) readWriteFiles(2);
System.out.println("FileOutputStream created");
if (os == null) {
System.out.println("Operation canceled by the user. He chose to not overwrite existing file.");
return;
}
PdfStamper stamper = PdfStamper.createSignature(reader, os, '\0', null, true);
// PdfStamper stamper = PdfStamper.createSignature;
System.out.println("stamper created");
/* Creating the appearance */
PdfSignatureAppearance appearance = stamper.getSignatureAppearance();
appearance.setReason(reason);
appearance.setLocation(location);
/* Creating the signature */
ExternalDigest digest = new BouncyCastleDigest();
ExternalSignature signature =
new PrivateKeySignature(pk, digestAlgorithm, provider);
System.out.println(signature.toString() + "\n\n\n" + appearance.toString());
MakeSignature.signDetached(appearance, digest, signature, chain,
null, null, null, 0, subfilter);
ОС включают в себя путь выходного файла PDF. , и когда я пытаюсь поставить os как null, он не подписывался.
Вопрос: Как подписать PDF-файл без сохранения выходного файла pdf?
и как я могу получить PDF в виде байтов или потоков, чтобы использовать его в javascript (это апплет)?
* Когда я пытаюсь поставить os как null, он не подписывался * - ну, если вы не поставляете выходной поток или позицию временного файла (другой 'null', в вашем вызове), как вы ожидаете, что iText вернет вам подписанный файл? – mkl
@mkl Вы правы. – Yassering