[
https://issues.apache.org/jira/browse/PDFBOX-5754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17807638#comment-17807638
]
Tilman Hausherr edited comment on PDFBOX-5754 at 1/17/24 9:52 AM:
------------------------------------------------------------------
This will take longer. My idea was to cache the second parameter of
{{hasBlendMode()}} in the PageDrawer class, but I get rendering differences
with several of my test files.
A-Designers-Guide-to-Transparency-2007.pdf p15
A-Designers-Guide-to-Transparency-2007.pdf p20
PDFBOX-5307.pdf
PDFJS-4735.pdf
pop-bugzilla19670-2.pdf
Transparency_DesignGuide-2004.pdf p1
Transparency_DesignGuide-2004.pdf p3
The cause is that {{groupsDone}} can't be used as a cache because the code
returns false when there's a "hit", it's only designed to protect against
recursions.
was (Author: tilman):
This will take longer. My idea was to cache the second parameter of
{{hasBlendMode()}} in the PageDrawer class, but I get rendering differences
with several of my test files.
A-Designers-Guide-to-Transparency-2007.pdf p15
A-Designers-Guide-to-Transparency-2007.pdf p20
PDFBOX-5307.pdf
PDFJS-4735.pdf
pop-bugzilla19670-2.pdf
Transparency_DesignGuide-2004.pdf p1
Transparency_DesignGuide-2004.pdf p3
> PDF conversion in this format is very slow. Is there any room for
> optimization?
> -------------------------------------------------------------------------------
>
> Key: PDFBOX-5754
> URL: https://issues.apache.org/jira/browse/PDFBOX-5754
> Project: PDFBox
> Issue Type: Bug
> Affects Versions: 2.0.30, 3.0.1 PDFBox
> Reporter: liu
> Priority: Major
> Attachments: image2.pdf
>
>
> pdf: [^image2.pdf]
> demo:
> {code:java}
> public static void main(String[] args) throws IOException,
> InterruptedException {
> File file = new File("D:\\fcs\\test\\test6\\image2.pdf");
> final PDDocument load = PDDocument.load(file,
> MemoryUsageSetting.setupTempFileOnly()
> .setTempDir(new File("D:\\fcs\\test")));
> try {
> PDFRenderer renderer = new PDFRenderer(load);
> // renderer.setSubsamplingAllowed(true);
> int pageIndex = 0;
> float scale = 2f;
> BufferedImage bufferedImage =
> renderer.renderImage(pageIndex, scale, ImageType.RGB);
> FileOutputStream fos = null;
> try {
> fos = new FileOutputStream(new
> File("D:\\fcs\\test/test6/image" + pageIndex + ".jpg"));
> ImageIO.write(bufferedImage, "jpg", fos);
> } finally {
> if (fos != null) {
> fos.close();
> }
> }
> } catch (Throwable e){
> e.printStackTrace();
> }
> Thread.sleep(6000000);
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]