[
https://issues.apache.org/jira/browse/PDFBOX-5051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17331244#comment-17331244
]
Tilman Hausherr commented on PDFBOX-5051:
-----------------------------------------
I did some tests again, and found out that this code is identical to the gold
standard
{code}
if (colorSpace.getNumComponents() == 1 && this instanceof PDICCBased)
{
for (int x = 0; x < raster.getWidth(); ++x)
{
for (int y = 0; y < raster.getHeight(); ++y)
{
dest.setRGB(x, y, src.getRGB(x, y));
}
}
return dest;
}
Graphics2D g2d = (Graphics2D) dest.getGraphics();
g2d.drawImage(src, 0, 0, null);
g2d.dispose();
{code}
This is because the following files were not rendered correctly with drawImage
- eci_altona-test-suite-v2_technical2_one-patch-per-page_x4.pdf p13 bottom left
- Ghent_PDF-Output-Test-V50_ALL_X4.pdf p6 test 18.2
- PDFBOX-1350-outofmemory.pdf p13
- PDFBOX-2096.pdf
Benchmarks:
- new code: 702 sek
- existing code: 265 sek
- gold standard: 1035 sek
> Slow rendering for specific PDF file
> ------------------------------------
>
> Key: PDFBOX-5051
> URL: https://issues.apache.org/jira/browse/PDFBOX-5051
> Project: PDFBox
> Issue Type: Bug
> Components: Rendering
> Affects Versions: 2.0.21
> Environment: Amazon Coretto jdk11.0.3_7, OpenJDK 15
> Reporter: Stefan Mueller
> Priority: Major
> Attachments: slowpdfbox.pdf
>
>
> Doing PDF rendering upon the document being attached is rather slow.
> It takes 18 seconds on a Core i7 machine with 32 GB of RAM and no maximum
> being imposed upon the JVM.
> {code:java}
> System.setProperty("sun.java2d.cmm",
> "sun.java2d.cmm.kcms.KcmsServiceProvider");
> long ms = System.currentTimeMillis();
> try (final PDDocument document = PDDocument.load(new
> File("C:\\temp\\slowpdfbox.pdf")))
> {
> ms = System.currentTimeMillis() -ms;
> System.out.println("Took " + ms + " milliseconds for loading");
>
> PDFRenderer pdfRenderer = new PDFRenderer(document);
> pdfRenderer.setSubsamplingAllowed(true);
> for (int page = 0; page < 1; ++page)
> {
> ms = System.currentTimeMillis();
> BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
>
> ms = System.currentTimeMillis() -ms;
> System.out.println("Took " + ms + " milliseconds for rendering");
>
>
> String fileName = "c:\\temp\\test.jpg";
> ImageIOUtil.writeImage(bim, fileName, 300); //<---this number
> }
> document.close();
> }
> catch (IOException e){
> System.err.println("Exception while reading pdf document - " + e);
> }
> {code}
> Console Output:
> Took 262 milliseconds for loading
> Dez. 18, 2020 6:25:15 VORM.
> org.apache.pdfbox.pdmodel.graphics.color.PDICCBased ensureDisplayProfile
> WARNUNG: ICC profile is Perceptual, ignoring, treating as Display class
> Took 17914 milliseconds for rendering
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]