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

text areas not properly being sorted because of page rotation

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.8.0-incubator
    • Fix Version/s: 0.8.0-incubator
    • Component/s: Text extraction
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: