我需要在JXBrowser上打开PDF并让用户修改PDF上的值,保存后,我应该能够读取修改后的值并保存到数据库。
我的问题是,我无法从pdf中获取修改后的值,它始终从pdf(acroForm.getField(field name);)发回原始值。如果有任何其他方法可以帮助我解决这个问题。
我使用的是pdfbox 2.0.1
感谢您的帮助。
谢谢, 普拉萨德
UPDATE1: 添加我在我的应用程序中使用的示例代码
PDDocument PDFDoc = PDDocument.load(complaintform.pdf);
LoggerProvider.setLevel(Level.OFF);
Base64Encoder b64 = new Base64Encoder();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PDFDoc.save(baos);
String pdfHTML = "<HTML><BODY style=\"width:100%; height:100%\" > <embed style=\"width:100%; height:100%\" src=\"data:application/pdf;base64,"+b64.encode(baos.toByteArray())+"\"type=\"application/pdf\"></BODY></HTML>";
Browser browser = new Browser();
BrowserView browserView = new BrowserView(browser);
this.add(browserView, BorderLayout.CENTER);
browser.loadHTML(pdfHTML);
save()
{
PDDocumentCatalog docCatalog = PDFDoc.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
PDField field = acroForm.getField("last");
String modifiedValue = field.getValueAsString();
}