[jira] [Comment Edited] (PDFBOX-4559) Parse error reading embedded Type1 font

2019-06-13 Thread Jack (JIRA)


[ 
https://issues.apache.org/jira/browse/PDFBOX-4559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16863274#comment-16863274
 ] 

Jack edited comment on PDFBOX-4559 at 6/13/19 4:47 PM:
---

[~tilman] cool, thanks for taking care of this, what'll be the new version?


was (Author: jiangyurong609):
[~tilman] cool, what'll be the new version?

> 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 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.(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: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org



[jira] [Comment Edited] (PDFBOX-4559) Parse error reading embedded Type1 font

2019-06-06 Thread Jack (JIRA)


[ 
https://issues.apache.org/jira/browse/PDFBOX-4559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16857895#comment-16857895
 ] 

Jack edited comment on PDFBOX-4559 at 6/6/19 6:24 PM:
--

[~tilman] I just realized this code always render the first page


was (Author: jiangyurong609):
[~tilman] I just realized this code always render the first page. 
{code:java}
PDFRenderer renderer = new PDFRenderer(document);
Stream stream = StreamSupport.stream(document.getPages().spliterator(), 
true); // "true" makes it parallelstream.forEach(page ->
{ try

{ renderer.renderImageWithDPI(0, 180, ImageType.RGB); // change dpi to your 
number }

catch (IOException e)

{ System.err.println("error" + page); e.printStackTrace(); }

});{code}
 

> 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 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.(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)
>  

[jira] [Comment Edited] (PDFBOX-4559) Parse error reading embedded Type1 font

2019-06-06 Thread Jack (JIRA)


[ 
https://issues.apache.org/jira/browse/PDFBOX-4559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16857895#comment-16857895
 ] 

Jack edited comment on PDFBOX-4559 at 6/6/19 5:07 PM:
--

[~tilman] I just realized this code always render the first page. 
{code:java}
PDFRenderer renderer = new PDFRenderer(document);
Stream stream = StreamSupport.stream(document.getPages().spliterator(), 
true); // "true" makes it parallelstream.forEach(page ->
{ try

{ renderer.renderImageWithDPI(0, 180, ImageType.RGB); // change dpi to your 
number }

catch (IOException e)

{ System.err.println("error" + page); e.printStackTrace(); }

});{code}
 


was (Author: jiangyurong609):
[~tilman] I just realized this code always render the first page. Any 

{code:java}
 PDFRenderer renderer = new PDFRenderer(document);
 Stream stream = 
StreamSupport.stream(document.getPages().spliterator(), true); // "true" makes 
it parallelstream.forEach(page ->
 { try

{ renderer.renderImageWithDPI(0, 180, ImageType.RGB); // change dpi to your 
number }

catch (IOException e)

{ System.err.println("error" + page); e.printStackTrace(); }

});

> 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 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.(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) 
> 

[jira] [Comment Edited] (PDFBOX-4559) Parse error reading embedded Type1 font

2019-06-06 Thread Jack (JIRA)


[ 
https://issues.apache.org/jira/browse/PDFBOX-4559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16857895#comment-16857895
 ] 

Jack edited comment on PDFBOX-4559 at 6/6/19 5:07 PM:
--

[~tilman] I just realized this code always render the first page. Any 

{code:java}
 PDFRenderer renderer = new PDFRenderer(document);
 Stream stream = 
StreamSupport.stream(document.getPages().spliterator(), true); // "true" makes 
it parallelstream.forEach(page ->
 { try

{ renderer.renderImageWithDPI(0, 180, ImageType.RGB); // change dpi to your 
number }

catch (IOException e)

{ System.err.println("error" + page); e.printStackTrace(); }

});


was (Author: jiangyurong609):
[~tilman] I just realized this code always render the first page.
PDFRenderer renderer = new PDFRenderer(document);
Stream stream = StreamSupport.stream(document.getPages().spliterator(), 
true); // "true" makes it parallelstream.forEach(page ->
{try{
renderer.renderImageWithDPI(0, 180, ImageType.RGB); // change dpi to 
your number}catch (IOException e)
{System.err.println("error" + page);
e.printStackTrace();
}
});

> 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 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.(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) 
> 

[jira] [Comment Edited] (PDFBOX-4559) Parse error reading embedded Type1 font

2019-06-05 Thread Tilman Hausherr (JIRA)


[ 
https://issues.apache.org/jira/browse/PDFBOX-4559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16856942#comment-16856942
 ] 

Tilman Hausherr edited comment on PDFBOX-4559 at 6/5/19 6:53 PM:
-

[https://pdfbox.apache.org/2.0/faq.html#is-pdfbox-thread-safe]
 "PDFBox has experimental support for read-only operations on the same 
PDDocument from different threads."

I wonder if it is a problem that different documents share the same memory 
scratch "file" object.

You don't have to use the splitter:
{code:java}
PDFRenderer renderer = new PDFRenderer(document);
Stream stream = StreamSupport.stream(document.getPages().spliterator(), 
true); // "true" makes it parallel
stream.forEach(page ->
{
try
{
renderer.renderImageWithDPI(0, 180, ImageType.RGB); // change dpi to 
your number
}
catch (IOException e)
{
System.err.println("error" + page);
e.printStackTrace();
}
});
{code}
I didn't get the exception with that one, and it seemed faster too: 3 seconds 
instead of 19 seconds.


was (Author: tilman):
https://pdfbox.apache.org/2.0/faq.html#is-pdfbox-thread-safe
"PDFBox has experimental support for read-only operations on the same 
PDDocument from different threads."

I wonder if it is a problem that different documents share the same memory 
scratch "file" object.

You don't have to use the splitter:
{code}
PDFRenderer renderer = new PDFRenderer(document);
Stream stream = StreamSupport.stream(document.getPages().spliterator(), 
true);
stream.forEach(page ->
{
try
{
renderer.renderImageWithDPI(0, 180, ImageType.RGB); // change dpi to 
your number
}
catch (IOException e)
{
System.err.println("error" + page);
e.printStackTrace();
}
});
{code}
I didn't get the exception with that one, and it seemed faster too: 3 seconds 
instead of 19 seconds.


> Parse error reading embedded Type1 font
> ---
>
> Key: PDFBOX-4559
> URL: https://issues.apache.org/jira/browse/PDFBOX-4559
> Project: PDFBox
>  Issue Type: Bug
>  Components: 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
> 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 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.(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 
> 

[jira] [Comment Edited] (PDFBOX-4559) Parse error reading embedded Type1 font

2019-06-05 Thread Jack (JIRA)


[ 
https://issues.apache.org/jira/browse/PDFBOX-4559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16856798#comment-16856798
 ] 

Jack edited comment on PDFBOX-4559 at 6/5/19 3:45 PM:
--

[~tilman] I didn't find a way to create parallel stream on spliterator(), do 
you have any suggestions? I tried both code below, I have another question, 
from [https://pdfbox.apache.org/2.0/migration.html], I found with PDPage, you 
have to pass the page index to render, how do you do that with parallel stream? 
Thanks so much
{code:java}
PDDocument document = PDDocument.load(new File(pdfFilename));
document.getPages().spliterator().forEachRemaining(page -> processPDF(page, 
pdfRenderer, path + UUID.randomUUID().toString() + ".png"));

{code}
{code:java}
for (PDPage page : document.getPages()) {
  processPDF(page, pdfRenderer, path + UUID.randomUUID().toString() + ".png");
}{code}


was (Author: jiangyurong609):
[~tilman] interesting thing, I tried both code below, they only output exact 
same image, I attached it in the attachment. Is this a bug, or I may missed 
something? Meanwhile, I didn't find a way to create parallel stream on 
spliterator(), do you have any suggestions? Thanks
{code:java}
PDDocument document = PDDocument.load(new File(pdfFilename));
document.getPages().spliterator().forEachRemaining(page -> processPDF(page, 
pdfRenderer, path + UUID.randomUUID().toString() + ".png"));

{code}
{code:java}
for (PDPage page : document.getPages()) {
  processPDF(page, pdfRenderer, path + UUID.randomUUID().toString() + ".png");
}{code}

> Parse error reading embedded Type1 font
> ---
>
> Key: PDFBOX-4559
> URL: https://issues.apache.org/jira/browse/PDFBOX-4559
> Project: PDFBox
>  Issue Type: Bug
>  Components: 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
> Attachments: 1ad65a37-3b3a-4e26-a40c-f2d90026a5bd.png, 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|https://issues.apache.org/jira/browse/PDFBOX-3654]. But seems 
> that issue was fixed. I'd like to learn if we have some more bugs related?  
> *Sample code*:
> {code}
> PDDocument document = PDDocument.load(new File(pdfFilename));
> List 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.(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 
>