Ignore setGState no-ops.
For the document in #2504, 11% of the ops are `setGState` with a `gStateObj` that is an empty array, which is a no-op. This is possible because we ignore various setGState keys (OP, OPM, BG, etc). This change prevents these ops from being inserted into the operator list.
This commit is contained in:
parent
0e4d9061b2
commit
9674abc542
@ -412,7 +412,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
|
||||
break;
|
||||
// Only generate info log messages for the following since
|
||||
// they are unlikey to have a big impact on the rendering.
|
||||
// they are unlikely to have a big impact on the rendering.
|
||||
case 'OP':
|
||||
case 'op':
|
||||
case 'OPM':
|
||||
@ -446,7 +446,9 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
setGStateForKey(gStateObj, key, value);
|
||||
}
|
||||
return promise.then(function () {
|
||||
operatorList.addOp(OPS.setGState, [gStateObj]);
|
||||
if (gStateObj.length >= 0) {
|
||||
operatorList.addOp(OPS.setGState, [gStateObj]);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user