Java XFafLatener构造函数似乎执行System.exit(0)
我正在尝试使用XFAFLAtener(iText 5.4.5)展平XFA表单。我的代码与FillandFlatte示例几乎相同,在调用此方法之前,已成功加载LicenseKeyJava XFafLatener构造函数似乎执行System.exit(0),java,itext,Java,Itext,我正在尝试使用XFAFLAtener(iText 5.4.5)展平XFA表单。我的代码与FillandFlatte示例几乎相同,在调用此方法之前,已成功加载LicenseKey private void fillAndFlattenForm(File xmlFile, File inputPdf, File outputPdf) throws Exception { PdfReader inputPdfReader = null; PdfReader outputPdfReade
private void fillAndFlattenForm(File xmlFile, File inputPdf, File outputPdf) throws Exception {
PdfReader inputPdfReader = null;
PdfReader outputPdfReader = null;
PdfStamper stamper = null;
InputStream inputPdfStream = null;
InputStream xmlFileStream = null;
ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
OutputStream fileOutputStream = null;
try {
// fill the inputPdf using the XML data
inputPdfStream = new FileInputStream(inputPdf);
inputPdfReader = new PdfReader(inputPdfStream);
stamper = new PdfStamper(inputPdfReader, byteOutputStream);
AcroFields form = stamper.getAcroFields();
XfaForm xfa = form.getXfa();
xmlFileStream = new FileInputStream(xmlFile);
xfa.fillXfaForm(xmlFileStream);
stamper.close();
// the inputPDF has been filled and is in memory in the byteOutputStream; flatten it now
Document document = new Document();
fileOutputStream = new FileOutputStream(outputPdf);
PdfWriter writer = PdfWriter.getInstance(document, fileOutputStream);
XFAFlattener xfaf = new XFAFlattener(document, writer);
outputPdfReader = new PdfReader(byteOutputStream.toByteArray());
xfaf.flatten(outputPdfReader);
document.close();
} finally {
close(stamper);
IOUtil.close(xmlFileStream);
close(inputPdfReader);
IOUtil.close(inputPdfStream);
close(outputPdfReader);
IOUtil.close(byteOutputStream);
IOUtil.close(fileOutputStream);
}
}
我看到的是当我的代码到达这一行时
XFAFlattener xfaf = new XFAFlattener(document, writer);
它只是出口。没有引发异常,代码也不会在该点之后继续。此进程返回的错误代码为0
我已确认表格的填写正确无误
有什么想法可能是错误的,或者我可以做些什么来进一步诊断这个问题?提前谢谢