Проблема при обновлении версии itext с 2.x до 5.5.13 - PullRequest
0 голосов
/ 25 сентября 2019

Я использую itext 5.5.13.У меня есть существующий файл PDF, и я пытаюсь добавить некоторые данные в поля в файле PDF, используя Java.Вот мой кодЭто работает отлично, когда я использую 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;
}

1 Ответ

0 голосов
/ 26 сентября 2019

Исправил мою проблему, удалив ксерсер jar, добавив это в мой pom.xml

<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.0.2</version>
<scope>provided</scope>
</dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...