[ 
https://issues.apache.org/jira/browse/PDFBOX-600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mel Martinez updated PDFBOX-600:
--------------------------------

    Attachment: PDFTextStripper.java

flips the conditional expression component order in the within() method to 
speed up the test on left-to-right text.


> PDFBox performance issue:  PDFTextStripper performance tweak
> ------------------------------------------------------------
>
>                 Key: PDFBOX-600
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-600
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: Text extraction
>    Affects Versions: 0.8.0-incubator
>         Environment: All
>            Reporter: Mel Martinez
>         Attachments: PDFTextStripper.java
>
>
> During text extraction, the PDFTextStripper needs to calculate textposition 
> proximities in order to determine if text elements are overlapping either 
> vertically or horizontally.
> As part of this, the PDFTextStripper.within(float first, float second, float 
> variance) method is used.
> The current (0.8.0) version of this method uses the following test:   second 
> > first - variance && second < first + variance
> This is accurate, but slower in my test documents than if you flip the test 
> order:        second < first + variance && second > first - variance
> This is because the second test fails out faster on left-to-right text.   I 
> believe that should be the default case.
> Please change the PDFTextStripper.within() method to use the second form of 
> the test.  I.E. to:
>     private boolean within( float first, float second, float variance )
>     {
>         return second < first + variance && second > first - variance;
>     }
> Thanks!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to