Browse Source

PDF.js version 1.9.634 - See mozilla/pdf.js@509d3728f1b18620c6718697303968f39c10ad59

master v1.9.634
pdfjsbot 7 years ago
parent
commit
db6328ca27
  1. 2
      bower.json
  2. 408
      build/pdf.combined.js
  3. 2
      build/pdf.combined.js.map
  4. 14
      build/pdf.js
  5. 2
      build/pdf.js.map
  6. 2
      build/pdf.min.js
  7. 398
      build/pdf.worker.js
  8. 2
      build/pdf.worker.js.map
  9. 2
      build/pdf.worker.min.js
  10. 392
      lib/core/evaluator.js
  11. 2
      lib/core/worker.js
  12. 6
      lib/display/api.js
  13. 4
      lib/display/global.js
  14. 4
      lib/pdf.js
  15. 4
      lib/pdf.worker.js
  16. 10
      lib/test/unit/evaluator_spec.js
  17. 2
      package.json

2
bower.json

@ -1,6 +1,6 @@
{ {
"name": "pdfjs-dist", "name": "pdfjs-dist",
"version": "1.9.632", "version": "1.9.634",
"main": [ "main": [
"build/pdf.js", "build/pdf.js",
"build/pdf.worker.js" "build/pdf.worker.js"

408
build/pdf.combined.js

@ -11341,7 +11341,7 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
if (worker.destroyed) { if (worker.destroyed) {
return Promise.reject(new Error('Worker was destroyed')); return Promise.reject(new Error('Worker was destroyed'));
} }
var apiVersion = '1.9.632'; var apiVersion = '1.9.634';
source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch'); source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');
source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream'); source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');
source.chunkedViewerLoading = !!pdfDataRangeTransport; source.chunkedViewerLoading = !!pdfDataRangeTransport;
@ -12645,8 +12645,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '1.9.632'; exports.version = version = '1.9.634';
exports.build = build = 'bbec2ed1'; exports.build = build = '509d3728';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort; exports.LoopbackPort = LoopbackPort;
@ -18995,8 +18995,6 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.PartialEvaluator = exports.OperatorList = undefined; exports.PartialEvaluator = exports.OperatorList = undefined;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _util = __w_pdfjs_require__(0); var _util = __w_pdfjs_require__(0);
var _cmap = __w_pdfjs_require__(108); var _cmap = __w_pdfjs_require__(108);
@ -19764,17 +19762,21 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
switch (fn | 0) { switch (fn | 0) {
case _util.OPS.paintXObject: case _util.OPS.paintXObject:
var name = args[0].name; var name = args[0].name;
if (!name) { if (name && imageCache[name] !== undefined) {
(0, _util.warn)('XObject must be referred to by name.');
continue;
}
if (imageCache[name] !== undefined) {
operatorList.addOp(imageCache[name].fn, imageCache[name].args); operatorList.addOp(imageCache[name].fn, imageCache[name].args);
args = null; args = null;
continue; continue;
} }
var xobj = xobjs.get(name); next(new Promise(function (resolveXObject, rejectXObject) {
if (xobj) { if (!name) {
throw new _util.FormatError('XObject must be referred to by name.');
}
var xobj = xobjs.get(name);
if (!xobj) {
operatorList.addOp(fn, args);
resolveXObject();
return;
}
if (!(0, _primitives.isStream)(xobj)) { if (!(0, _primitives.isStream)(xobj)) {
throw new _util.FormatError('XObject should be a stream'); throw new _util.FormatError('XObject should be a stream');
} }
@ -19784,22 +19786,28 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
} }
if (type.name === 'Form') { if (type.name === 'Form') {
stateManager.save(); stateManager.save();
next(self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () { self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {
stateManager.restore(); stateManager.restore();
})); resolveXObject();
}, rejectXObject);
return; return;
} else if (type.name === 'Image') { } else if (type.name === 'Image') {
self.buildPaintImageXObject(resources, xobj, false, operatorList, name, imageCache); self.buildPaintImageXObject(resources, xobj, false, operatorList, name, imageCache);
args = null;
continue;
} else if (type.name === 'PS') { } else if (type.name === 'PS') {
(0, _util.info)('Ignored XObject subtype PS'); (0, _util.info)('Ignored XObject subtype PS');
continue;
} else { } else {
throw new _util.FormatError('Unhandled XObject subtype ' + type.name); throw new _util.FormatError('Unhandled XObject subtype ' + type.name);
} }
} resolveXObject();
break; }).catch(function (reason) {
if (self.options.ignoreErrors) {
self.handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.unknown });
(0, _util.warn)('getOperatorList - ignoring XObject: "' + reason + '".');
return;
}
throw reason;
}));
return;
case _util.OPS.setFont: case _util.OPS.setFont:
var fontSize = args[1]; var fontSize = args[1];
next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) { next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {
@ -20234,183 +20242,162 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
var fn = operation.fn; var fn = operation.fn;
args = operation.args; args = operation.args;
var advance, diff; var advance, diff;
var fontNameArg, fontSizeArg; switch (fn | 0) {
var isSameTextLine; case _util.OPS.setFont:
var items; var fontNameArg = args[0].name,
var offset; fontSizeArg = args[1];
var j, jj; if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {
var breakTextRun;
var name;
var xobj;
var type;
var currentState;
var xObjStateManager;
var matrix;
var dictName;
var extGState;
var gState;
var gStateFont;
var _ret2 = function () {
switch (fn | 0) {
case _util.OPS.setFont:
fontNameArg = args[0].name;
fontSizeArg = args[1];
if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {
break;
}
flushTextContentItem();
textState.fontName = fontNameArg;
textState.fontSize = fontSizeArg;
next(handleSetFont(fontNameArg, null));
return {
v: void 0
};
case _util.OPS.setTextRise:
flushTextContentItem();
textState.textRise = args[0];
break;
case _util.OPS.setHScale:
flushTextContentItem();
textState.textHScale = args[0] / 100;
break;
case _util.OPS.setLeading:
flushTextContentItem();
textState.leading = args[0];
break;
case _util.OPS.moveText:
isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;
advance = args[0] - args[1];
if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(args[0], args[1]);
textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;
textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;
diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);
addFakeSpaces(diff, textContentItem.str);
break;
}
flushTextContentItem();
textState.translateTextLineMatrix(args[0], args[1]);
textState.textMatrix = textState.textLineMatrix.slice();
break; break;
case _util.OPS.setLeadingMoveText: }
flushTextContentItem(); flushTextContentItem();
textState.leading = -args[1]; textState.fontName = fontNameArg;
textState.fontSize = fontSizeArg;
next(handleSetFont(fontNameArg, null));
return;
case _util.OPS.setTextRise:
flushTextContentItem();
textState.textRise = args[0];
break;
case _util.OPS.setHScale:
flushTextContentItem();
textState.textHScale = args[0] / 100;
break;
case _util.OPS.setLeading:
flushTextContentItem();
textState.leading = args[0];
break;
case _util.OPS.moveText:
var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;
advance = args[0] - args[1];
if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(args[0], args[1]); textState.translateTextLineMatrix(args[0], args[1]);
textState.textMatrix = textState.textLineMatrix.slice(); textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;
break; textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;
case _util.OPS.nextLine: diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);
flushTextContentItem(); addFakeSpaces(diff, textContentItem.str);
textState.carriageReturn();
break;
case _util.OPS.setTextMatrix:
advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);
if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(advance.width, advance.height);
textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;
textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;
diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);
addFakeSpaces(diff, textContentItem.str);
break;
}
flushTextContentItem();
textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
break; break;
case _util.OPS.setCharSpacing: }
textState.charSpacing = args[0]; flushTextContentItem();
break; textState.translateTextLineMatrix(args[0], args[1]);
case _util.OPS.setWordSpacing: textState.textMatrix = textState.textLineMatrix.slice();
textState.wordSpacing = args[0]; break;
break; case _util.OPS.setLeadingMoveText:
case _util.OPS.beginText: flushTextContentItem();
flushTextContentItem(); textState.leading = -args[1];
textState.textMatrix = _util.IDENTITY_MATRIX.slice(); textState.translateTextLineMatrix(args[0], args[1]);
textState.textLineMatrix = _util.IDENTITY_MATRIX.slice(); textState.textMatrix = textState.textLineMatrix.slice();
break;
case _util.OPS.nextLine:
flushTextContentItem();
textState.carriageReturn();
break;
case _util.OPS.setTextMatrix:
advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);
if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(advance.width, advance.height);
textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;
textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;
diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);
addFakeSpaces(diff, textContentItem.str);
break; break;
case _util.OPS.showSpacedText: }
items = args[0]; flushTextContentItem();
textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
for (j = 0, jj = items.length; j < jj; j++) { textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
if (typeof items[j] === 'string') { break;
buildTextContentItem(items[j]); case _util.OPS.setCharSpacing:
} else if ((0, _util.isNum)(items[j])) { textState.charSpacing = args[0];
ensureTextContentItem(); break;
advance = items[j] * textState.fontSize / 1000; case _util.OPS.setWordSpacing:
breakTextRun = false; textState.wordSpacing = args[0];
break;
if (textState.font.vertical) { case _util.OPS.beginText:
offset = advance; flushTextContentItem();
textState.translateTextMatrix(0, offset); textState.textMatrix = _util.IDENTITY_MATRIX.slice();
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax; textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();
if (!breakTextRun) { break;
textContentItem.height += offset; case _util.OPS.showSpacedText:
} var items = args[0];
} else { var offset;
advance = -advance; for (var j = 0, jj = items.length; j < jj; j++) {
offset = advance * textState.textHScale; if (typeof items[j] === 'string') {
textState.translateTextMatrix(offset, 0); buildTextContentItem(items[j]);
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax; } else if ((0, _util.isNum)(items[j])) {
if (!breakTextRun) { ensureTextContentItem();
textContentItem.width += offset; advance = items[j] * textState.fontSize / 1000;
} var breakTextRun = false;
if (textState.font.vertical) {
offset = advance;
textState.translateTextMatrix(0, offset);
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;
if (!breakTextRun) {
textContentItem.height += offset;
} }
if (breakTextRun) { } else {
flushTextContentItem(); advance = -advance;
} else if (advance > 0) { offset = advance * textState.textHScale;
addFakeSpaces(advance, textContentItem.str); textState.translateTextMatrix(offset, 0);
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;
if (!breakTextRun) {
textContentItem.width += offset;
} }
} }
if (breakTextRun) {
flushTextContentItem();
} else if (advance > 0) {
addFakeSpaces(advance, textContentItem.str);
}
} }
}
break;
case _util.OPS.showText:
buildTextContentItem(args[0]);
break;
case _util.OPS.nextLineShowText:
flushTextContentItem();
textState.carriageReturn();
buildTextContentItem(args[0]);
break;
case _util.OPS.nextLineSetSpacingShowText:
flushTextContentItem();
textState.wordSpacing = args[0];
textState.charSpacing = args[1];
textState.carriageReturn();
buildTextContentItem(args[2]);
break;
case _util.OPS.paintXObject:
flushTextContentItem();
if (!xobjs) {
xobjs = resources.get('XObject') || _primitives.Dict.empty;
}
var name = args[0].name;
if (name && skipEmptyXObjs[name] !== undefined) {
break; break;
case _util.OPS.showText: }
buildTextContentItem(args[0]); next(new Promise(function (resolveXObject, rejectXObject) {
break; if (!name) {
case _util.OPS.nextLineShowText: throw new _util.FormatError('XObject must be referred to by name.');
flushTextContentItem();
textState.carriageReturn();
buildTextContentItem(args[0]);
break;
case _util.OPS.nextLineSetSpacingShowText:
flushTextContentItem();
textState.wordSpacing = args[0];
textState.charSpacing = args[1];
textState.carriageReturn();
buildTextContentItem(args[2]);
break;
case _util.OPS.paintXObject:
flushTextContentItem();
if (!xobjs) {
xobjs = resources.get('XObject') || _primitives.Dict.empty;
}
name = args[0].name;
if (name in skipEmptyXObjs) {
break;
} }
xobj = xobjs.get(name); var xobj = xobjs.get(name);
if (!xobj) { if (!xobj) {
break; resolveXObject();
return;
} }
if (!(0, _primitives.isStream)(xobj)) { if (!(0, _primitives.isStream)(xobj)) {
throw new _util.FormatError('XObject should be a stream'); throw new _util.FormatError('XObject should be a stream');
} }
type = xobj.dict.get('Subtype'); var type = xobj.dict.get('Subtype');
if (!(0, _primitives.isName)(type)) { if (!(0, _primitives.isName)(type)) {
throw new _util.FormatError('XObject should have a Name subtype'); throw new _util.FormatError('XObject should have a Name subtype');
} }
if (type.name !== 'Form') { if (type.name !== 'Form') {
skipEmptyXObjs[name] = true; skipEmptyXObjs[name] = true;
break; resolveXObject();
return;
} }
currentState = stateManager.state.clone(); var currentState = stateManager.state.clone();
xObjStateManager = new StateManager(currentState); var xObjStateManager = new StateManager(currentState);
matrix = xobj.dict.getArray('Matrix'); var matrix = xobj.dict.getArray('Matrix');
if (Array.isArray(matrix) && matrix.length === 6) { if (Array.isArray(matrix) && matrix.length === 6) {
xObjStateManager.transform(matrix); xObjStateManager.transform(matrix);
} }
@ -20429,7 +20416,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
return sink.ready; return sink.ready;
} }
}; };
next(self.getTextContent({ self.getTextContent({
stream: xobj, stream: xobj,
task: task, task: task,
resources: xobj.dict.get('Resources') || resources, resources: xobj.dict.get('Resources') || resources,
@ -20442,38 +20429,39 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
if (!sinkWrapper.enqueueInvoked) { if (!sinkWrapper.enqueueInvoked) {
skipEmptyXObjs[name] = true; skipEmptyXObjs[name] = true;
} }
})); resolveXObject();
return { }, rejectXObject);
v: void 0 }).catch(function (reason) {
}; if (reason instanceof _util.AbortException) {
case _util.OPS.setGState: return;
flushTextContentItem();
dictName = args[0];
extGState = resources.get('ExtGState');
if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {
break;
}
gState = extGState.get(dictName.name);
if (!(0, _primitives.isDict)(gState)) {
break;
} }
gStateFont = gState.get('Font'); if (self.options.ignoreErrors) {
(0, _util.warn)('getTextContent - ignoring XObject: "' + reason + '".');
if (gStateFont) { return;
textState.fontName = null;
textState.fontSize = gStateFont[1];
next(handleSetFont(null, gStateFont[0]));
return {
v: void 0
};
} }
throw reason;
}));
return;
case _util.OPS.setGState:
flushTextContentItem();
var dictName = args[0];
var extGState = resources.get('ExtGState');
if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {
break; break;
} }
}(); var gState = extGState.get(dictName.name);
if (!(0, _primitives.isDict)(gState)) {
if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === "object") return _ret2.v; break;
}
var gStateFont = gState.get('Font');
if (gStateFont) {
textState.fontName = null;
textState.fontSize = gStateFont[1];
next(handleSetFont(null, gStateFont[0]));
return;
}
break;
}
if (textContent.items.length >= sink.desiredSize) { if (textContent.items.length >= sink.desiredSize) {
stop = true; stop = true;
break; break;
@ -29773,8 +29761,8 @@ exports.SVGGraphics = SVGGraphics;
"use strict"; "use strict";
var pdfjsVersion = '1.9.632'; var pdfjsVersion = '1.9.634';
var pdfjsBuild = 'bbec2ed1'; var pdfjsBuild = '509d3728';
var pdfjsSharedUtil = __w_pdfjs_require__(0); var pdfjsSharedUtil = __w_pdfjs_require__(0);
var pdfjsDisplayGlobal = __w_pdfjs_require__(98); var pdfjsDisplayGlobal = __w_pdfjs_require__(98);
var pdfjsDisplayAPI = __w_pdfjs_require__(54); var pdfjsDisplayAPI = __w_pdfjs_require__(54);
@ -35635,8 +35623,8 @@ if (!_global_scope2.default.PDFJS) {
} }
var PDFJS = _global_scope2.default.PDFJS; var PDFJS = _global_scope2.default.PDFJS;
{ {
PDFJS.version = '1.9.632'; PDFJS.version = '1.9.634';
PDFJS.build = 'bbec2ed1'; PDFJS.build = '509d3728';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {
@ -38593,7 +38581,7 @@ var WorkerMessageHandler = {
var cancelXHRs = null; var cancelXHRs = null;
var WorkerTasks = []; var WorkerTasks = [];
var apiVersion = docParams.apiVersion; var apiVersion = docParams.apiVersion;
var workerVersion = '1.9.632'; var workerVersion = '1.9.634';
if (apiVersion !== null && apiVersion !== workerVersion) { if (apiVersion !== null && apiVersion !== workerVersion) {
throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".')); throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".'));
} }

2
build/pdf.combined.js.map

File diff suppressed because one or more lines are too long

14
build/pdf.js

@ -2946,7 +2946,7 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
if (worker.destroyed) { if (worker.destroyed) {
return Promise.reject(new Error('Worker was destroyed')); return Promise.reject(new Error('Worker was destroyed'));
} }
var apiVersion = '1.9.632'; var apiVersion = '1.9.634';
source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch'); source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');
source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream'); source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');
source.chunkedViewerLoading = !!pdfDataRangeTransport; source.chunkedViewerLoading = !!pdfDataRangeTransport;
@ -4337,8 +4337,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '1.9.632'; exports.version = version = '1.9.634';
exports.build = build = 'bbec2ed1'; exports.build = build = '509d3728';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort; exports.LoopbackPort = LoopbackPort;
@ -7410,8 +7410,8 @@ exports.SVGGraphics = SVGGraphics;
"use strict"; "use strict";
var pdfjsVersion = '1.9.632'; var pdfjsVersion = '1.9.634';
var pdfjsBuild = 'bbec2ed1'; var pdfjsBuild = '509d3728';
var pdfjsSharedUtil = __w_pdfjs_require__(0); var pdfjsSharedUtil = __w_pdfjs_require__(0);
var pdfjsDisplayGlobal = __w_pdfjs_require__(82); var pdfjsDisplayGlobal = __w_pdfjs_require__(82);
var pdfjsDisplayAPI = __w_pdfjs_require__(48); var pdfjsDisplayAPI = __w_pdfjs_require__(48);
@ -13272,8 +13272,8 @@ if (!_global_scope2.default.PDFJS) {
} }
var PDFJS = _global_scope2.default.PDFJS; var PDFJS = _global_scope2.default.PDFJS;
{ {
PDFJS.version = '1.9.632'; PDFJS.version = '1.9.634';
PDFJS.build = 'bbec2ed1'; PDFJS.build = '509d3728';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {

2
build/pdf.js.map

File diff suppressed because one or more lines are too long

2
build/pdf.min.js vendored

File diff suppressed because one or more lines are too long

398
build/pdf.worker.js vendored

@ -16515,8 +16515,6 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.PartialEvaluator = exports.OperatorList = undefined; exports.PartialEvaluator = exports.OperatorList = undefined;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _util = __w_pdfjs_require__(0); var _util = __w_pdfjs_require__(0);
var _cmap = __w_pdfjs_require__(95); var _cmap = __w_pdfjs_require__(95);
@ -17284,17 +17282,21 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
switch (fn | 0) { switch (fn | 0) {
case _util.OPS.paintXObject: case _util.OPS.paintXObject:
var name = args[0].name; var name = args[0].name;
if (!name) { if (name && imageCache[name] !== undefined) {
(0, _util.warn)('XObject must be referred to by name.');
continue;
}
if (imageCache[name] !== undefined) {
operatorList.addOp(imageCache[name].fn, imageCache[name].args); operatorList.addOp(imageCache[name].fn, imageCache[name].args);
args = null; args = null;
continue; continue;
} }
var xobj = xobjs.get(name); next(new Promise(function (resolveXObject, rejectXObject) {
if (xobj) { if (!name) {
throw new _util.FormatError('XObject must be referred to by name.');
}
var xobj = xobjs.get(name);
if (!xobj) {
operatorList.addOp(fn, args);
resolveXObject();
return;
}
if (!(0, _primitives.isStream)(xobj)) { if (!(0, _primitives.isStream)(xobj)) {
throw new _util.FormatError('XObject should be a stream'); throw new _util.FormatError('XObject should be a stream');
} }
@ -17304,22 +17306,28 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
} }
if (type.name === 'Form') { if (type.name === 'Form') {
stateManager.save(); stateManager.save();
next(self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () { self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {
stateManager.restore(); stateManager.restore();
})); resolveXObject();
}, rejectXObject);
return; return;
} else if (type.name === 'Image') { } else if (type.name === 'Image') {
self.buildPaintImageXObject(resources, xobj, false, operatorList, name, imageCache); self.buildPaintImageXObject(resources, xobj, false, operatorList, name, imageCache);
args = null;
continue;
} else if (type.name === 'PS') { } else if (type.name === 'PS') {
(0, _util.info)('Ignored XObject subtype PS'); (0, _util.info)('Ignored XObject subtype PS');
continue;
} else { } else {
throw new _util.FormatError('Unhandled XObject subtype ' + type.name); throw new _util.FormatError('Unhandled XObject subtype ' + type.name);
} }
} resolveXObject();
break; }).catch(function (reason) {
if (self.options.ignoreErrors) {
self.handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.unknown });
(0, _util.warn)('getOperatorList - ignoring XObject: "' + reason + '".');
return;
}
throw reason;
}));
return;
case _util.OPS.setFont: case _util.OPS.setFont:
var fontSize = args[1]; var fontSize = args[1];
next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) { next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {
@ -17754,183 +17762,162 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
var fn = operation.fn; var fn = operation.fn;
args = operation.args; args = operation.args;
var advance, diff; var advance, diff;
var fontNameArg, fontSizeArg; switch (fn | 0) {
var isSameTextLine; case _util.OPS.setFont:
var items; var fontNameArg = args[0].name,
var offset; fontSizeArg = args[1];
var j, jj; if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {
var breakTextRun;
var name;
var xobj;
var type;
var currentState;
var xObjStateManager;
var matrix;
var dictName;
var extGState;
var gState;
var gStateFont;
var _ret2 = function () {
switch (fn | 0) {
case _util.OPS.setFont:
fontNameArg = args[0].name;
fontSizeArg = args[1];
if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {
break;
}
flushTextContentItem();
textState.fontName = fontNameArg;
textState.fontSize = fontSizeArg;
next(handleSetFont(fontNameArg, null));
return {
v: void 0
};
case _util.OPS.setTextRise:
flushTextContentItem();
textState.textRise = args[0];
break;
case _util.OPS.setHScale:
flushTextContentItem();
textState.textHScale = args[0] / 100;
break;
case _util.OPS.setLeading:
flushTextContentItem();
textState.leading = args[0];
break;
case _util.OPS.moveText:
isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;
advance = args[0] - args[1];
if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(args[0], args[1]);
textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;
textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;
diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);
addFakeSpaces(diff, textContentItem.str);
break;
}
flushTextContentItem();
textState.translateTextLineMatrix(args[0], args[1]);
textState.textMatrix = textState.textLineMatrix.slice();
break; break;
case _util.OPS.setLeadingMoveText: }
flushTextContentItem(); flushTextContentItem();
textState.leading = -args[1]; textState.fontName = fontNameArg;
textState.fontSize = fontSizeArg;
next(handleSetFont(fontNameArg, null));
return;
case _util.OPS.setTextRise:
flushTextContentItem();
textState.textRise = args[0];
break;
case _util.OPS.setHScale:
flushTextContentItem();
textState.textHScale = args[0] / 100;
break;
case _util.OPS.setLeading:
flushTextContentItem();
textState.leading = args[0];
break;
case _util.OPS.moveText:
var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;
advance = args[0] - args[1];
if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(args[0], args[1]); textState.translateTextLineMatrix(args[0], args[1]);
textState.textMatrix = textState.textLineMatrix.slice(); textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;
break; textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;
case _util.OPS.nextLine: diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);
flushTextContentItem(); addFakeSpaces(diff, textContentItem.str);
textState.carriageReturn();
break;
case _util.OPS.setTextMatrix:
advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);
if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(advance.width, advance.height);
textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;
textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;
diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);
addFakeSpaces(diff, textContentItem.str);
break;
}
flushTextContentItem();
textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
break; break;
case _util.OPS.setCharSpacing: }
textState.charSpacing = args[0]; flushTextContentItem();
break; textState.translateTextLineMatrix(args[0], args[1]);
case _util.OPS.setWordSpacing: textState.textMatrix = textState.textLineMatrix.slice();
textState.wordSpacing = args[0]; break;
break; case _util.OPS.setLeadingMoveText:
case _util.OPS.beginText: flushTextContentItem();
flushTextContentItem(); textState.leading = -args[1];
textState.textMatrix = _util.IDENTITY_MATRIX.slice(); textState.translateTextLineMatrix(args[0], args[1]);
textState.textLineMatrix = _util.IDENTITY_MATRIX.slice(); textState.textMatrix = textState.textLineMatrix.slice();
break;
case _util.OPS.nextLine:
flushTextContentItem();
textState.carriageReturn();
break;
case _util.OPS.setTextMatrix:
advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);
if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(advance.width, advance.height);
textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;
textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;
diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);
addFakeSpaces(diff, textContentItem.str);
break; break;
case _util.OPS.showSpacedText: }
items = args[0]; flushTextContentItem();
textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
for (j = 0, jj = items.length; j < jj; j++) { textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
if (typeof items[j] === 'string') { break;
buildTextContentItem(items[j]); case _util.OPS.setCharSpacing:
} else if ((0, _util.isNum)(items[j])) { textState.charSpacing = args[0];
ensureTextContentItem(); break;
advance = items[j] * textState.fontSize / 1000; case _util.OPS.setWordSpacing:
breakTextRun = false; textState.wordSpacing = args[0];
break;
if (textState.font.vertical) { case _util.OPS.beginText:
offset = advance; flushTextContentItem();
textState.translateTextMatrix(0, offset); textState.textMatrix = _util.IDENTITY_MATRIX.slice();
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax; textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();
if (!breakTextRun) { break;
textContentItem.height += offset; case _util.OPS.showSpacedText:
} var items = args[0];
} else { var offset;
advance = -advance; for (var j = 0, jj = items.length; j < jj; j++) {
offset = advance * textState.textHScale; if (typeof items[j] === 'string') {
textState.translateTextMatrix(offset, 0); buildTextContentItem(items[j]);
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax; } else if ((0, _util.isNum)(items[j])) {
if (!breakTextRun) { ensureTextContentItem();
textContentItem.width += offset; advance = items[j] * textState.fontSize / 1000;
} var breakTextRun = false;
if (textState.font.vertical) {
offset = advance;
textState.translateTextMatrix(0, offset);
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;
if (!breakTextRun) {
textContentItem.height += offset;
} }
if (breakTextRun) { } else {
flushTextContentItem(); advance = -advance;
} else if (advance > 0) { offset = advance * textState.textHScale;
addFakeSpaces(advance, textContentItem.str); textState.translateTextMatrix(offset, 0);
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;
if (!breakTextRun) {
textContentItem.width += offset;
} }
} }
if (breakTextRun) {
flushTextContentItem();
} else if (advance > 0) {
addFakeSpaces(advance, textContentItem.str);
}
} }
}
break;
case _util.OPS.showText:
buildTextContentItem(args[0]);
break;
case _util.OPS.nextLineShowText:
flushTextContentItem();
textState.carriageReturn();
buildTextContentItem(args[0]);
break;
case _util.OPS.nextLineSetSpacingShowText:
flushTextContentItem();
textState.wordSpacing = args[0];
textState.charSpacing = args[1];
textState.carriageReturn();
buildTextContentItem(args[2]);
break;
case _util.OPS.paintXObject:
flushTextContentItem();
if (!xobjs) {
xobjs = resources.get('XObject') || _primitives.Dict.empty;
}
var name = args[0].name;
if (name && skipEmptyXObjs[name] !== undefined) {
break; break;
case _util.OPS.showText: }
buildTextContentItem(args[0]); next(new Promise(function (resolveXObject, rejectXObject) {
break; if (!name) {
case _util.OPS.nextLineShowText: throw new _util.FormatError('XObject must be referred to by name.');
flushTextContentItem();
textState.carriageReturn();
buildTextContentItem(args[0]);
break;
case _util.OPS.nextLineSetSpacingShowText:
flushTextContentItem();
textState.wordSpacing = args[0];
textState.charSpacing = args[1];
textState.carriageReturn();
buildTextContentItem(args[2]);
break;
case _util.OPS.paintXObject:
flushTextContentItem();
if (!xobjs) {
xobjs = resources.get('XObject') || _primitives.Dict.empty;
}
name = args[0].name;
if (name in skipEmptyXObjs) {
break;
} }
xobj = xobjs.get(name); var xobj = xobjs.get(name);
if (!xobj) { if (!xobj) {
break; resolveXObject();
return;
} }
if (!(0, _primitives.isStream)(xobj)) { if (!(0, _primitives.isStream)(xobj)) {
throw new _util.FormatError('XObject should be a stream'); throw new _util.FormatError('XObject should be a stream');
} }
type = xobj.dict.get('Subtype'); var type = xobj.dict.get('Subtype');
if (!(0, _primitives.isName)(type)) { if (!(0, _primitives.isName)(type)) {
throw new _util.FormatError('XObject should have a Name subtype'); throw new _util.FormatError('XObject should have a Name subtype');
} }
if (type.name !== 'Form') { if (type.name !== 'Form') {
skipEmptyXObjs[name] = true; skipEmptyXObjs[name] = true;
break; resolveXObject();
return;
} }
currentState = stateManager.state.clone(); var currentState = stateManager.state.clone();
xObjStateManager = new StateManager(currentState); var xObjStateManager = new StateManager(currentState);
matrix = xobj.dict.getArray('Matrix'); var matrix = xobj.dict.getArray('Matrix');
if (Array.isArray(matrix) && matrix.length === 6) { if (Array.isArray(matrix) && matrix.length === 6) {
xObjStateManager.transform(matrix); xObjStateManager.transform(matrix);
} }
@ -17949,7 +17936,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
return sink.ready; return sink.ready;
} }
}; };
next(self.getTextContent({ self.getTextContent({
stream: xobj, stream: xobj,
task: task, task: task,
resources: xobj.dict.get('Resources') || resources, resources: xobj.dict.get('Resources') || resources,
@ -17962,38 +17949,39 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
if (!sinkWrapper.enqueueInvoked) { if (!sinkWrapper.enqueueInvoked) {
skipEmptyXObjs[name] = true; skipEmptyXObjs[name] = true;
} }
})); resolveXObject();
return { }, rejectXObject);
v: void 0 }).catch(function (reason) {
}; if (reason instanceof _util.AbortException) {
case _util.OPS.setGState: return;
flushTextContentItem();
dictName = args[0];
extGState = resources.get('ExtGState');
if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {
break;
}
gState = extGState.get(dictName.name);
if (!(0, _primitives.isDict)(gState)) {
break;
} }
gStateFont = gState.get('Font'); if (self.options.ignoreErrors) {
(0, _util.warn)('getTextContent - ignoring XObject: "' + reason + '".');
if (gStateFont) { return;
textState.fontName = null;
textState.fontSize = gStateFont[1];
next(handleSetFont(null, gStateFont[0]));
return {
v: void 0
};
} }
throw reason;
}));
return;
case _util.OPS.setGState:
flushTextContentItem();
var dictName = args[0];
var extGState = resources.get('ExtGState');
if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {
break; break;
} }
}(); var gState = extGState.get(dictName.name);
if (!(0, _primitives.isDict)(gState)) {
if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === "object") return _ret2.v; break;
}
var gStateFont = gState.get('Font');
if (gStateFont) {
textState.fontName = null;
textState.fontSize = gStateFont[1];
next(handleSetFont(null, gStateFont[0]));
return;
}
break;
}
if (textContent.items.length >= sink.desiredSize) { if (textContent.items.length >= sink.desiredSize) {
stop = true; stop = true;
break; break;
@ -24717,8 +24705,8 @@ exports.PostScriptCompiler = PostScriptCompiler;
"use strict"; "use strict";
var pdfjsVersion = '1.9.632'; var pdfjsVersion = '1.9.634';
var pdfjsBuild = 'bbec2ed1'; var pdfjsBuild = '509d3728';
var pdfjsCoreWorker = __w_pdfjs_require__(62); var pdfjsCoreWorker = __w_pdfjs_require__(62);
exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler; exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;
@ -24923,7 +24911,7 @@ var WorkerMessageHandler = {
var cancelXHRs = null; var cancelXHRs = null;
var WorkerTasks = []; var WorkerTasks = [];
var apiVersion = docParams.apiVersion; var apiVersion = docParams.apiVersion;
var workerVersion = '1.9.632'; var workerVersion = '1.9.634';
if (apiVersion !== null && apiVersion !== workerVersion) { if (apiVersion !== null && apiVersion !== workerVersion) {
throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".')); throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".'));
} }

2
build/pdf.worker.js.map vendored

File diff suppressed because one or more lines are too long

2
build/pdf.worker.min.js vendored

File diff suppressed because one or more lines are too long

392
lib/core/evaluator.js

@ -19,8 +19,6 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.PartialEvaluator = exports.OperatorList = undefined; exports.PartialEvaluator = exports.OperatorList = undefined;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _util = require('../shared/util'); var _util = require('../shared/util');
var _cmap = require('./cmap'); var _cmap = require('./cmap');
@ -788,17 +786,21 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
switch (fn | 0) { switch (fn | 0) {
case _util.OPS.paintXObject: case _util.OPS.paintXObject:
var name = args[0].name; var name = args[0].name;
if (!name) { if (name && imageCache[name] !== undefined) {
(0, _util.warn)('XObject must be referred to by name.');
continue;
}
if (imageCache[name] !== undefined) {
operatorList.addOp(imageCache[name].fn, imageCache[name].args); operatorList.addOp(imageCache[name].fn, imageCache[name].args);
args = null; args = null;
continue; continue;
} }
var xobj = xobjs.get(name); next(new Promise(function (resolveXObject, rejectXObject) {
if (xobj) { if (!name) {
throw new _util.FormatError('XObject must be referred to by name.');
}
var xobj = xobjs.get(name);
if (!xobj) {
operatorList.addOp(fn, args);
resolveXObject();
return;
}
if (!(0, _primitives.isStream)(xobj)) { if (!(0, _primitives.isStream)(xobj)) {
throw new _util.FormatError('XObject should be a stream'); throw new _util.FormatError('XObject should be a stream');
} }
@ -808,22 +810,28 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
} }
if (type.name === 'Form') { if (type.name === 'Form') {
stateManager.save(); stateManager.save();
next(self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () { self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {
stateManager.restore(); stateManager.restore();
})); resolveXObject();
}, rejectXObject);
return; return;
} else if (type.name === 'Image') { } else if (type.name === 'Image') {
self.buildPaintImageXObject(resources, xobj, false, operatorList, name, imageCache); self.buildPaintImageXObject(resources, xobj, false, operatorList, name, imageCache);
args = null;
continue;
} else if (type.name === 'PS') { } else if (type.name === 'PS') {
(0, _util.info)('Ignored XObject subtype PS'); (0, _util.info)('Ignored XObject subtype PS');
continue;
} else { } else {
throw new _util.FormatError('Unhandled XObject subtype ' + type.name); throw new _util.FormatError('Unhandled XObject subtype ' + type.name);
} }
} resolveXObject();
break; }).catch(function (reason) {
if (self.options.ignoreErrors) {
self.handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.unknown });
(0, _util.warn)('getOperatorList - ignoring XObject: "' + reason + '".');
return;
}
throw reason;
}));
return;
case _util.OPS.setFont: case _util.OPS.setFont:
var fontSize = args[1]; var fontSize = args[1];
next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) { next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {
@ -1258,183 +1266,162 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
var fn = operation.fn; var fn = operation.fn;
args = operation.args; args = operation.args;
var advance, diff; var advance, diff;
var fontNameArg, fontSizeArg; switch (fn | 0) {
var isSameTextLine; case _util.OPS.setFont:
var items; var fontNameArg = args[0].name,
var offset; fontSizeArg = args[1];
var j, jj; if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {
var breakTextRun;
var name;
var xobj;
var type;
var currentState;
var xObjStateManager;
var matrix;
var dictName;
var extGState;
var gState;
var gStateFont;
var _ret2 = function () {
switch (fn | 0) {
case _util.OPS.setFont:
fontNameArg = args[0].name;
fontSizeArg = args[1];
if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {
break;
}
flushTextContentItem();
textState.fontName = fontNameArg;
textState.fontSize = fontSizeArg;
next(handleSetFont(fontNameArg, null));
return {
v: void 0
};
case _util.OPS.setTextRise:
flushTextContentItem();
textState.textRise = args[0];
break;
case _util.OPS.setHScale:
flushTextContentItem();
textState.textHScale = args[0] / 100;
break;
case _util.OPS.setLeading:
flushTextContentItem();
textState.leading = args[0];
break;
case _util.OPS.moveText:
isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;
advance = args[0] - args[1];
if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(args[0], args[1]);
textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;
textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;
diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);
addFakeSpaces(diff, textContentItem.str);
break;
}
flushTextContentItem();
textState.translateTextLineMatrix(args[0], args[1]);
textState.textMatrix = textState.textLineMatrix.slice();
break; break;
case _util.OPS.setLeadingMoveText: }
flushTextContentItem(); flushTextContentItem();
textState.leading = -args[1]; textState.fontName = fontNameArg;
textState.fontSize = fontSizeArg;
next(handleSetFont(fontNameArg, null));
return;
case _util.OPS.setTextRise:
flushTextContentItem();
textState.textRise = args[0];
break;
case _util.OPS.setHScale:
flushTextContentItem();
textState.textHScale = args[0] / 100;
break;
case _util.OPS.setLeading:
flushTextContentItem();
textState.leading = args[0];
break;
case _util.OPS.moveText:
var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;
advance = args[0] - args[1];
if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(args[0], args[1]); textState.translateTextLineMatrix(args[0], args[1]);
textState.textMatrix = textState.textLineMatrix.slice(); textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;
break; textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;
case _util.OPS.nextLine: diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);
flushTextContentItem(); addFakeSpaces(diff, textContentItem.str);
textState.carriageReturn();
break;
case _util.OPS.setTextMatrix:
advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);
if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(advance.width, advance.height);
textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;
textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;
diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);
addFakeSpaces(diff, textContentItem.str);
break;
}
flushTextContentItem();
textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
break; break;
case _util.OPS.setCharSpacing: }
textState.charSpacing = args[0]; flushTextContentItem();
break; textState.translateTextLineMatrix(args[0], args[1]);
case _util.OPS.setWordSpacing: textState.textMatrix = textState.textLineMatrix.slice();
textState.wordSpacing = args[0]; break;
break; case _util.OPS.setLeadingMoveText:
case _util.OPS.beginText: flushTextContentItem();
flushTextContentItem(); textState.leading = -args[1];
textState.textMatrix = _util.IDENTITY_MATRIX.slice(); textState.translateTextLineMatrix(args[0], args[1]);
textState.textLineMatrix = _util.IDENTITY_MATRIX.slice(); textState.textMatrix = textState.textLineMatrix.slice();
break;
case _util.OPS.nextLine:
flushTextContentItem();
textState.carriageReturn();
break;
case _util.OPS.setTextMatrix:
advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);
if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {
textState.translateTextLineMatrix(advance.width, advance.height);
textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;
textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;
diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);
addFakeSpaces(diff, textContentItem.str);
break; break;
case _util.OPS.showSpacedText: }
items = args[0]; flushTextContentItem();
textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
for (j = 0, jj = items.length; j < jj; j++) { textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
if (typeof items[j] === 'string') { break;
buildTextContentItem(items[j]); case _util.OPS.setCharSpacing:
} else if ((0, _util.isNum)(items[j])) { textState.charSpacing = args[0];
ensureTextContentItem(); break;
advance = items[j] * textState.fontSize / 1000; case _util.OPS.setWordSpacing:
breakTextRun = false; textState.wordSpacing = args[0];
break;
if (textState.font.vertical) { case _util.OPS.beginText:
offset = advance; flushTextContentItem();
textState.translateTextMatrix(0, offset); textState.textMatrix = _util.IDENTITY_MATRIX.slice();
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax; textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();
if (!breakTextRun) { break;
textContentItem.height += offset; case _util.OPS.showSpacedText:
} var items = args[0];
} else { var offset;
advance = -advance; for (var j = 0, jj = items.length; j < jj; j++) {
offset = advance * textState.textHScale; if (typeof items[j] === 'string') {
textState.translateTextMatrix(offset, 0); buildTextContentItem(items[j]);
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax; } else if ((0, _util.isNum)(items[j])) {
if (!breakTextRun) { ensureTextContentItem();
textContentItem.width += offset; advance = items[j] * textState.fontSize / 1000;
} var breakTextRun = false;
if (textState.font.vertical) {
offset = advance;
textState.translateTextMatrix(0, offset);
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;
if (!breakTextRun) {
textContentItem.height += offset;
} }
if (breakTextRun) { } else {
flushTextContentItem(); advance = -advance;
} else if (advance > 0) { offset = advance * textState.textHScale;
addFakeSpaces(advance, textContentItem.str); textState.translateTextMatrix(offset, 0);
breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;
if (!breakTextRun) {
textContentItem.width += offset;
} }
} }
if (breakTextRun) {
flushTextContentItem();
} else if (advance > 0) {
addFakeSpaces(advance, textContentItem.str);
}
} }
}
break;
case _util.OPS.showText:
buildTextContentItem(args[0]);
break;
case _util.OPS.nextLineShowText:
flushTextContentItem();
textState.carriageReturn();
buildTextContentItem(args[0]);
break;
case _util.OPS.nextLineSetSpacingShowText:
flushTextContentItem();
textState.wordSpacing = args[0];
textState.charSpacing = args[1];
textState.carriageReturn();
buildTextContentItem(args[2]);
break;
case _util.OPS.paintXObject:
flushTextContentItem();
if (!xobjs) {
xobjs = resources.get('XObject') || _primitives.Dict.empty;
}
var name = args[0].name;
if (name && skipEmptyXObjs[name] !== undefined) {
break; break;
case _util.OPS.showText: }
buildTextContentItem(args[0]); next(new Promise(function (resolveXObject, rejectXObject) {
break; if (!name) {
case _util.OPS.nextLineShowText: throw new _util.FormatError('XObject must be referred to by name.');
flushTextContentItem();
textState.carriageReturn();
buildTextContentItem(args[0]);
break;
case _util.OPS.nextLineSetSpacingShowText:
flushTextContentItem();
textState.wordSpacing = args[0];
textState.charSpacing = args[1];
textState.carriageReturn();
buildTextContentItem(args[2]);
break;
case _util.OPS.paintXObject:
flushTextContentItem();
if (!xobjs) {
xobjs = resources.get('XObject') || _primitives.Dict.empty;
}
name = args[0].name;
if (name in skipEmptyXObjs) {
break;
} }
xobj = xobjs.get(name); var xobj = xobjs.get(name);
if (!xobj) { if (!xobj) {
break; resolveXObject();
return;
} }
if (!(0, _primitives.isStream)(xobj)) { if (!(0, _primitives.isStream)(xobj)) {
throw new _util.FormatError('XObject should be a stream'); throw new _util.FormatError('XObject should be a stream');
} }
type = xobj.dict.get('Subtype'); var type = xobj.dict.get('Subtype');
if (!(0, _primitives.isName)(type)) { if (!(0, _primitives.isName)(type)) {
throw new _util.FormatError('XObject should have a Name subtype'); throw new _util.FormatError('XObject should have a Name subtype');
} }
if (type.name !== 'Form') { if (type.name !== 'Form') {
skipEmptyXObjs[name] = true; skipEmptyXObjs[name] = true;
break; resolveXObject();
return;
} }
currentState = stateManager.state.clone(); var currentState = stateManager.state.clone();
xObjStateManager = new StateManager(currentState); var xObjStateManager = new StateManager(currentState);
matrix = xobj.dict.getArray('Matrix'); var matrix = xobj.dict.getArray('Matrix');
if (Array.isArray(matrix) && matrix.length === 6) { if (Array.isArray(matrix) && matrix.length === 6) {
xObjStateManager.transform(matrix); xObjStateManager.transform(matrix);
} }
@ -1453,7 +1440,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
return sink.ready; return sink.ready;
} }
}; };
next(self.getTextContent({ self.getTextContent({
stream: xobj, stream: xobj,
task: task, task: task,
resources: xobj.dict.get('Resources') || resources, resources: xobj.dict.get('Resources') || resources,
@ -1466,38 +1453,39 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
if (!sinkWrapper.enqueueInvoked) { if (!sinkWrapper.enqueueInvoked) {
skipEmptyXObjs[name] = true; skipEmptyXObjs[name] = true;
} }
})); resolveXObject();
return { }, rejectXObject);
v: void 0 }).catch(function (reason) {
}; if (reason instanceof _util.AbortException) {
case _util.OPS.setGState: return;
flushTextContentItem();
dictName = args[0];
extGState = resources.get('ExtGState');
if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {
break;
}
gState = extGState.get(dictName.name);
if (!(0, _primitives.isDict)(gState)) {
break;
} }
gStateFont = gState.get('Font'); if (self.options.ignoreErrors) {
(0, _util.warn)('getTextContent - ignoring XObject: "' + reason + '".');
if (gStateFont) { return;
textState.fontName = null;
textState.fontSize = gStateFont[1];
next(handleSetFont(null, gStateFont[0]));
return {
v: void 0
};
} }
throw reason;
}));
return;
case _util.OPS.setGState:
flushTextContentItem();
var dictName = args[0];
var extGState = resources.get('ExtGState');
if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {
break; break;
} }
}(); var gState = extGState.get(dictName.name);
if (!(0, _primitives.isDict)(gState)) {
if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === "object") return _ret2.v; break;
}
var gStateFont = gState.get('Font');
if (gStateFont) {
textState.fontName = null;
textState.fontSize = gStateFont[1];
next(handleSetFont(null, gStateFont[0]));
return;
}
break;
}
if (textContent.items.length >= sink.desiredSize) { if (textContent.items.length >= sink.desiredSize) {
stop = true; stop = true;
break; break;

2
lib/core/worker.js

@ -208,7 +208,7 @@ var WorkerMessageHandler = {
var cancelXHRs = null; var cancelXHRs = null;
var WorkerTasks = []; var WorkerTasks = [];
var apiVersion = docParams.apiVersion; var apiVersion = docParams.apiVersion;
var workerVersion = '1.9.632'; var workerVersion = '1.9.634';
if (apiVersion !== null && apiVersion !== workerVersion) { if (apiVersion !== null && apiVersion !== workerVersion) {
throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".')); throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".'));
} }

6
lib/display/api.js

@ -193,7 +193,7 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
if (worker.destroyed) { if (worker.destroyed) {
return Promise.reject(new Error('Worker was destroyed')); return Promise.reject(new Error('Worker was destroyed'));
} }
var apiVersion = '1.9.632'; var apiVersion = '1.9.634';
source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch'); source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');
source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream'); source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');
source.chunkedViewerLoading = !!pdfDataRangeTransport; source.chunkedViewerLoading = !!pdfDataRangeTransport;
@ -1584,8 +1584,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '1.9.632'; exports.version = version = '1.9.634';
exports.build = build = 'bbec2ed1'; exports.build = build = '509d3728';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort; exports.LoopbackPort = LoopbackPort;

4
lib/display/global.js

@ -44,8 +44,8 @@ if (!_global_scope2.default.PDFJS) {
} }
var PDFJS = _global_scope2.default.PDFJS; var PDFJS = _global_scope2.default.PDFJS;
{ {
PDFJS.version = '1.9.632'; PDFJS.version = '1.9.634';
PDFJS.build = 'bbec2ed1'; PDFJS.build = '509d3728';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {

4
lib/pdf.js

@ -14,8 +14,8 @@
*/ */
'use strict'; 'use strict';
var pdfjsVersion = '1.9.632'; var pdfjsVersion = '1.9.634';
var pdfjsBuild = 'bbec2ed1'; var pdfjsBuild = '509d3728';
var pdfjsSharedUtil = require('./shared/util.js'); var pdfjsSharedUtil = require('./shared/util.js');
var pdfjsDisplayGlobal = require('./display/global.js'); var pdfjsDisplayGlobal = require('./display/global.js');
var pdfjsDisplayAPI = require('./display/api.js'); var pdfjsDisplayAPI = require('./display/api.js');

4
lib/pdf.worker.js vendored

@ -14,7 +14,7 @@
*/ */
'use strict'; 'use strict';
var pdfjsVersion = '1.9.632'; var pdfjsVersion = '1.9.634';
var pdfjsBuild = 'bbec2ed1'; var pdfjsBuild = '509d3728';
var pdfjsCoreWorker = require('./core/worker.js'); var pdfjsCoreWorker = require('./core/worker.js');
exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler; exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;

10
lib/test/unit/evaluator_spec.js

@ -16,12 +16,12 @@
var _primitives = require('../../core/primitives'); var _primitives = require('../../core/primitives');
var _util = require('../../shared/util');
var _evaluator = require('../../core/evaluator'); var _evaluator = require('../../core/evaluator');
var _stream = require('../../core/stream'); var _stream = require('../../core/stream');
var _util = require('../../shared/util');
var _worker = require('../../core/worker'); var _worker = require('../../core/worker');
var _test_utils = require('./test_utils'); var _test_utils = require('./test_utils');
@ -55,6 +55,8 @@ describe('evaluator', function () {
operatorList: result operatorList: result
}).then(function () { }).then(function () {
callback(result); callback(result);
}, function (reason) {
callback(reason);
}); });
} }
var partialEvaluator; var partialEvaluator;
@ -213,8 +215,8 @@ describe('evaluator', function () {
it('should skip paintXObject if name is missing', function (done) { it('should skip paintXObject if name is missing', function (done) {
var stream = new _stream.StringStream('/ Do'); var stream = new _stream.StringStream('/ Do');
runOperatorListCheck(partialEvaluator, stream, new ResourcesMock(), function (result) { runOperatorListCheck(partialEvaluator, stream, new ResourcesMock(), function (result) {
expect(result.argsArray).toEqual([]); expect(result instanceof _util.FormatError).toEqual(true);
expect(result.fnArray).toEqual([]); expect(result.message).toEqual('XObject must be referred to by name.');
done(); done();
}); });
}); });

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "pdfjs-dist", "name": "pdfjs-dist",
"version": "1.9.632", "version": "1.9.634",
"main": "build/pdf.js", "main": "build/pdf.js",
"description": "Generic build of Mozilla's PDF.js library.", "description": "Generic build of Mozilla's PDF.js library.",
"keywords": [ "keywords": [

Loading…
Cancel
Save