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

text areas not properly being sorted because of page rotation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.8.0-incubator
    • 0.8.0-incubator
    • Text extraction
    • None

    Description

      When PDFTextStripper is set to sort the text before outputting, the sorting is not correct if a page rotation exists. The reason is because both TextPositionComparator and PDFStreamEngine take the rotation into account. So, the rotation is applied twice by the time the comparison is done in TextPositionComparator.

      Also, it seems that the rotation code in PDFStreamEngine is not consistent. I verified the code for 0 and 90 degrees works, but the 180 and 270 situations do not seem consistent with the goal of adjusting the X and Y values so that 0,0 is in the upper left, which is what the 0 and 90 code does. I do not have examples of 180 and 270 to test with. There are no comments in this section, so I have been guessing about its purpose.

      The attached patches:

      • Remove the rotation from TextPositionComparator
      • Adds comments and makes changes to the 180 and 270 situations to make it consistent with 0 and 90.

      Attachments

        1. text-rotation-081117-take2.zip
          32 kB
          Brian Carrier
        2. text-rotation-081117.zip
          18 kB
          Brian Carrier
        3. rotation.pdf
          6 kB
          Brian Carrier

        Issue Links

          Activity

            People

              jukkaz Jukka Zitting
              carrier Brian Carrier
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: