Prevent getOperatorList from failing to correctly parse OPS.paintXObject for TilingPatterns that are missing some /Resources entries (issue 6541)
Fixes 6541.
This commit is contained in:
		
							parent
							
								
									738daa0f79
								
							
						
					
					
						commit
						2e751199fb
					
				| @ -286,9 +286,13 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { | ||||
|                                                    operatorList) { | ||||
|       // Create an IR of the pattern code.
 | ||||
|       var tilingOpList = new OperatorList(); | ||||
|       return this.getOperatorList(pattern, | ||||
|         (patternDict.get('Resources') || resources), tilingOpList). | ||||
|         then(function () { | ||||
|       // Merge the available resources, to prevent issues when the patternDict
 | ||||
|       // is missing some /Resources entries (fixes issue6541.pdf).
 | ||||
|       var resourcesArray = [patternDict.get('Resources'), resources]; | ||||
|       var patternResources = Dict.merge(this.xref, resourcesArray); | ||||
| 
 | ||||
|       return this.getOperatorList(pattern, patternResources, tilingOpList).then( | ||||
|         function () { | ||||
|           // Add the dependencies to the parent operator list so they are
 | ||||
|           // resolved before sub operator list is executed synchronously.
 | ||||
|           operatorList.addDependencies(tilingOpList.dependencies); | ||||
|  | ||||
							
								
								
									
										1
									
								
								test/pdfs/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								test/pdfs/.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -28,6 +28,7 @@ | ||||
| !javauninstall-7r.pdf | ||||
| !issue3205r.pdf | ||||
| !close-path-bug.pdf | ||||
| !issue6541.pdf | ||||
| !issue2948.pdf | ||||
| !issue6231_1.pdf | ||||
| !issue6413.pdf | ||||
|  | ||||
							
								
								
									
										204
									
								
								test/pdfs/issue6541.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										204
									
								
								test/pdfs/issue6541.pdf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,204 @@ | ||||
| %PDF-1.7 | ||||
| %âãÏÓ | ||||
| 1 0 obj  | ||||
| << | ||||
| /Kids [2 0 R] | ||||
| /Count 1 | ||||
| /Type /Pages | ||||
| >> | ||||
| endobj  | ||||
| 2 0 obj  | ||||
| << | ||||
| /Parent 1 0 R | ||||
| /Resources  | ||||
| << | ||||
| /ColorSpace 3 0 R | ||||
| /Font 4 0 R | ||||
| /XObject 5 0 R | ||||
| /Pattern 6 0 R | ||||
| /ProcSet [/PDF /Text] | ||||
| >> | ||||
| /MediaBox [0 0 595.28 841.89] | ||||
| /Type /Page | ||||
| /Contents 7 0 R | ||||
| >> | ||||
| endobj  | ||||
| 3 0 obj  | ||||
| << | ||||
| /R43 8 0 R | ||||
| >> | ||||
| endobj  | ||||
| 5 0 obj  | ||||
| << | ||||
| /R44 9 0 R | ||||
| /R41 10 0 R | ||||
| /R57 11 0 R | ||||
| /R45 12 0 R | ||||
| >> | ||||
| endobj  | ||||
| 4 0 obj  | ||||
| << | ||||
| /F1 13 0 R | ||||
| >> | ||||
| endobj  | ||||
| 6 0 obj  | ||||
| << | ||||
| /R42 14 0 R | ||||
| >> | ||||
| endobj  | ||||
| 7 0 obj  | ||||
| << | ||||
| /Length 135 | ||||
| >> | ||||
| stream | ||||
| q | ||||
| 0.1 0 0 0.1 0 0 cm | ||||
| q | ||||
| 0 0 5952.93 8419 re | ||||
| W n | ||||
| /R57 Do | ||||
| q | ||||
| 10 0 0 10 0 0 cm | ||||
| BT | ||||
| /F1 20 Tf | ||||
| 1 0 0 1 34.016 808.15 Tm | ||||
| (Issue 6541) Tj | ||||
| ET | ||||
| Q | ||||
| Q | ||||
| 
 | ||||
| endstream  | ||||
| endobj  | ||||
| 8 0 obj [/Pattern] | ||||
| endobj  | ||||
| 12 0 obj  | ||||
| << | ||||
| /Matrix [1 0 0 1 0 0] | ||||
| /Subtype /Form | ||||
| /Length 12 | ||||
| /FormType 1 | ||||
| /Type /XObject | ||||
| /BBox [3916.83 5146.43 5459.14 6380.28] | ||||
| >> | ||||
| stream | ||||
| q | ||||
| /R44 Do | ||||
| Q | ||||
| 
 | ||||
| endstream  | ||||
| endobj  | ||||
| 9 0 obj  | ||||
| << | ||||
| /Matrix [1 0 0 1 0 0] | ||||
| /Subtype /Form | ||||
| /Length 58 | ||||
| /FormType 1 | ||||
| /Type /XObject | ||||
| /BBox [3916.83 5146.43 5459.14 6380.28] | ||||
| >> | ||||
| stream | ||||
| q | ||||
| /R43 cs | ||||
| /R42 scn | ||||
| 3916.82 5146.43 1542.32 1233.86 re | ||||
| f | ||||
| Q | ||||
| 
 | ||||
| endstream  | ||||
| endobj  | ||||
| 10 0 obj  | ||||
| << | ||||
| /Matrix [1 0 0 1 0 0] | ||||
| /Subtype /Form | ||||
| /Length 0 | ||||
| /FormType 1 | ||||
| /Type /XObject | ||||
| /BBox [0 0 5760 4610] | ||||
| >> | ||||
| stream | ||||
| 
 | ||||
| endstream  | ||||
| endobj  | ||||
| 11 0 obj  | ||||
| << | ||||
| /Matrix [1 0 0 1 0 0] | ||||
| /Subtype /Form | ||||
| /Length 12 | ||||
| /FormType 1 | ||||
| /Type /XObject | ||||
| /BBox [-0.13 -0.18 5952.93 8419.14] | ||||
| >> | ||||
| stream | ||||
| q | ||||
| /R45 Do | ||||
| Q | ||||
| 
 | ||||
| endstream  | ||||
| endobj  | ||||
| 13 0 obj  | ||||
| << | ||||
| /BaseFont /Times-Roman | ||||
| /Subtype /Type1 | ||||
| /Encoding /WinAnsiEncoding | ||||
| /Type /Font | ||||
| >> | ||||
| endobj  | ||||
| 14 0 obj  | ||||
| << | ||||
| /PatternType 1 | ||||
| /YStep 2074 | ||||
| /XStep 2074 | ||||
| /Resources  | ||||
| << | ||||
| /Font  | ||||
| << | ||||
| /F1 13 0 R | ||||
| >> | ||||
| /ProcSet [/PDF] | ||||
| >> | ||||
| /BBox [0 0 576 461] | ||||
| /Matrix [2.67763 0 0 2.67763 3917 5146] | ||||
| /TilingType 1 | ||||
| /PaintType 1 | ||||
| /Length 12 | ||||
| /Type /Pattern | ||||
| >> | ||||
| stream | ||||
| q | ||||
| /R41 Do | ||||
| Q | ||||
| 
 | ||||
| endstream  | ||||
| endobj  | ||||
| 15 0 obj  | ||||
| << | ||||
| /Pages 1 0 R | ||||
| /Type /Catalog | ||||
| >> | ||||
| endobj xref | ||||
| 0 16 | ||||
| 0000000000 65535 f  | ||||
| 0000000015 00000 n  | ||||
| 0000000074 00000 n  | ||||
| 0000000269 00000 n  | ||||
| 0000000373 00000 n  | ||||
| 0000000303 00000 n  | ||||
| 0000000407 00000 n  | ||||
| 0000000442 00000 n  | ||||
| 0000000631 00000 n  | ||||
| 0000000828 00000 n  | ||||
| 0000001043 00000 n  | ||||
| 0000001182 00000 n  | ||||
| 0000000658 00000 n  | ||||
| 0000001348 00000 n  | ||||
| 0000001450 00000 n  | ||||
| 0000001715 00000 n  | ||||
| trailer | ||||
| 
 | ||||
| << | ||||
| /Root 15 0 R | ||||
| /Size 16 | ||||
| >> | ||||
| startxref | ||||
| 1766 | ||||
| %%EOF | ||||
| @ -694,6 +694,13 @@ | ||||
|        "rounds": 1, | ||||
|        "type": "eq" | ||||
|     }, | ||||
|     {  "id": "issue6541", | ||||
|        "file": "pdfs/issue6541.pdf", | ||||
|        "md5": "81bc5b146404207ea40f2c55301b2bb6", | ||||
|        "link": false, | ||||
|        "rounds": 1, | ||||
|        "type": "eq" | ||||
|     }, | ||||
|     {  "id": "issue6231_1", | ||||
|        "file": "pdfs/issue6231_1.pdf", | ||||
|        "md5": "eb13a9366a5142833a858472c68b4749", | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user