pdfmake 0.2.5 → 0.2.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pdfmake",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "Client/server side PDF printing in pure JavaScript",
5
5
  "main": "src/printer.js",
6
6
  "browser": "build/pdfmake.js",
@@ -61,12 +61,17 @@ URLBrowserResolver.prototype.resolve = function (url, headers) {
61
61
  var _this = this;
62
62
  this.resolving[url] = new Promise(function (resolve, reject) {
63
63
  if (url.toLowerCase().indexOf('https://') === 0 || url.toLowerCase().indexOf('http://') === 0) {
64
- fetchUrl(url, headers).then(function (buffer) {
65
- _this.fs.writeFileSync(url, buffer);
64
+ if (_this.fs.existsSync(url)) {
65
+ // url was downloaded earlier
66
66
  resolve();
67
- }, function (result) {
68
- reject(result);
69
- });
67
+ } else {
68
+ fetchUrl(url, headers).then(function (buffer) {
69
+ _this.fs.writeFileSync(url, buffer);
70
+ resolve();
71
+ }, function (result) {
72
+ reject(result);
73
+ });
74
+ }
70
75
  } else {
71
76
  // cannot be resolved
72
77
  resolve();
@@ -66,24 +66,48 @@ Document.prototype._createDoc = function (options, cb) {
66
66
  for (var font in this.fonts) {
67
67
  if (this.fonts.hasOwnProperty(font)) {
68
68
  if (this.fonts[font].normal) {
69
- var url = getExtendedUrl(this.fonts[font].normal);
70
- urlResolver.resolve(url.url, url.headers);
71
- this.fonts[font].normal = url.url;
69
+ if (Array.isArray(this.fonts[font].normal)) { // TrueType Collection
70
+ var url = getExtendedUrl(this.fonts[font].normal[0]);
71
+ urlResolver.resolve(url.url, url.headers);
72
+ this.fonts[font].normal[0] = url.url;
73
+ } else {
74
+ var url = getExtendedUrl(this.fonts[font].normal);
75
+ urlResolver.resolve(url.url, url.headers);
76
+ this.fonts[font].normal = url.url;
77
+ }
72
78
  }
73
79
  if (this.fonts[font].bold) {
74
- var url = getExtendedUrl(this.fonts[font].bold);
75
- urlResolver.resolve(url.url, url.headers);
76
- this.fonts[font].bold = url.url;
80
+ if (Array.isArray(this.fonts[font].bold)) { // TrueType Collection
81
+ var url = getExtendedUrl(this.fonts[font].bold[0]);
82
+ urlResolver.resolve(url.url, url.headers);
83
+ this.fonts[font].bold[0] = url.url;
84
+ } else {
85
+ var url = getExtendedUrl(this.fonts[font].bold);
86
+ urlResolver.resolve(url.url, url.headers);
87
+ this.fonts[font].bold = url.url;
88
+ }
77
89
  }
78
90
  if (this.fonts[font].italics) {
79
- var url = getExtendedUrl(this.fonts[font].italics);
80
- urlResolver.resolve(url.url, url.headers);
81
- this.fonts[font].italics = url.url;
91
+ if (Array.isArray(this.fonts[font].italics)) { // TrueType Collection
92
+ var url = getExtendedUrl(this.fonts[font].italics[0]);
93
+ urlResolver.resolve(url.url, url.headers);
94
+ this.fonts[font].italics[0] = url.url;
95
+ } else {
96
+ var url = getExtendedUrl(this.fonts[font].italics);
97
+ urlResolver.resolve(url.url, url.headers);
98
+ this.fonts[font].italics = url.url;
99
+ }
82
100
  }
83
101
  if (this.fonts[font].bolditalics) {
84
- var url = getExtendedUrl(this.fonts[font].bolditalics);
85
- urlResolver.resolve(url.url, url.headers);
86
- this.fonts[font].bolditalics = url.url;
102
+ if (Array.isArray(this.fonts[font].bolditalics)) { // TrueType Collection
103
+ var url = getExtendedUrl(this.fonts[font].bolditalics[0]);
104
+ urlResolver.resolve(url.url, url.headers);
105
+ this.fonts[font].bolditalics[0] = url.url;
106
+ } else {
107
+ var url = getExtendedUrl(this.fonts[font].bolditalics);
108
+ urlResolver.resolve(url.url, url.headers);
109
+ this.fonts[font].bolditalics = url.url;
110
+ }
87
111
  }
88
112
  }
89
113
  }
package/src/printer.js CHANGED
@@ -215,7 +215,11 @@ function calculatePageHeight(pages, margins) {
215
215
  } else if (item.item._height) {
216
216
  return item.item._height;
217
217
  } else if (item.type === 'vector') {
218
- return item.item.y1 > item.item.y2 ? item.item.y1 : item.item.y2;
218
+ if (typeof item.item.y1 !== 'undefined') {
219
+ return item.item.y1 > item.item.y2 ? item.item.y1 : item.item.y2;
220
+ } else {
221
+ return item.item.h;
222
+ }
219
223
  } else {
220
224
  // TODO: add support for next item types
221
225
  return 0;