pdfjs-dist 2.0.943 → 2.1.266

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pdfjs-dist might be problematic. Click here for more details.

Files changed (159) hide show
  1. package/bower.json +1 -1
  2. package/build/pdf.js +15329 -11095
  3. package/build/pdf.js.map +1 -1
  4. package/build/pdf.min.js +1 -1
  5. package/build/pdf.worker.js +12497 -4184
  6. package/build/pdf.worker.js.map +1 -1
  7. package/build/pdf.worker.min.js +1 -1
  8. package/image_decoders/pdf.image_decoders.js +3438 -1209
  9. package/image_decoders/pdf.image_decoders.js.map +1 -1
  10. package/image_decoders/pdf.image_decoders.min.js +1 -1
  11. package/lib/core/annotation.js +335 -109
  12. package/lib/core/arithmetic_decoder.js +274 -244
  13. package/lib/core/bidi.js +64 -5
  14. package/lib/core/ccitt.js +172 -17
  15. package/lib/core/ccitt_stream.js +14 -5
  16. package/lib/core/cff_parser.js +304 -28
  17. package/lib/core/charsets.js +4 -3
  18. package/lib/core/chunked_stream.js +379 -149
  19. package/lib/core/cmap.js +210 -40
  20. package/lib/core/colorspace.js +332 -187
  21. package/lib/core/crypto.js +289 -44
  22. package/lib/core/document.js +508 -249
  23. package/lib/core/encodings.js +18 -9
  24. package/lib/core/evaluator.js +657 -119
  25. package/lib/core/font_renderer.js +217 -34
  26. package/lib/core/fonts.js +632 -41
  27. package/lib/core/function.js +252 -26
  28. package/lib/core/glyphlist.js +2 -1
  29. package/lib/core/image.js +124 -27
  30. package/lib/core/jbig2.js +425 -65
  31. package/lib/core/jbig2_stream.js +18 -7
  32. package/lib/core/jpeg_stream.js +24 -8
  33. package/lib/core/jpg.js +208 -16
  34. package/lib/core/jpx.js +395 -5
  35. package/lib/core/jpx_stream.js +17 -5
  36. package/lib/core/metrics.js +3 -3
  37. package/lib/core/murmurhash3.js +23 -5
  38. package/lib/core/obj.js +625 -132
  39. package/lib/core/operator_list.js +104 -3
  40. package/lib/core/parser.js +262 -25
  41. package/lib/core/pattern.js +144 -12
  42. package/lib/core/pdf_manager.js +104 -70
  43. package/lib/core/primitives.js +74 -21
  44. package/lib/core/ps_parser.js +133 -44
  45. package/lib/core/standard_fonts.js +9 -9
  46. package/lib/core/stream.js +283 -31
  47. package/lib/core/type1_parser.js +138 -6
  48. package/lib/core/unicode.js +28 -1
  49. package/lib/core/worker.js +192 -57
  50. package/lib/display/annotation_layer.js +303 -123
  51. package/lib/display/api.js +1073 -574
  52. package/lib/display/api_compatibility.js +4 -1
  53. package/lib/display/canvas.js +314 -18
  54. package/lib/display/content_disposition.js +70 -23
  55. package/lib/display/dom_utils.js +112 -59
  56. package/lib/display/fetch_stream.js +95 -50
  57. package/lib/display/font_loader.js +250 -132
  58. package/lib/display/metadata.js +37 -15
  59. package/lib/display/network.js +123 -34
  60. package/lib/display/network_utils.js +23 -10
  61. package/lib/display/node_stream.js +162 -65
  62. package/lib/display/pattern_helper.js +57 -6
  63. package/lib/display/svg.js +194 -18
  64. package/lib/display/text_layer.js +128 -14
  65. package/lib/display/transport_stream.js +83 -27
  66. package/lib/display/webgl.js +63 -17
  67. package/lib/display/worker_options.js +4 -3
  68. package/lib/display/xml_parser.js +162 -52
  69. package/lib/examples/node/domstubs.js +56 -3
  70. package/lib/pdf.js +15 -2
  71. package/lib/pdf.worker.js +4 -2
  72. package/lib/shared/compatibility.js +129 -26
  73. package/lib/shared/global_scope.js +1 -1
  74. package/lib/shared/is_node.js +3 -3
  75. package/lib/shared/message_handler.js +103 -45
  76. package/lib/shared/streams_polyfill.js +20 -16
  77. package/lib/shared/url_polyfill.js +8 -2
  78. package/lib/shared/util.js +246 -84
  79. package/lib/test/unit/annotation_spec.js +99 -73
  80. package/lib/test/unit/api_spec.js +347 -113
  81. package/lib/test/unit/bidi_spec.js +6 -6
  82. package/lib/test/unit/cff_parser_spec.js +17 -5
  83. package/lib/test/unit/clitests_helper.js +7 -8
  84. package/lib/test/unit/cmap_spec.js +79 -25
  85. package/lib/test/unit/colorspace_spec.js +65 -18
  86. package/lib/test/unit/crypto_spec.js +16 -4
  87. package/lib/test/unit/custom_spec.js +40 -52
  88. package/lib/test/unit/display_svg_spec.js +32 -16
  89. package/lib/test/unit/document_spec.js +2 -2
  90. package/lib/test/unit/dom_utils_spec.js +8 -8
  91. package/lib/test/unit/encodings_spec.js +24 -44
  92. package/lib/test/unit/evaluator_spec.js +15 -8
  93. package/lib/test/unit/function_spec.js +16 -4
  94. package/lib/test/unit/jasmine-boot.js +29 -16
  95. package/lib/test/unit/message_handler_spec.js +19 -6
  96. package/lib/test/unit/metadata_spec.js +64 -11
  97. package/lib/test/unit/murmurhash3_spec.js +2 -2
  98. package/lib/test/unit/network_spec.js +19 -4
  99. package/lib/test/unit/network_utils_spec.js +6 -4
  100. package/lib/test/unit/node_stream_spec.js +50 -26
  101. package/lib/test/unit/parser_spec.js +13 -29
  102. package/lib/test/unit/pdf_find_controller_spec.js +144 -32
  103. package/lib/test/unit/pdf_find_utils_spec.js +10 -9
  104. package/lib/test/unit/pdf_history_spec.js +20 -8
  105. package/lib/test/unit/primitives_spec.js +23 -3
  106. package/lib/test/unit/stream_spec.js +8 -3
  107. package/lib/test/unit/test_utils.js +89 -26
  108. package/lib/test/unit/testreporter.js +19 -1
  109. package/lib/test/unit/type1_parser_spec.js +7 -5
  110. package/lib/test/unit/ui_utils_spec.js +162 -38
  111. package/lib/test/unit/unicode_spec.js +13 -10
  112. package/lib/test/unit/util_spec.js +89 -9
  113. package/lib/web/annotation_layer_builder.js +38 -21
  114. package/lib/web/app.js +610 -245
  115. package/lib/web/app_options.js +54 -34
  116. package/lib/web/base_viewer.js +359 -162
  117. package/lib/web/chromecom.js +159 -80
  118. package/lib/web/debugger.js +161 -17
  119. package/lib/web/download_manager.js +29 -11
  120. package/lib/web/firefox_print_service.js +16 -8
  121. package/lib/web/firefoxcom.js +127 -91
  122. package/lib/web/genericcom.js +50 -31
  123. package/lib/web/genericl10n.js +46 -34
  124. package/lib/web/grab_to_pan.js +25 -3
  125. package/lib/web/interfaces.js +108 -61
  126. package/lib/web/overlay_manager.js +67 -45
  127. package/lib/web/password_prompt.js +20 -12
  128. package/lib/web/pdf_attachment_viewer.js +37 -17
  129. package/lib/web/pdf_cursor_tools.js +38 -15
  130. package/lib/web/pdf_document_properties.js +65 -24
  131. package/lib/web/pdf_find_bar.js +48 -20
  132. package/lib/web/pdf_find_controller.js +290 -89
  133. package/lib/web/pdf_find_utils.js +19 -3
  134. package/lib/web/pdf_history.js +186 -49
  135. package/lib/web/pdf_link_service.js +127 -52
  136. package/lib/web/pdf_outline_viewer.js +71 -21
  137. package/lib/web/pdf_page_view.js +188 -63
  138. package/lib/web/pdf_presentation_mode.js +98 -33
  139. package/lib/web/pdf_print_service.js +54 -10
  140. package/lib/web/pdf_rendering_queue.js +26 -4
  141. package/lib/web/pdf_sidebar.js +116 -62
  142. package/lib/web/pdf_sidebar_resizer.js +41 -15
  143. package/lib/web/pdf_single_page_viewer.js +65 -68
  144. package/lib/web/pdf_thumbnail_view.js +102 -31
  145. package/lib/web/pdf_thumbnail_viewer.js +62 -22
  146. package/lib/web/pdf_viewer.component.js +111 -31
  147. package/lib/web/pdf_viewer.js +80 -60
  148. package/lib/web/preferences.js +61 -39
  149. package/lib/web/secondary_toolbar.js +101 -82
  150. package/lib/web/text_layer_builder.js +124 -69
  151. package/lib/web/toolbar.js +67 -27
  152. package/lib/web/ui_utils.js +284 -128
  153. package/lib/web/view_history.js +75 -51
  154. package/lib/web/viewer_compatibility.js +2 -1
  155. package/package.json +1 -1
  156. package/web/pdf_viewer.css +1 -1
  157. package/web/pdf_viewer.js +2200 -973
  158. package/web/pdf_viewer.js.map +1 -1
  159. package/lib/web/dom_events.js +0 -140
@@ -19,14 +19,15 @@
19
19
  * @licend The above is the entire license notice for the
20
20
  * Javascript code in this page
21
21
  */
22
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.TilingPattern = exports.getShadingPatternFromIR = undefined;
27
+ exports.getShadingPatternFromIR = getShadingPatternFromIR;
28
+ exports.TilingPattern = void 0;
28
29
 
29
- var _util = require('../shared/util');
30
+ var _util = require("../shared/util");
30
31
 
31
32
  var ShadingIRs = {};
32
33
  ShadingIRs.RadialAxial = {
@@ -41,20 +42,24 @@ ShadingIRs.RadialAxial = {
41
42
  type: 'Pattern',
42
43
  getPattern: function RadialAxial_getPattern(ctx) {
43
44
  var grad;
45
+
44
46
  if (type === 'axial') {
45
47
  grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
46
48
  } else if (type === 'radial') {
47
49
  grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
48
50
  }
51
+
49
52
  for (var i = 0, ii = colorStops.length; i < ii; ++i) {
50
53
  var c = colorStops[i];
51
54
  grad.addColorStop(c[0], c[1]);
52
55
  }
56
+
53
57
  return grad;
54
58
  }
55
59
  };
56
60
  }
57
61
  };
62
+
58
63
  var createMeshCanvas = function createMeshCanvasClosure() {
59
64
  function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {
60
65
  var coords = context.coords,
@@ -62,6 +67,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
62
67
  var bytes = data.data,
63
68
  rowSize = data.width * 4;
64
69
  var tmp;
70
+
65
71
  if (coords[p1 + 1] > coords[p2 + 1]) {
66
72
  tmp = p1;
67
73
  p1 = p2;
@@ -70,6 +76,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
70
76
  c1 = c2;
71
77
  c2 = tmp;
72
78
  }
79
+
73
80
  if (coords[p2 + 1] > coords[p3 + 1]) {
74
81
  tmp = p2;
75
82
  p2 = p3;
@@ -78,6 +85,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
78
85
  c2 = c3;
79
86
  c3 = tmp;
80
87
  }
88
+
81
89
  if (coords[p1 + 1] > coords[p2 + 1]) {
82
90
  tmp = p1;
83
91
  p1 = p2;
@@ -86,15 +94,18 @@ var createMeshCanvas = function createMeshCanvasClosure() {
86
94
  c1 = c2;
87
95
  c2 = tmp;
88
96
  }
97
+
89
98
  var x1 = (coords[p1] + context.offsetX) * context.scaleX;
90
99
  var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;
91
100
  var x2 = (coords[p2] + context.offsetX) * context.scaleX;
92
101
  var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;
93
102
  var x3 = (coords[p3] + context.offsetX) * context.scaleX;
94
103
  var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;
104
+
95
105
  if (y1 >= y3) {
96
106
  return;
97
107
  }
108
+
98
109
  var c1r = colors[c1],
99
110
  c1g = colors[c1 + 1],
100
111
  c1b = colors[c1 + 2];
@@ -109,6 +120,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
109
120
  var xa, car, cag, cab;
110
121
  var xb, cbr, cbg, cbb;
111
122
  var k;
123
+
112
124
  for (var y = minY; y <= maxY; y++) {
113
125
  if (y < y2) {
114
126
  k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);
@@ -123,6 +135,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
123
135
  cag = c2g - (c2g - c3g) * k;
124
136
  cab = c2b - (c2b - c3b) * k;
125
137
  }
138
+
126
139
  k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);
127
140
  xb = x1 - (x1 - x3) * k;
128
141
  cbr = c1r - (c1r - c3r) * k;
@@ -131,6 +144,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
131
144
  var x1_ = Math.round(Math.min(xa, xb));
132
145
  var x2_ = Math.round(Math.max(xa, xb));
133
146
  var j = rowSize * y + x1_ * 4;
147
+
134
148
  for (var x = x1_; x <= x2_; x++) {
135
149
  k = (xa - x) / (xa - xb);
136
150
  k = k < 0 ? 0 : k > 1 ? 1 : k;
@@ -141,32 +155,41 @@ var createMeshCanvas = function createMeshCanvasClosure() {
141
155
  }
142
156
  }
143
157
  }
158
+
144
159
  function drawFigure(data, figure, context) {
145
160
  var ps = figure.coords;
146
161
  var cs = figure.colors;
147
162
  var i, ii;
163
+
148
164
  switch (figure.type) {
149
165
  case 'lattice':
150
166
  var verticesPerRow = figure.verticesPerRow;
151
167
  var rows = Math.floor(ps.length / verticesPerRow) - 1;
152
168
  var cols = verticesPerRow - 1;
169
+
153
170
  for (i = 0; i < rows; i++) {
154
171
  var q = i * verticesPerRow;
172
+
155
173
  for (var j = 0; j < cols; j++, q++) {
156
174
  drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);
157
175
  drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);
158
176
  }
159
177
  }
178
+
160
179
  break;
180
+
161
181
  case 'triangles':
162
182
  for (i = 0, ii = ps.length; i < ii; i += 3) {
163
183
  drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
164
184
  }
185
+
165
186
  break;
187
+
166
188
  default:
167
189
  throw new Error('illegal figure');
168
190
  }
