首页 > 解决方案 > iText 4.2.0 - com.itextpdf.text.exceptions.InvalidPdfException: No message found for trailer.not.found

问题描述

I am trying to flatten PDF document which mostly has Digital Signatures in them. However, I am facing an exception with a particular PDF file. The PDFReader throws an exception :

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)

Below is my code segment:

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();
    }

}

标签: javapdfitext

解决方案


推荐阅读