【问题标题】:Issue when updgrading itext version from 2.x to 5.5.13将 itext 版本从 2.x 升级到 5.5.13 时出现问题
【发布时间】:2020-01-26 00:59:47
【问题描述】:

我正在使用 itext 5.5.13。我有一个现有的 pdf 文件,我正在尝试使用 java 将一些数据添加到 pdf 文件中的 acrofields。这是我的代码。当我使用 itext 2.x 但不适用于 5.5.13 时,这非常有效。在 pdfStamper.close() 之后,代码的其余部分没有被执行,它直接进入调用此方法的代码的 finally 块。

private byte[] get1099PdfForm(RI1099DataDTO ri1099DataDTO) throws Exception {
log.debug("Enter generateForm()");
byte[] imageData = null;
PdfReader pdfReader = null;
PdfStamper pdfStamper = null;
File newFile = null;
try {
//New Pdf file
int randomNum = new Double((Math.random() * 1000000)).intValue();
newFile = File.createTempFile(String.valueOf (randomNum), ".pdf");
newFile.deleteOnExit();

//String year = DateUtils.toString(new Date (), "yyyy");

//Read existing pdf template
pdfReader = new PdfReader(ri1099DataDTO.getTax_Year() + "_" + _templateName);

//Create instance of Pdf Stampler
pdfStamper = new PdfStamper(pdfReader, new FileOutputStream(newFile, false));

//Get acro fields
AcroFields pdfFormFields = pdfStamper.getAcroFields();

//Map form fields
this.mapFormFields(pdfFormFields, ri1099DataDTO);

//Set form flattening to true
pdfStamper.setFormFlattening(true);

// close the pdf
pdfStamper.close();
 //Return stream
imageData = new byte[(int) newFile.length()];
@SuppressWarnings("resource")
FileInputStream fileInputStream = new FileInputStream(newFile);
fileInputStream.read(imageData);
} catch (Exception e) {
log.error("Error occured while generating form for job <TaxYear=" + ri1099DataDTO.getTax_Year() + "/Compay=" + ri1099DataDTO.getCompany() + "/TaxID", e);
throw e;
}
log.debug("Exit generateForm()");
return imageData;
}

【问题讨论】:

  • “在 pdfStamper.close() 之后,剩下的部分代码没有被执行,它直接进入调用该方法的代码的 finally 块。” - 听起来像是抛出了一些异常或错误。日志中有东西吗?否则尝试捕捉Throwable 而不是Exception
  • 最终阻塞了什么?我没有看到。通常它看起来像这样try{...}catch(Exception e){...}finally{...}

标签: itext


【解决方案1】:

通过将 xercers jar 添加到我的 pom.xml 来解决我的问题

<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.0.2</version>
<scope>provided</scope>
</dependency>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    相关资源
    最近更新 更多