ICEpdf
  1. ICEpdf
  2. PDF-459

Cannot open certain pdf files with ICEpdf 4.3.2 and 4.3.3 release

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.3.2, 4.3.3
    • Fix Version/s: 4.3.4
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      Tomcat 6.0

      Description

      I am trying to use icepdf-core (4.3.2 and 4.3.3 release) to render pdfs.
      These pdf files are generated using Birt.and I am unable to open these files using ICEpdf.

      Also, I could not open such pdfs with ICEpdf demo application at http://www.icesoft.org/demos/icepdf-demos.jsf using the JNLP version - http://res.icesoft.org/demo/jws/icepdf.jnlp.
      Sample PDF file is attached. Sample causing issue.pdf

        Issue Links

          Activity

          Yogesh Manware created issue -
          Yogesh Manware made changes -
          Field Original Value New Value
          Link This issue depends on PDF-422 [ PDF-422 ]
          Yogesh Manware made changes -
          Attachment Sample causing issue.pdf [ 14774 ]
          Hide
          Yogesh Manware added a comment -

          PDF-422 does not resolve this issue.

          Show
          Yogesh Manware added a comment - PDF-422 does not resolve this issue.
          Patrick Corless made changes -
          Salesforce Case []
          Fix Version/s 4.3.4 [ 10341 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #30564 Tue Aug 21 11:04:33 MDT 2012 patrick.corless PDF-459 updated teh code that handles the Tm token with regards to text blocks, mainly updated textBlockBase matrix when a cm is found in a text block.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/ContentParser.java
          Hide
          Patrick Corless added a comment -

          Interesting corner case when parsing the content stream. The PDF has a text block setup as follows:

          BT
          /F1 10 Tf
          1 0 0 1 18.3 41.95 cm
          1 0 0 1 0 0 Tm
          (.......)Tj
          ET

          Normally a 'cm' is not allowed in a text block but already have support for this case in the content parser. This case is slightly different because of the Tm that immediately follows the cm effectively muting the the cm matrix. I altered the content parser so that we update the graphic state as per the rules of cm regardless of being in a text block or not. The fix is actually in the fact that we updated the textBlockBase matrix which is normally only set when the BT is encountered.

          Any ways long story short the fix appears to address the issue but is fairly high risk change. Closing but may have to reopen if QA blows up.

          Show
          Patrick Corless added a comment - Interesting corner case when parsing the content stream. The PDF has a text block setup as follows: BT /F1 10 Tf 1 0 0 1 18.3 41.95 cm 1 0 0 1 0 0 Tm (.......)Tj ET Normally a 'cm' is not allowed in a text block but already have support for this case in the content parser. This case is slightly different because of the Tm that immediately follows the cm effectively muting the the cm matrix. I altered the content parser so that we update the graphic state as per the rules of cm regardless of being in a text block or not. The fix is actually in the fact that we updated the textBlockBase matrix which is normally only set when the BT is encountered. Any ways long story short the fix appears to address the issue but is fairly high risk change. Closing but may have to reopen if QA blows up.
          Patrick Corless made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #30770 Mon Sep 10 10:42:34 MDT 2012 patrick.corless PDF-459 updated the code that handles the Tm token with regards to text blocks, mainly updated textBlockBase matrix when a cm is found in a text block.
          Files Changed
          Commit graph MODIFY /icepdf/branches/icepdf-4.3.3/icepdf
          Commit graph MODIFY /icepdf/branches/icepdf-4.3.3/icepdf/core/src/org/icepdf/core/util/ContentParser.java
          Patrick Corless made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Patrick Corless
              Reporter:
              Yogesh Manware
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: