[ https://issues.apache.org/jira/browse/PDFBOX-6008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17952727#comment-17952727 ]
Daniel Persson commented on PDFBOX-6008: ---------------------------------------- Hi Tilman Thank you for quick resolution. The improvements are awesome. Ran it locally with our tooling and the file could be run in a second or two. Also ran through our full test set of 50k+ pages with out tooling and could not find any regressions. This seems like a great improvement and really looking forward to the next release. Currently we see one of these files at most one time a month but it has a big impact and grinds the process to an halt. Best regards Daniel > PDF takes an hour to render > --------------------------- > > Key: PDFBOX-6008 > URL: https://issues.apache.org/jira/browse/PDFBOX-6008 > Project: PDFBox > Issue Type: Bug > Components: Rendering > Affects Versions: 2.0.34, 3.0.5 PDFBox > Reporter: Daniel Persson > Assignee: Tilman Hausherr > Priority: Major > Labels: cache, optimization, performance > Fix For: 2.0.35, 3.0.6 PDFBox, 4.0.0 > > Attachments: 72641_585_1_114077_6.pdf > > > This PDF seems to have a lot of small images and other objects, not sure if > they are even in the current clipping area. > {code:java} > danielp@morgoth ~/pdfwork/fel $ time java -jar > /home/danielp/github/pdfbox/app/target/pdfbox-app-3.0.5.jar render > --input=72641_585_1_114077_6.pdf > May 14, 2025 12:34:54 PM org.apache.pdfbox.pdmodel.font.PDFont loadUnicodeCmap > WARNING: Invalid ToUnicode CMap in font AAAACC+BentonSans-Regular > May 14, 2025 1:03:56 PM > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject scaleImage > WARNING: Unable to transform src image > java.awt.image.ImagingOpException: Unable to transform src image > at > java.desktop/java.awt.image.AffineTransformOp.filter(AffineTransformOp.java:287) > at > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.scaleImage(PDImageXObject.java:757) > at > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.applyMask(PDImageXObject.java:609) > at > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:473) > at > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:439) > at > org.apache.pdfbox.rendering.PageDrawer.drawImage(PageDrawer.java:1253) > at > org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:78) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:924) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:557) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processTransparencyGroup(PDFStreamEngine.java:260) > at > org.apache.pdfbox.rendering.PageDrawer.access$1700(PageDrawer.java:124) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1914) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1744) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroupOnGraphics(PageDrawer.java:1682) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroup(PageDrawer.java:1660) > at > org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:92) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:924) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:557) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processTransparencyGroup(PDFStreamEngine.java:260) > at > org.apache.pdfbox.rendering.PageDrawer.access$1700(PageDrawer.java:124) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1914) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1744) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroupOnGraphics(PageDrawer.java:1682) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroup(PageDrawer.java:1660) > at > org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:92) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:924) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:557) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processTransparencyGroup(PDFStreamEngine.java:260) > at > org.apache.pdfbox.rendering.PageDrawer.access$1700(PageDrawer.java:124) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1914) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1744) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroupOnGraphics(PageDrawer.java:1682) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroup(PageDrawer.java:1660) > at > org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:92) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:924) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:557) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:515) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:158) > at > org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:286) > at > org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:330) > at > org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:247) > at > org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:233) > at org.apache.pdfbox.tools.PDFToImage.call(PDFToImage.java:175) > at org.apache.pdfbox.tools.PDFToImage.call(PDFToImage.java:51) > at picocli.CommandLine.executeUserObject(CommandLine.java:2045) > at picocli.CommandLine.access$1500(CommandLine.java:148) > at > picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465) > at picocli.CommandLine$RunLast.handle(CommandLine.java:2457) > at picocli.CommandLine$RunLast.handle(CommandLine.java:2419) > at > picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277) > at picocli.CommandLine$RunLast.execute(CommandLine.java:2421) > at picocli.CommandLine.execute(CommandLine.java:2174) > at org.apache.pdfbox.tools.PDFBox.main(PDFBox.java:76) > May 14, 2025 1:13:09 PM > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject scaleImage > WARNING: Unable to transform src image > java.awt.image.ImagingOpException: Unable to transform src image > at > java.desktop/java.awt.image.AffineTransformOp.filter(AffineTransformOp.java:287) > at > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.scaleImage(PDImageXObject.java:757) > at > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.applyMask(PDImageXObject.java:609) > at > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:473) > at > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:439) > at > org.apache.pdfbox.rendering.PageDrawer.drawImage(PageDrawer.java:1253) > at > org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:78) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:924) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:557) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processTransparencyGroup(PDFStreamEngine.java:260) > at > org.apache.pdfbox.rendering.PageDrawer.access$1700(PageDrawer.java:124) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1914) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1744) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroupOnGraphics(PageDrawer.java:1682) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroup(PageDrawer.java:1660) > at > org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:92) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:924) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:557) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processTransparencyGroup(PDFStreamEngine.java:260) > at > org.apache.pdfbox.rendering.PageDrawer.access$1700(PageDrawer.java:124) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1914) > at > org.apache.pdfbox.rendering.PageDrawer$TransparencyGroup.<init>(PageDrawer.java:1744) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroupOnGraphics(PageDrawer.java:1682) > at > org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroup(PageDrawer.java:1660) > at > org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:92) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:924) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:557) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:515) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:158) > at > org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:286) > at > org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:330) > at > org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:247) > at > org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:233) > at org.apache.pdfbox.tools.PDFToImage.call(PDFToImage.java:175) > at org.apache.pdfbox.tools.PDFToImage.call(PDFToImage.java:51) > at picocli.CommandLine.executeUserObject(CommandLine.java:2045) > at picocli.CommandLine.access$1500(CommandLine.java:148) > at > picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465) > at picocli.CommandLine$RunLast.handle(CommandLine.java:2457) > at picocli.CommandLine$RunLast.handle(CommandLine.java:2419) > at > picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277) > at picocli.CommandLine$RunLast.execute(CommandLine.java:2421) > at picocli.CommandLine.execute(CommandLine.java:2174) > at org.apache.pdfbox.tools.PDFBox.main(PDFBox.java:76) > real 53m25.609s > user 53m48.505s > sys 0m2.429s {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org