Prevent PartialEvaluator_buildFormXObject from failing if the Matrix or BBox contains indirect objects

This patch fixes yet another instance of bad PDF data, specifically a case where the `BBox` array contains indirect objects (i.e. `Ref`s).

Fixes the missing image in http://www.int.washington.edu/talks/WorkShops/int_08_37W/People/Franz_M/Franz.pdf#page=24. *Note:* There are missing images on a number of the pages in that file.
This commit is contained in:
Jonas Jenwald 2015-09-28 15:09:24 +02:00
parent 75557d27d1
commit 1b8cb52555
4 changed files with 11 additions and 2 deletions

View File

@ -126,8 +126,8 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
xobj, smask,
operatorList,
initialState) {
var matrix = xobj.dict.get('Matrix');
var bbox = xobj.dict.get('BBox');
var matrix = xobj.dict.getArray('Matrix');
var bbox = xobj.dict.getArray('BBox');
var group = xobj.dict.get('Group');
if (group) {
var groupOptions = {

View File

@ -3,6 +3,7 @@
!tracemonkey.pdf
!franz.pdf
!franz_2.pdf
!issue2391-1.pdf
!issue2391-2.pdf
!issue5801.pdf

BIN
test/pdfs/franz_2.pdf Normal file

Binary file not shown.

View File

@ -527,6 +527,14 @@
"type": "eq",
"about": "Type1 font with |Ref|s in the Differences array of the Encoding dictionary."
},
{ "id": "franz_2",
"file": "pdfs/franz_2.pdf",
"md5": "9d301ed8816e879891115b5cc3c39559",
"link": false,
"rounds": 1,
"type": "eq",
"about": "XObject with BBox array containing indirect object."
},
{ "id": "issue4934",
"file": "pdfs/issue4934.pdf",
"md5": "6099da44f677702ae65a648b51a2226d",