Я пытаюсь сгладить документ PDF, в котором в основном есть цифровые подписи. Тем не менее, я сталкиваюсь с исключением с конкретным файлом PDF. PDFReader вызывает исключение:
com.itextpdf.text.exceptions.InvalidPdfException: No message found for trailer.not.found
at com.itextpdf.text.pdf.PdfReader.rebuildXref(Unknown Source)
at com.itextpdf.text.pdf.PdfReader.readPdf(Unknown Source)
at com.itextpdf.text.pdf.PdfReader.<init>(Unknown Source)
at com.itextpdf.text.pdf.PdfReader.<init>(Unknown Source)
Ниже мой сегмент кода:
public static void newFlatten() {
System.out.println("Started new flattening process :: " + new Date().getTime());
PdfReader reader;
boolean bRet = false;
try {
reader = new PdfReader(SRC); // Place where i am getting exception
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(DEST));
AcroFields form = stamper.getAcroFields();
Set<String> fieldKeys = form.getFields().keySet();
/*for (String fieldKey : fieldKeys) {
form.setField(fieldKey, "X");
}*/
stamper.setFormFlattening(true);
stamper.close();
reader.close();
System.out.println("Stop new flattening process :: " + new Date().getTime());
System.out.println("Destination FIle :: " + DEST);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}