[
https://issues.apache.org/jira/browse/PDFBOX-1907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13904068#comment-13904068
]
Jim Kay commented on PDFBOX-1907:
---------------------------------
The NonSequentialPDFParser and RandomAccessFile now parse the original problem
file OK (1.84 and 1.8.5-snapshot), as shown in code below.
Presumably this approach will be slower? Or is the RandomAccessFile only used
if it is needed?
How can I interface this with TIKA? Or is this only possible if the TIKA folks
agree to a change of approach?
TemporaryResources tmp = new TemporaryResources();
RandomAccess scratchFile = new
RandomAccessFile(tmp.createTemporaryFile(), "rw");
parser = new NonSequentialPDFParser(file, scratchFile);
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
parsedText = pdfStripper.getText(pdDoc);
> Out of memory - heap space - COSDocument
> ----------------------------------------
>
> Key: PDFBOX-1907
> URL: https://issues.apache.org/jira/browse/PDFBOX-1907
> Project: PDFBox
> Issue Type: Bug
> Components: Parsing
> Affects Versions: 1.8.4
> Environment: windows xp 64
> jdk 8 32 bit
> Reporter: Jim Kay
> Labels: regression
> Attachments: 8283.zip.001, 8283.zip.001, 8283.zip.002, 8283.zip.002,
> 8283.zip.003, 8283.zip.003
>
>
> Possibly related to PDFBOX-1777.
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at java.util.AbstractCollection.toArray(AbstractCollection.java:136)
> at java.util.ArrayList.<init>(ArrayList.java:168)
> at org.apache.pdfbox.cos.COSDocument.getObjects(COSDocument.java:518)
> at org.apache.pdfbox.cos.COSDocument.getObjects(COSDocument.java:518)
> at org.apache.pdfbox.cos.COSDocument.close(COSDocument.java:575)
> at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:254)
> at techref.Testpdfbox.main(Testpdfbox.java:36)
> The heap space is set to -Xmx1640m
> The pdf docoument is parsed OK with version 1.8.3 but fails with 1.8.4
> The large pdf document has the following attributes.
> pdDoc.getCurrentAccessPermission.canExtractContent = true
> pdDoc.getCurrentAccessPermission.canExtractForAccessibility = true
> pdDoc.getNumberOfPages = 228
> pdDoc.getDocumentCatalog.getLanguage = null
> pdDoc.getDocumentCatalog.getPageLayout = SinglePage
> pdDoc.getDocumentCatalog.getPageMode = UseNone
> pdDoc.getDocumentCatalog.getVersion = null
> Page Count=228
> Title=Microsoft Word - FEA.doc
> Author=null
> Subject=null
> Keywords=null
> Creator=Windows NT 4.0
> Producer=Acrobat Distiller 4.05 for Windows
> Creation Date=Fri Jun 29 15:29:59 BST 2001
> Modification Date=Mon Jul 02 15:41:18 BST 2001
> Trapped=null
> Dictionary=COSDictionary{(COSName{CreationDate}:COSString{D:20010629142959})
> (COSName{Producer}:COSString{Acrobat Distiller 4.05 for Windows})
> (COSName{Creator}:COSString{Windows NT 4.0})
> (COSName{Title}:COSString{Microsoft Word - FEA.doc})
> (COSName{ModDate}:COSString{D:20010702164118+02'00'}) }
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)