169
191
  }
192
+
170
193
  function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {
171
194
  var EXPECTED_SCALE = 1.1;
172
195
  var MAX_PATTERN_SIZE = 3000;
@@ -190,6 +213,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
190
213
  var paddedWidth = width + BORDER_SIZE * 2;
191
214
  var paddedHeight = height + BORDER_SIZE * 2;
192
215
  var canvas, tmpCanvas, i, ii;
216
+
193
217
  if (webGLContext.isEnabled) {
194
218
  canvas = webGLContext.drawFigures({
195
219
  width: width,
@@ -205,8 +229,10 @@ var createMeshCanvas = function createMeshCanvasClosure() {
205
229
  tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);
206
230
  var tmpCtx = tmpCanvas.context;
207
231
  var data = tmpCtx.createImageData(width, height);
232
+
208
233
  if (backgroundColor) {
209
234
  var bytes = data.data;
235
+
210
236
  for (i = 0, ii = bytes.length; i < ii; i += 4) {
211
237
  bytes[i] = backgroundColor[0];
212
238
  bytes[i + 1] = backgroundColor[1];
@@ -214,12 +240,15 @@ var createMeshCanvas = function createMeshCanvasClosure() {
214
240
  bytes[i + 3] = 255;
215
241
  }
216
242
  }
243
+
217
244
  for (i = 0; i < figures.length; i++) {
218
245
  drawFigure(data, figures[i], context);
219
246
  }
247
+
220
248
  tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);
221
249
  canvas = tmpCanvas.canvas;
222
250
  }
251
+
223
252
  return {
224
253
  canvas: canvas,
225
254
  offsetX: offsetX - BORDER_SIZE * scaleX,
@@ -228,8 +257,10 @@ var createMeshCanvas = function createMeshCanvasClosure() {
228
257
  scaleY: scaleY
229
258
  };
230
259
  }
260
+
231
261
  return createMeshCanvas;
232
262
  }();
263
+
233
264
  ShadingIRs.Mesh = {
234
265
  fromIR: function Mesh_fromIR(raw) {
235
266
  var coords = raw[2];
@@ -242,22 +273,29 @@ ShadingIRs.Mesh = {
242
273
  type: 'Pattern',
243
274
  getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {
244
275
  var scale;
276
+
245
277
  if (shadingFill) {
246
278
  scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);
247
279
  } else {
248
280
  scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);
281
+
249
282
  if (matrix) {
250
283
  var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);
284
+
251
285
  scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];
252
286
  }
253
287
  }
288
+
254
289
  var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);
290
+
255
291
  if (!shadingFill) {
256
292
  ctx.setTransform.apply(ctx, owner.baseTransform);
293
+
257
294
  if (matrix) {
258
295
  ctx.transform.apply(ctx, matrix);
259
296
  }
260
297
  }
298
+
261
299
  ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
262
300
  ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
263
301
  return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');
@@ -275,19 +313,24 @@ ShadingIRs.Dummy = {
275
313
  };
276
314
  }
