Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-4559

Parse error reading document from several threads

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0.15
    • Fix Version/s: None
    • Component/s: Rendering
    • Environment:
      Oracle Java 8 update125 on both Mac OS X and centos

      Description

      I got following error while running a simple parallel rendering code. However, the error doesn't happen when I change parallelStream to sequential (stream()). Interestingly, both methods will render exact same images. I saw a possible related ticket PDFBOX-3654. But seems that issue was fixed. I'd like to learn if we have some more bugs related?  

      Sample code:

      PDDocument document = PDDocument.load(new File(pdfFilename));
      List<PDDocument> pdfPages = new Splitter().split(document);
      pdfPages.parallelStream().forEach(page -> {
       try {
      
      PDFRenderer renderer = new PDFRenderer(page);
      renderer.renderImageWithDPI(0, 180, ImageType.RGB); // change dpi to your number
      } catch (IOException e) {
       System.out.println(e);
      }
      
      try {
       pdfPage.close();
      } catch (IOException ignored) {
      }
      });
      
      try {
       document.close();
      } catch (IOException ignored) {
      }
      

       

      Error log:

      ERROR [PDType1Font] Can't read the embedded Type1 font POAEND+Gotham-Book
      java.io.IOException: unexpected closing parenthesis
       at org.apache.fontbox.type1.Type1Lexer.readToken(Type1Lexer.java:123) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.fontbox.type1.Type1Lexer.nextToken(Type1Lexer.java:75) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.fontbox.type1.Type1Parser.readValue(Type1Parser.java:398) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.fontbox.type1.Type1Parser.readOtherSubrs(Type1Parser.java:707) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.fontbox.type1.Type1Parser.parseBinary(Type1Parser.java:550) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.fontbox.type1.Type1Parser.parse(Type1Parser.java:64) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.fontbox.type1.Type1Font.createWithSegments(Type1Font.java:85) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.pdmodel.font.PDType1Font.<init>(PDType1Font.java:262) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:62) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:146) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.contentstream.operator.text.SetFontAndSize.process(SetFontAndSize.java:60) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:869) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:505) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:479) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:152) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:265) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:314) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:243) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
       at org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:229) ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
      
      WARN [PDType1Font] Using fallback font Helvetica for POAEND+Gotham-Book
      

        Attachments

        1. test.pdf
          15.72 MB
          Jack

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              jiangyurong609 Jack
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated: