v gangolli created PDFBOX-2293:
----------------------------------

             Summary: NonSequential parser gives an error
                 Key: PDFBOX-2293
                 URL: https://issues.apache.org/jira/browse/PDFBOX-2293
             Project: PDFBox
          Issue Type: Bug
    Affects Versions: 2.0.0
         Environment: Linux, JDK 1.6
            Reporter: v gangolli


I get the following error when using the sequential parse with Pdfbox 1.8.5.
expected='endstream' actual='' 
org.apache.pdfbox.io.PushBackInputStream@eb43bd5: java.io.IOException:  at 
org.apache.pdfbox.pdfparser.BaseParser.parseCOSStream(BaseParser.java:628) 
[pdfbox-1.8.5.jar:]
        at 
org.apache.pdfbox.pdfparser.PDFParser.parseObject(PDFParser.java:605) 
[pdfbox-1.8.5.jar:]
        at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:194) 
[pdfbox-1.8.5.jar:]
        at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1220) 
[pdfbox-1.8.5.jar:]
        at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1187) 
[pdfbox-1.8.5.jar:]
        at 
org.apache.pdfbox.util.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:236)
 [pdfbox-1.8.5.jar:]
        at 
org.apache.pdfbox.util.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:185)
 [pdfbox-1.8.5.jar:]

After looking at some of the fixed issues reported for similar problem(s), I 
have tried using PDFBox 2.0.0 built from the latest repository code and the 
nonsequential parser for the pdf processing. However, the file created as 
randomAccessFile  seems to  get damaged (cannot be opened in Acrobat Reader 
after the run) when I use PDFbox 2.0.0  for my processing. 
I am unable to attach a sample file because of privacy concerns for the 
content. I also get an error and am not able to generate the merged output. 
The code snippet is as follows-
for (String fName : fileList) {
        pd = null;
        File pdFile = new File(fName);
        fNameStr = fName.substring(0, fName.lastIndexOf('.'))
                                        + "_new.pdf";

        InputStream is = new FileInputStream(pdFile);
        RandomAccessFile raf = new RandomAccessFile(pdFileNew, "rws");
                        pd = PDDocument.loadNonSeq(is, raf );
        pd.getDocumentCatalog();
        pd.save(fNameStr);
        pd.close();
        if (is != null) {
           is.close();
        }
        if(raf != null) {
          raf.close();
        }

        ut.addSource(fNameStr);
}
FileOutputStream fos = new FileOutputStream(outFileName);
ut.setDestinationStream(fos);
ut.setIgnoreAcroFormErrors(true);
ut.mergeDocuments();
fos.close();

Thank You.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to