pdfbox 2.0 xfa заполните поле с помощью Java
Мне удалось изменить документ XML, полученный с помощью:
PDDocumentCatalog docCatalog = _pdfDocument.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
PDXFAResource xfa = acroForm.getXFA();
org.w3c.dom.Document documentXML = xfa.getDocument();
Но когда я подхожу к моменту создания экземпляра COSBase и сопоставления в нем XML-документа, что-то идет не так. Я использую следующую команду, которую я нашел в Интернете:
COSStream cosout = new COSStream(new ScratchFile(new File("/Users/lgraglia/Desktop/")));
TransformerFactory.newInstance().newTransformer().transform(new DOMSource(documentXML), new StreamResult(cosout.createUnfilteredStream()));
или же:
StringWriter writer = new StringWriter();
TransformerFactory.newInstance().newTransformer().transform(new DOMSource(documentXML), new StreamResult(writer));
COSString aaa = new COSString(writer.toString());
Но в обоих случаях сгенерированный PDXFAResource имеет проблему, и результирующий файл PDF поврежден. Можете ли вы помочь мне с этим вопросом? Спасибо!