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

text areas not properly being sorted because of page rotation


    • 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:


      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.


        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



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


                • Created: