我使用PDFBox将一些值添加到已创建的表单pdf中。我可以正确添加值并将其保存为新的pdf罚款。但是,我的目标是返回二进制数据,以便另一个程序可以处理PDF的制作。使用下面的代码,它似乎只发送值的二进制数据而不是原始的pdf。事实上,我发送数据的程序会生成新的pdf,但它只包含添加的值,而不包含原始pdf的其他部分。如何使用新值发送pdf的二进制文件,而不仅仅是包含新值的图层。
File pdfer = new File("Form.pdf");
PDDocument documentnew;
try {
documentnew = PDDocument.load(pdfer);
PDDocumentCatalog docCatalog = documentnew.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
List<PDField> fieldList = acroForm.getFields();
String[] fieldArray = new String[fieldList.size()];
//Fill fields with information.
ByteArrayOutputStream out = new ByteArrayOutputStream();
documentnew.save(out);
System.out.println(out.toString());
documentnew.close();
}