[
https://issues.apache.org/jira/browse/PDFBOX-4559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16863253#comment-16863253
]
Tilman Hausherr commented on PDFBOX-4559:
-----------------------------------------
The last commit fixes the cause of the stack trace below (one of the many
problems that sporadically happened with the test code):
{noformat}
java.io.IOException: Negative seek offset: -1
at
org.apache.pdfbox.io.ScratchFileBuffer.seek(ScratchFileBuffer.java:314)
at
org.apache.pdfbox.io.RandomAccessInputStream.restorePosition(RandomAccessInputStream.java:47)
at
org.apache.pdfbox.io.RandomAccessInputStream.read(RandomAccessInputStream.java:78)
at java.io.InputStream.read(InputStream.java:101)
at org.apache.pdfbox.filter.FlateFilter.decompress(FlateFilter.java:70)
at org.apache.pdfbox.filter.FlateFilter.decode(FlateFilter.java:50)
at org.apache.pdfbox.filter.Filter.decode(Filter.java:87)
at org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:84)
at org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:178)
at org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:166)
at
org.apache.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:230)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.<init>(PDTrueTypeFont.java:108)
{noformat}
position can only be -1 if {{input.read}} returns -1 and was 0 before. Such a
read fail happens at EOF time and shouldn't happen because {{input.isEOF()}}
was checked before. That is just a symptom of the concurrency problems but I'm
fixing it anyway.
> Parse error reading embedded Type1 font
> ---------------------------------------
>
> Key: PDFBOX-4559
> URL: https://issues.apache.org/jira/browse/PDFBOX-4559
> Project: PDFBox
> Issue Type: Bug
> Components: Documentation, Rendering
> Affects Versions: 2.0.15
> Environment: Oracle Java 8 update125 on both Mac OS X and centos
> Reporter: Jack
> Priority: Major
> Labels: type1, type1font
> Fix For: 2.0.16, 3.0.0 PDFBox
>
> Attachments: test.pdf
>
>
> I got following error while running a simple parallel rendering code.
> However, the error doesn't happen when I change parallelStream to sequential
> (stream()). Interestingly, both methods will render exact same images. I saw
> a possible related ticket PDFBOX-3654. But seems that issue was fixed. I'd
> like to learn if we have some more bugs related?
> *Sample code*:
> {code:java}
> PDDocument document = PDDocument.load(new File(pdfFilename));
> List<PDDocument> pdfPages = new Splitter().split(document);
> pdfPages.parallelStream().forEach(page -> {
> try {
> PDFRenderer renderer = new PDFRenderer(page);
> renderer.renderImageWithDPI(0, 180, ImageType.RGB); // change dpi to your
> number
> } catch (IOException e) {
> System.out.println(e);
> }
> try {
> pdfPage.close();
> } catch (IOException ignored) {
> }
> });
> try {
> document.close();
> } catch (IOException ignored) {
> }
> {code}
>
> *Error log*:
> {noformat}
> ERROR [PDType1Font] Can't read the embedded Type1 font POAEND+Gotham-Book
> java.io.IOException: unexpected closing parenthesis
> at org.apache.fontbox.type1.Type1Lexer.readToken(Type1Lexer.java:123)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.fontbox.type1.Type1Lexer.nextToken(Type1Lexer.java:75)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.fontbox.type1.Type1Parser.readValue(Type1Parser.java:398)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.fontbox.type1.Type1Parser.readOtherSubrs(Type1Parser.java:707)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.fontbox.type1.Type1Parser.parseBinary(Type1Parser.java:550)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.fontbox.type1.Type1Parser.parse(Type1Parser.java:64)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.fontbox.type1.Type1Font.createWithSegments(Type1Font.java:85)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.pdfbox.pdmodel.font.PDType1Font.<init>(PDType1Font.java:262)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at
> org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:62)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:146)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at
> org.apache.pdfbox.contentstream.operator.text.SetFontAndSize.process(SetFontAndSize.java:60)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:869)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:505)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:479)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:152)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:265)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:314)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:243)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> at
> org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:229)
> ~[pdfbox-2.0.15-snapshot108.jar:2.0.15-SNAPSHOT]
> WARN [PDType1Font] Using fallback font Helvetica for POAEND+Gotham-Book
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]