Itai Shaked created PDFBOX-4137:
-----------------------------------

             Summary: Allow subsampled/downscaled rendering of images, and 
rendering subimages 
                 Key: PDFBOX-4137
                 URL: https://issues.apache.org/jira/browse/PDFBOX-4137
             Project: PDFBox
          Issue Type: Improvement
          Components: Rendering
    Affects Versions: 2.0.8
            Reporter: Itai Shaked
         Attachments: image_rendering_subsampling_hack.patch

Suggested/contributed change to allow subsampling of images and rendering 
sub-regions of images.  

The need arises from having very large images which are highly compressed 
(usually JPEG or JBIG2). The current implementation decodes the entire image 
into memory at full resolution, even if rendering is done at a much lower 
resolution. 

Since the change required augmenting the way Filters work (to allow 
partial/subsampled decoding), it also includes a partial fix for PDFBOX-3340.  

 

This change introduces "DecodeOptions" which are currently only applicable for 
images. They include requesting only metadata (for PDImageXObject's repair 
method), subsampling and sub-region (similar to javax.imagio.ImageReadParam). 

Since not all filters can or do honor (use) the options, the DecodeOptions 
class contains a flag. Filters that honor the options (subsample / decode only 
requested region) set it to true. If the flag is false, the subsampling or 
cropping should be done after decoding, to ensure consistency. 

PageDrawer was modified so it uses subsampling based on the ratio of the 
desired output to the original image. 

 



--
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

Reply via email to