pdfmake 0.3.0-beta.8 → 0.3.0
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.
- package/CHANGELOG.md +7 -40
- package/LICENSE +1 -1
- package/README.md +78 -85
- package/build/pdfmake.js +60308 -68400
- package/build/pdfmake.js.map +1 -1
- package/build/pdfmake.min.js +2 -2
- package/build/pdfmake.min.js.map +1 -1
- package/build/vfs_fonts.js +4 -4
- package/fonts/Roboto/Roboto-Italic.ttf +0 -0
- package/fonts/Roboto/Roboto-Medium.ttf +0 -0
- package/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
- package/fonts/Roboto/Roboto-Regular.ttf +0 -0
- package/js/3rd-party/svg-to-pdfkit/source.js +3626 -0
- package/js/3rd-party/svg-to-pdfkit.js +7 -0
- package/js/DocMeasure.js +645 -0
- package/js/DocPreprocessor.js +253 -0
- package/js/DocumentContext.js +305 -0
- package/js/ElementWriter.js +354 -0
- package/js/LayoutBuilder.js +1105 -0
- package/js/Line.js +105 -0
- package/js/OutputDocument.js +64 -0
- package/js/OutputDocumentServer.js +22 -0
- package/js/PDFDocument.js +144 -0
- package/js/PageElementWriter.js +155 -0
- package/js/PageSize.js +74 -0
- package/js/Printer.js +291 -0
- package/js/Renderer.js +383 -0
- package/js/SVGMeasure.js +69 -0
- package/js/StyleContextStack.js +168 -0
- package/js/TableProcessor.js +548 -0
- package/js/TextBreaker.js +166 -0
- package/js/TextDecorator.js +143 -0
- package/js/TextInlines.js +206 -0
- package/js/URLResolver.js +43 -0
- package/js/base.js +52 -0
- package/js/browser-extensions/OutputDocumentBrowser.js +81 -0
- package/js/browser-extensions/fonts/Roboto.js +38 -0
- package/js/browser-extensions/index.js +53 -0
- package/js/browser-extensions/pdfMake.js +3 -0
- package/js/browser-extensions/standard-fonts/Courier.js +38 -0
- package/js/browser-extensions/standard-fonts/Helvetica.js +38 -0
- package/js/browser-extensions/standard-fonts/Symbol.js +23 -0
- package/js/browser-extensions/standard-fonts/Times.js +38 -0
- package/js/browser-extensions/standard-fonts/ZapfDingbats.js +23 -0
- package/js/browser-extensions/virtual-fs-cjs.js +3 -0
- package/js/columnCalculator.js +148 -0
- package/js/helpers/node.js +98 -0
- package/js/helpers/tools.js +46 -0
- package/js/helpers/variableType.js +59 -0
- package/js/index.js +15 -0
- package/js/qrEnc.js +721 -0
- package/js/standardPageSizes.js +56 -0
- package/js/tableLayouts.js +98 -0
- package/js/virtual-fs.js +60 -0
- package/package.json +25 -24
- package/src/DocMeasure.js +28 -7
- package/src/DocPreprocessor.js +25 -6
- package/src/DocumentContext.js +62 -33
- package/src/ElementWriter.js +30 -7
- package/src/LayoutBuilder.js +557 -120
- package/src/OutputDocument.js +23 -37
- package/src/OutputDocumentServer.js +6 -11
- package/src/PDFDocument.js +1 -1
- package/src/PageElementWriter.js +21 -2
- package/src/Printer.js +134 -131
- package/src/Renderer.js +13 -15
- package/src/SVGMeasure.js +2 -2
- package/src/StyleContextStack.js +7 -44
- package/src/TableProcessor.js +62 -22
- package/src/TextBreaker.js +24 -5
- package/src/TextInlines.js +1 -1
- package/src/URLResolver.js +24 -58
- package/src/base.js +1 -1
- package/src/browser-extensions/OutputDocumentBrowser.js +33 -71
- package/src/browser-extensions/index.js +3 -3
- package/src/browser-extensions/pdfMake.js +0 -14
- package/src/browser-extensions/standard-fonts/Courier.js +4 -4
- package/src/browser-extensions/standard-fonts/Helvetica.js +4 -4
- package/src/browser-extensions/standard-fonts/Symbol.js +1 -1
- package/src/browser-extensions/standard-fonts/Times.js +4 -4
- package/src/browser-extensions/standard-fonts/ZapfDingbats.js +1 -1
- package/src/columnCalculator.js +24 -3
- package/src/helpers/tools.js +5 -0
- package/src/helpers/variableType.js +11 -0
- package/src/index.js +1 -1
- package/standard-fonts/Helvetica.js +0 -1
- package/src/browser-extensions/URLBrowserResolver.js +0 -84
package/src/ElementWriter.js
CHANGED
|
@@ -8,12 +8,19 @@ import { EventEmitter } from 'events';
|
|
|
8
8
|
* their positions based on the context
|
|
9
9
|
*/
|
|
10
10
|
class ElementWriter extends EventEmitter {
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @param {DocumentContext} context
|
|
14
|
+
*/
|
|
11
15
|
constructor(context) {
|
|
12
16
|
super();
|
|
13
17
|
this._context = context;
|
|
14
18
|
this.contextStack = [];
|
|
15
19
|
}
|
|
16
20
|
|
|
21
|
+
/**
|
|
22
|
+
* @returns {DocumentContext}
|
|
23
|
+
*/
|
|
17
24
|
context() {
|
|
18
25
|
return this._context;
|
|
19
26
|
}
|
|
@@ -259,9 +266,12 @@ class ElementWriter extends EventEmitter {
|
|
|
259
266
|
}
|
|
260
267
|
}
|
|
261
268
|
|
|
262
|
-
addVector(vector, ignoreContextX, ignoreContextY, index) {
|
|
269
|
+
addVector(vector, ignoreContextX, ignoreContextY, index, forcePage) {
|
|
263
270
|
let context = this.context();
|
|
264
271
|
let page = context.getCurrentPage();
|
|
272
|
+
if (isNumber(forcePage)) {
|
|
273
|
+
page = context.pages[forcePage];
|
|
274
|
+
}
|
|
265
275
|
let position = this.getCurrentPositionOnPage();
|
|
266
276
|
|
|
267
277
|
if (page) {
|
|
@@ -322,10 +332,21 @@ class ElementWriter extends EventEmitter {
|
|
|
322
332
|
var v = pack(item.item);
|
|
323
333
|
|
|
324
334
|
offsetVector(v, useBlockXOffset ? (block.xOffset || 0) : ctx.x, useBlockYOffset ? (block.yOffset || 0) : ctx.y);
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
335
|
+
if (v._isFillColorFromUnbreakable) {
|
|
336
|
+
// If the item is a fillColor from an unbreakable block
|
|
337
|
+
// We have to add it at the beginning of the items body array of the page
|
|
338
|
+
delete v._isFillColorFromUnbreakable;
|
|
339
|
+
const endOfBackgroundItemsIndex = ctx.backgroundLength[ctx.page];
|
|
340
|
+
page.items.splice(endOfBackgroundItemsIndex, 0, {
|
|
341
|
+
type: 'vector',
|
|
342
|
+
item: v
|
|
343
|
+
});
|
|
344
|
+
} else {
|
|
345
|
+
page.items.push({
|
|
346
|
+
type: 'vector',
|
|
347
|
+
item: v
|
|
348
|
+
});
|
|
349
|
+
}
|
|
329
350
|
break;
|
|
330
351
|
|
|
331
352
|
case 'image':
|
|
@@ -357,7 +378,7 @@ class ElementWriter extends EventEmitter {
|
|
|
357
378
|
* pushContext(width, height) - creates and pushes a new context with the specified width and height
|
|
358
379
|
* pushContext() - creates a new context for unbreakable blocks (with current availableWidth and full-page-height)
|
|
359
380
|
*
|
|
360
|
-
* @param {
|
|
381
|
+
* @param {DocumentContext|number} contextOrWidth
|
|
361
382
|
* @param {number} height
|
|
362
383
|
*/
|
|
363
384
|
pushContext(contextOrWidth, height) {
|
|
@@ -367,7 +388,9 @@ class ElementWriter extends EventEmitter {
|
|
|
367
388
|
}
|
|
368
389
|
|
|
369
390
|
if (isNumber(contextOrWidth)) {
|
|
370
|
-
|
|
391
|
+
let width = contextOrWidth;
|
|
392
|
+
contextOrWidth = new DocumentContext();
|
|
393
|
+
contextOrWidth.addPage({ width: width, height: height }, { left: 0, right: 0, top: 0, bottom: 0 });
|
|
371
394
|
}
|
|
372
395
|
|
|
373
396
|
this.contextStack.push(this.context());
|