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: [email protected]
For additional commands, e-mail: [email protected]