277
315
  };
316
+
278
317
  function getShadingPatternFromIR(raw) {
279
318
  var shadingIR = ShadingIRs[raw[0]];
319
+
280
320
  if (!shadingIR) {
281
- throw new Error('Unknown IR type: ' + raw[0]);
321
+ throw new Error("Unknown IR type: ".concat(raw[0]));
282
322
  }
323
+
283
324
  return shadingIR.fromIR(raw);
284
325
  }
326
+
285
327
  var TilingPattern = function TilingPatternClosure() {
286
328
  var PaintType = {
287
329
  COLORED: 1,
288
330
  UNCOLORED: 2
289
331
  };
290
332
  var MAX_PATTERN_SIZE = 3000;
333
+
291
334
  function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {
292
335
  this.operatorList = IR[2];
293
336
  this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];
@@ -302,6 +345,7 @@ var TilingPattern = function TilingPatternClosure() {
302
345
  this.type = 'Pattern';
303
346
  this.ctx = ctx;
304
347
  }
348
+
305
349
  TilingPattern.prototype = {
306
350
  createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {
307
351
  var operatorList = this.operatorList;
@@ -321,8 +365,11 @@ var TilingPattern = function TilingPatternClosure() {
321
365
  var botRight = [x0 + xstep, y0 + ystep];
322
366
  var width = botRight[0] - topLeft[0];
323
367
  var height = botRight[1] - topLeft[1];
368
+
324
369
  var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
370
+
325
371
  var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);
372
+
326
373
  var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
327
374
  width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);
328
375
  height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);
@@ -363,6 +410,7 @@ var TilingPattern = function TilingPatternClosure() {
363
410
  setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {
364
411
  var context = graphics.ctx,
365
412
  current = graphics.current;
413
+
366
414
  switch (paintType) {
367
415
  case PaintType.COLORED:
368
416
  var ctx = this.ctx;
@@ -371,15 +419,18 @@ var TilingPattern = function TilingPatternClosure() {
371
419
  current.fillColor = ctx.fillStyle;
372
420
  current.strokeColor = ctx.strokeStyle;
373
421
  break;
422
+
374
423
  case PaintType.UNCOLORED:
375
424
  var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);
425
+
376
426
  context.fillStyle = cssColor;
377
427
  context.strokeStyle = cssColor;
378
428
  current.fillColor = cssColor;
379
429
  current.strokeColor = cssColor;
380
430
  break;
431
+
381
432
  default:
382
- throw new _util.FormatError('Unsupported paint type: ' + paintType);
433
+ throw new _util.FormatError("Unsupported paint type: ".concat(paintType));
383
434
  }
384
435
  },
385
436
  getPattern: function TilingPattern_getPattern(ctx, owner) {
@@ -393,5 +444,5 @@ var TilingPattern = function TilingPatternClosure() {
393
444
  };
394
445
  return TilingPattern;
395
446
  }();
396
- exports.getShadingPatternFromIR = getShadingPatternFromIR;
447
+
397
448
  exports.TilingPattern = TilingPattern;