[ 
https://issues.apache.org/jira/browse/PDFBOX-4411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16734973#comment-16734973
 ] 

Itai Shaked edited comment on PDFBOX-4411 at 1/5/19 6:35 PM:
-------------------------------------------------------------

I mean these tests: 

{{if (iccArray.size() < 2)}}
 {
 {{    throw new IOException("ICCBased colorspace array must have two 
elements");}}
 {{}}}
 {{if (!(iccArray.getObject(1) instanceof COSStream))}}
 {
 {{    throw new IOException("ICCBased colorspace array must have a stream as 
second element");}}
 {{}}}

 

Presumably they should be done for both constructors and the static factory 
method? 


was (Author: itai):
I mean these tests: 

{{if (iccArray.size() < 2)}}
{{{}}
{{    throw new IOException("ICCBased colorspace array must have two 
elements");}}
{{}}}
{{if (!(iccArray.getObject(1) instanceof COSStream))}}
{{{}}
{{    throw new IOException("ICCBased colorspace array must have a stream as 
second element");}}
{{}}}

 

Presumably they should be done for both constructors and the static factory 
method? 

> Support caching of ICC based color spaces
> -----------------------------------------
>
>                 Key: PDFBOX-4411
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4411
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: Rendering
>    Affects Versions: 2.0.13
>            Reporter: Itai Shaked
>            Priority: Major
>             Fix For: 2.0.14, 3.0.0 PDFBox
>
>         Attachments: Cache_PDICCBased_color_spaces.patch, 
> gs-bugzilla690425-veryslow.pdf
>
>
> Following up on PDFBOX-4392 I have noticed ICC color spaces aren't being 
> cached in the resource cache, since they are represented not by a `COSObject` 
> but rather by a `COSArray` with `COSName` of `ICCBased` as the first element 
> and a `COSObject` (the actual profile) as the second element.  
> This patch introduces a static `create` method to `PDICCBased` which 
> optionally caches/retrieves the color space from cache. Accordingly, the 
> constructor taking a `COSArray` has been made private, and the validity tests 
> moved to the static `create` method.   
> Testing on the example from PDFBOX-4392 the patch improves both time and 
> memory consumption. Presumably it will help with any PDF with ICC-based 
> profiles which are re-used by many images. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to