You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Andreas Lehmkühler (JIRA)" <ji...@apache.org> on 2010/02/07 17:02:27 UTC
[jira] Updated: (PDFBOX-610) Fonts should not be cached by
PDFStreamEngine
[ https://issues.apache.org/jira/browse/PDFBOX-610?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Lehmkühler updated PDFBOX-610:
--------------------------------------
Fix Version/s: (was: 0.8.0-incubator)
> Fonts should not be cached by PDFStreamEngine
> ---------------------------------------------
>
> Key: PDFBOX-610
> URL: https://issues.apache.org/jira/browse/PDFBOX-610
> Project: PDFBox
> Issue Type: Bug
> Components: Text extraction
> Affects Versions: 0.8.0-incubator
> Environment: Win or Linux
> Reporter: Peter Costello
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> org.apache.pdfbox.util.PDFStreamEngine
> Fonts are cached using variable 'private Map documentFontCache = new HashMap();'
> which is used in method 'processSubStream()' and the call 'sr.fonts = resources.getFonts(documentFontCache);
> The problem is that PDF documents can store a limited range of 'firstChar' and 'lastChar' (maybe just a space char), and then expand that range at a later point within the same page. When the font is cached, those updates are ignored.
> In particular, test 'http://www.encana.com/investor/financial/shareholder/pdfs/info-circular-french.pdf, pg 1'.
> Using font caching, the widths of the characters in the upper right corner of the page are reported as zero, and the text extraction and text merging is compromised.
> Without font caching, the widths are correct. There are other examples that cause the same problem.
> To fix the problem change the call in method 'processSubStream()' to:
> sr.fonts = resources.getFonts(null);
> There was some effort put into font caching. Unfortunately, it should not be used on unknown documents.
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.