Velislava Yanchina created PDFBOX-5526:
------------------------------------------

             Summary: Apply subsampling and region to masks
                 Key: PDFBOX-5526
                 URL: https://issues.apache.org/jira/browse/PDFBOX-5526
             Project: PDFBox
          Issue Type: Improvement
          Components: Rendering
    Affects Versions: 2.0.26
            Reporter: Velislava Yanchina
             Fix For: 2.0.28


When {{{}{}}}`PDImageXObject.{{{}getImage()`{}}} gets invoked with subsampling 
and region, internally it loads the entire mask into memory: 
[https://github.com/apache/pdfbox/blob/961c052d52dd9ab2dd3d7cd762a5046e5cc85a91/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java#L465]

and applies the entire mask on the subsampled image.

Which is extra work and can cause `OOM` exceptions. 

The proposed optimisation is to pass `region` and `subsampling` params to 
`PDImageXObject.getOpaqueImage() `here - 
[https://github.com/apache/pdfbox/blob/961c052d52dd9ab2dd3d7cd762a5046e5cc85a91/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java#L548]

such that masks are also subsampled before applying them...



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to