Add support for Optional Content in TilingPatterns (issue 15716)
This can't be a particularly common feature, since we've supported Optional Content for over two years and this is the very first TilingPattern-case we've seen.
This commit is contained in:
parent
73c268dc1c
commit
47682985d3
@ -3245,7 +3245,7 @@ class InternalRenderTask {
|
|||||||
this.commonObjs,
|
this.commonObjs,
|
||||||
this.objs,
|
this.objs,
|
||||||
this.canvasFactory,
|
this.canvasFactory,
|
||||||
optionalContentConfig,
|
{ optionalContentConfig },
|
||||||
this.annotationCanvasMap,
|
this.annotationCanvasMap,
|
||||||
this.pageColors
|
this.pageColors
|
||||||
);
|
);
|
||||||
|
@ -1022,7 +1022,7 @@ class CanvasGraphics {
|
|||||||
commonObjs,
|
commonObjs,
|
||||||
objs,
|
objs,
|
||||||
canvasFactory,
|
canvasFactory,
|
||||||
optionalContentConfig,
|
{ optionalContentConfig, markedContentStack = null },
|
||||||
annotationCanvasMap,
|
annotationCanvasMap,
|
||||||
pageColors
|
pageColors
|
||||||
) {
|
) {
|
||||||
@ -1051,7 +1051,7 @@ class CanvasGraphics {
|
|||||||
this.tempSMask = null;
|
this.tempSMask = null;
|
||||||
this.suspendedCtx = null;
|
this.suspendedCtx = null;
|
||||||
this.contentVisible = true;
|
this.contentVisible = true;
|
||||||
this.markedContentStack = [];
|
this.markedContentStack = markedContentStack || [];
|
||||||
this.optionalContentConfig = optionalContentConfig;
|
this.optionalContentConfig = optionalContentConfig;
|
||||||
this.cachedCanvases = new CachedCanvases(this.canvasFactory);
|
this.cachedCanvases = new CachedCanvases(this.canvasFactory);
|
||||||
this.cachedPatterns = new Map();
|
this.cachedPatterns = new Map();
|
||||||
@ -2471,7 +2471,11 @@ class CanvasGraphics {
|
|||||||
ctx,
|
ctx,
|
||||||
this.commonObjs,
|
this.commonObjs,
|
||||||
this.objs,
|
this.objs,
|
||||||
this.canvasFactory
|
this.canvasFactory,
|
||||||
|
{
|
||||||
|
optionalContentConfig: this.optionalContentConfig,
|
||||||
|
markedContentStack: this.markedContentStack,
|
||||||
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
1
test/pdfs/.gitignore
vendored
1
test/pdfs/.gitignore
vendored
@ -440,6 +440,7 @@
|
|||||||
!issue6889.pdf
|
!issue6889.pdf
|
||||||
!issue11473.pdf
|
!issue11473.pdf
|
||||||
!bug1001080.pdf
|
!bug1001080.pdf
|
||||||
|
!issue15716.pdf
|
||||||
!bug1671312_reduced.pdf
|
!bug1671312_reduced.pdf
|
||||||
!bug1671312_ArialNarrow.pdf
|
!bug1671312_ArialNarrow.pdf
|
||||||
!issue6108.pdf
|
!issue6108.pdf
|
||||||
|
132
test/pdfs/issue15716.pdf
Normal file
132
test/pdfs/issue15716.pdf
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
%PDF-1.7
|
||||||
|
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Catalog
|
||||||
|
/Pages 2 0 R
|
||||||
|
/OCProperties
|
||||||
|
<<
|
||||||
|
/OCGs [1000 0 R 1001 0 R]
|
||||||
|
/D << /Order [1000 0 R 1001 0 R] >>
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
2 0 obj
|
||||||
|
<< /Type /Pages /Count 1 /Kids [ 10 0 R ] >>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
|
||||||
|
% PAGE 1
|
||||||
|
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Page
|
||||||
|
/Parent 2 0 R
|
||||||
|
/MediaBox [ 0 0 200 200 ]
|
||||||
|
/Contents 11 0 R
|
||||||
|
/Resources
|
||||||
|
<<
|
||||||
|
/Pattern << /P1 12 0 R >>
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
11 0 obj
|
||||||
|
<< /Length 146 >>
|
||||||
|
stream
|
||||||
|
/Pattern cs % Set pattern color space
|
||||||
|
/P1 scn % Set pattern as nonstroking color
|
||||||
|
0 200 200 -200 re % Construct rectangular path
|
||||||
|
f % Fill path
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Pattern
|
||||||
|
/PatternType 1
|
||||||
|
/PaintType 1
|
||||||
|
/TilingType 2
|
||||||
|
/BBox [0 0 100 100]
|
||||||
|
/XStep 100
|
||||||
|
/YStep 100
|
||||||
|
/Resources
|
||||||
|
<<
|
||||||
|
/Font << /F1 13 0 R >>
|
||||||
|
/Properties << /L1 1000 0 R /L2 1001 0 R >>
|
||||||
|
>>
|
||||||
|
/Length 788
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
BT % Begin text object
|
||||||
|
/F1 1 Tf % Set text font and size
|
||||||
|
64 0 0 64 7.1771 2.4414 Tm % Set text matrix
|
||||||
|
0 Tc % Set character spacing
|
||||||
|
0 Tw % Set word spacing
|
||||||
|
/OC /L1 BDC % Begin layer
|
||||||
|
0.0 0.0 0.0 rg % Set nonstroking color to black
|
||||||
|
(\001) Tj % Show spade glyph
|
||||||
|
EMC % End layer
|
||||||
|
0.7478 -0.007 TD % Move text position
|
||||||
|
/OC /L2 BDC % Begin layer
|
||||||
|
1.0 0.0 0.0 rg % Set nonstroking color to red
|
||||||
|
(\002) Tj % Show heart glyph
|
||||||
|
EMC % End layer
|
||||||
|
-0.7323 0.7813 TD % Move text position
|
||||||
|
/OC /L2 BDC % Begin layer
|
||||||
|
1.0 0.0 0.0 rg % Set nonstroking color to red
|
||||||
|
(\003) Tj % Show diamond glyph
|
||||||
|
EMC % End layer
|
||||||
|
0.6913 0.007 TD % Move text position
|
||||||
|
/OC /L1 BDC % Begin layer
|
||||||
|
0.0 0.0 0.0 rg % Set nonstroking color to black
|
||||||
|
(\004) Tj % Show club glyph
|
||||||
|
EMC % End layer
|
||||||
|
ET % End text object
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Font
|
||||||
|
/Subtype /Type1
|
||||||
|
/BaseFont /ZapfDingbats
|
||||||
|
/Encoding
|
||||||
|
<<
|
||||||
|
/Type /Encoding /Differences [1 /a109 /a110 /a111 /a112]
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
|
||||||
|
% SHARED OBJECTS
|
||||||
|
|
||||||
|
1000 0 obj
|
||||||
|
<< /Type /OCG /Name (Black) >>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
1001 0 obj
|
||||||
|
<< /Type /OCG /Name (Red) >>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
|
||||||
|
xref
|
||||||
|
0 3
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000010 00000 n
|
||||||
|
0000000151 00000 n
|
||||||
|
10 4
|
||||||
|
0000000223 00000 n
|
||||||
|
0000000367 00000 n
|
||||||
|
0000000565 00000 n
|
||||||
|
0000001603 00000 n
|
||||||
|
1000 2
|
||||||
|
0000001778 00000 n
|
||||||
|
0000001828 00000 n
|
||||||
|
|
||||||
|
trailer
|
||||||
|
<< /Size 8 /Root 1 0 R >>
|
||||||
|
startxref
|
||||||
|
1877
|
||||||
|
%%EOF
|
@ -4562,6 +4562,21 @@
|
|||||||
"rounds": 1,
|
"rounds": 1,
|
||||||
"type": "text"
|
"type": "text"
|
||||||
},
|
},
|
||||||
|
{ "id": "issue15716",
|
||||||
|
"file": "pdfs/issue15716.pdf",
|
||||||
|
"md5": "4d89aabeb97fcb181662406f092bbeb0",
|
||||||
|
"rounds": 1,
|
||||||
|
"type": "eq"
|
||||||
|
},
|
||||||
|
{ "id": "issue15716-no-red-oc",
|
||||||
|
"file": "pdfs/issue15716.pdf",
|
||||||
|
"md5": "4d89aabeb97fcb181662406f092bbeb0",
|
||||||
|
"rounds": 1,
|
||||||
|
"type": "eq",
|
||||||
|
"optionalContent": {
|
||||||
|
"1001R": false
|
||||||
|
}
|
||||||
|
},
|
||||||
{ "id": "issue845",
|
{ "id": "issue845",
|
||||||
"file": "pdfs/issue845r.pdf",
|
"file": "pdfs/issue845r.pdf",
|
||||||
"md5": "b5f8fe4005cf3fb685fdb4a4c44ee4a2",
|
"md5": "b5f8fe4005cf3fb685fdb4a4c44ee4a2",
|
||||||
|
Loading…
Reference in New Issue
Block a user