ztxkutils 2.10.17 → 2.10.18

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/dist/print.d.ts CHANGED
@@ -30,6 +30,19 @@ export declare function htmlToPdf({ pageClassName, dom, pdfName, isShowPage, noW
30
30
  pdfOptions?: any;
31
31
  imgPositionX?: number;
32
32
  }): Promise<jsPDF>;
33
+ export declare function htmlToPdfUseCanvas({ pageClassName, dom, pdfName, isShowPage, noWater, pdfOptions, imgPositionX, isDownload, }: {
34
+ pageClassName?: string;
35
+ dom: HTMLElement;
36
+ pdfName: string;
37
+ isShowPage?: boolean;
38
+ noWater?: boolean;
39
+ pdfOptions?: any;
40
+ imgPositionX?: number;
41
+ isDownload?: boolean;
42
+ }): Promise<{
43
+ pdfs: any;
44
+ pdfBase64: any;
45
+ }>;
33
46
  export interface IPdfOption {
34
47
  /** 是否压缩 */
35
48
  compress?: boolean;
package/dist/print.js CHANGED
@@ -208,11 +208,79 @@ function htmlToPdf(_a) {
208
208
  });
209
209
  }
210
210
  }
211
+ function htmlToPdfUseCanvas(_a) {
212
+ var pageClassName = _a.pageClassName, dom = _a.dom, pdfName = _a.pdfName, isShowPage = _a.isShowPage, noWater = _a.noWater, pdfOptions = _a.pdfOptions, imgPositionX = _a.imgPositionX, isDownload = _a.isDownload;
213
+ var allDom = document.querySelectorAll(pageClassName ? pageClassName : '.html2canvas-container-page');
214
+ var format = (pdfOptions === null || pdfOptions === void 0 ? void 0 : pdfOptions.format) || [632.28, 841.89];
215
+ var _pdfOptions = __assign({ unit: 'pt', format: format }, (pdfOptions || {}));
216
+ if (allDom.length > 0 && isShowPage) {
217
+ var allDomArray = Array.prototype.slice.call(allDom);
218
+ var pdfBase64_1 = [];
219
+ var pdfs_1 = [];
220
+ var promiseAllDomArray_3 = allDomArray.map(function (dom) {
221
+ return html2canvas(dom, {
222
+ scale: 2,
223
+ });
224
+ });
225
+ return (function () {
226
+ return __awaiter(this, void 0, void 0, function () {
227
+ var _i, promiseAllDomArray_4, item, pdf, canvas;
228
+ return __generator(this, function (_a) {
229
+ switch (_a.label) {
230
+ case 0:
231
+ _i = 0, promiseAllDomArray_4 = promiseAllDomArray_3;
232
+ _a.label = 1;
233
+ case 1:
234
+ if (!(_i < promiseAllDomArray_4.length)) return [3 /*break*/, 4];
235
+ item = promiseAllDomArray_4[_i];
236
+ pdf = new jsPDF(_pdfOptions);
237
+ return [4 /*yield*/, item];
238
+ case 2:
239
+ canvas = _a.sent();
240
+ createPdf(canvas, pdf, noWater, imgPositionX, {
241
+ width: format === null || format === void 0 ? void 0 : format[0],
242
+ height: format === null || format === void 0 ? void 0 : format[1],
243
+ });
244
+ if (isDownload) {
245
+ pdf.save(pdfName + ".pdf");
246
+ }
247
+ pdfBase64_1.push(pdf.output('dataurlstring'));
248
+ pdfs_1.push(pdf);
249
+ _a.label = 3;
250
+ case 3:
251
+ _i++;
252
+ return [3 /*break*/, 1];
253
+ case 4: return [2 /*return*/, Promise.resolve({
254
+ pdfs: pdfs_1,
255
+ pdfBase64: pdfBase64_1,
256
+ })];
257
+ }
258
+ });
259
+ });
260
+ })();
261
+ }
262
+ else {
263
+ var pdf_1 = new jsPDF(_pdfOptions);
264
+ return html2canvas(dom, { scale: 2 }).then(function (canvas) {
265
+ createPdf(canvas, pdf_1, noWater, imgPositionX, {
266
+ width: format === null || format === void 0 ? void 0 : format[0],
267
+ height: format === null || format === void 0 ? void 0 : format[1],
268
+ });
269
+ if (isDownload) {
270
+ pdf_1.save(pdfName + ".pdf");
271
+ }
272
+ return {
273
+ pdfs: [pdf_1],
274
+ pdfBase64: [pdf_1.output('dataurlstring')],
275
+ };
276
+ });
277
+ }
278
+ }
211
279
  function htmlToPdfNoCanvas(_a) {
212
280
  var _b, _c;
213
281
  var pageClassName = _a.pageClassName, dom = _a.dom, isShowPage = _a.isShowPage, fileBinary = _a.fileBinary, pdfName = _a.pdfName, isDownload = _a.isDownload, pdfOption = _a.pdfOption, isAddWater = _a.isAddWater, waterBase64 = _a.waterBase64, imgWidth = _a.imgWidth, imgHeight = _a.imgHeight, isCompress = _a.isCompress;
214
282
  return __awaiter(this, void 0, void 0, function () {
215
- var allDom, pageFormat, pageOrient, pageMarginX, pageMarginY, pdfOptions, allDomArray_1, pdfBase64_1, pdfs_1, pdf_1, pageWidth_1;
283
+ var allDom, pageFormat, pageOrient, pageMarginX, pageMarginY, pdfOptions, allDomArray_1, pdfBase64_2, pdfs_2, pdf_2, pageWidth_1;
216
284
  return __generator(this, function (_d) {
217
285
  allDom = dom.querySelectorAll(pageClassName ? pageClassName : '.html2canvas-container-page');
218
286
  pageFormat = (pdfOption === null || pdfOption === void 0 ? void 0 : pdfOption.pageFormat) ? pdfOption.pageFormat : 'a4';
@@ -234,8 +302,8 @@ function htmlToPdfNoCanvas(_a) {
234
302
  // 如果需要分页
235
303
  if (allDom.length > 0 && isShowPage) {
236
304
  allDomArray_1 = Array.prototype.slice.call(allDom);
237
- pdfBase64_1 = [];
238
- pdfs_1 = [];
305
+ pdfBase64_2 = [];
306
+ pdfs_2 = [];
239
307
  return [2 /*return*/, (function () {
240
308
  return __awaiter(this, void 0, void 0, function () {
241
309
  var i, _loop_1, _i, allDomArray_2, item;
@@ -281,8 +349,8 @@ function htmlToPdfNoCanvas(_a) {
281
349
  if (isDownload) {
282
350
  pdf.save(pdfName + "_" + i + ".pdf");
283
351
  }
284
- pdfBase64_1.push(pdf.output('dataurlstring'));
285
- pdfs_1.push(pdf);
352
+ pdfBase64_2.push(pdf.output('dataurlstring'));
353
+ pdfs_2.push(pdf);
286
354
  resolve({});
287
355
  },
288
356
  });
@@ -308,8 +376,8 @@ function htmlToPdfNoCanvas(_a) {
308
376
  _i++;
309
377
  return [3 /*break*/, 1];
310
378
  case 4: return [2 /*return*/, Promise.resolve({
311
- pdfs: pdfs_1,
312
- pdfBase64: pdfBase64_1,
379
+ pdfs: pdfs_2,
380
+ pdfBase64: pdfBase64_2,
313
381
  })];
314
382
  }
315
383
  });
@@ -317,10 +385,10 @@ function htmlToPdfNoCanvas(_a) {
317
385
  })()];
318
386
  }
319
387
  else {
320
- pdf_1 = new jsPDF(pdfOptions);
321
- pageWidth_1 = pdf_1.internal.pageSize.width - pageMarginX * 2;
322
- setPdfVersion(pdf_1);
323
- supportJsPdfChinese(pdf_1, fileBinary);
388
+ pdf_2 = new jsPDF(pdfOptions);
389
+ pageWidth_1 = pdf_2.internal.pageSize.width - pageMarginX * 2;
390
+ setPdfVersion(pdf_2);
391
+ supportJsPdfChinese(pdf_2, fileBinary);
324
392
  return [2 /*return*/, new Promise(function (resolve) {
325
393
  new jsPDF(pdfOptions).html(dom, {
326
394
  autoPaging: 'text',
@@ -330,28 +398,28 @@ function htmlToPdfNoCanvas(_a) {
330
398
  callback: function (res) {
331
399
  // 添加呈现的HTML所需的页面(从第2页开始)
332
400
  for (var i = 2, j = res.internal.getNumberOfPages(); i <= j; i++) {
333
- pdf_1.addPage(pageFormat, pageOrient);
401
+ pdf_2.addPage(pageFormat, pageOrient);
334
402
  }
335
403
  // 正确呈现文档
336
- pdf_1.html(dom, {
404
+ pdf_2.html(dom, {
337
405
  autoPaging: 'text',
338
406
  margin: [pageMarginY, pageMarginX, pageMarginY, pageMarginX],
339
407
  width: pageWidth_1,
340
408
  windowWidth: pageWidth_1,
341
409
  callback: function () {
342
410
  for (var i = 1, j = res.internal.getNumberOfPages(); i <= j; i++) {
343
- pdf_1.setPage(i);
411
+ pdf_2.setPage(i);
344
412
  // 添加水印
345
413
  if (isAddWater) {
346
- setPdfWater(pdf_1, waterBase64, imgWidth, imgHeight);
414
+ setPdfWater(pdf_2, waterBase64, imgWidth, imgHeight);
347
415
  }
348
416
  }
349
417
  if (isDownload) {
350
- pdf_1.save(pdfName + ".pdf");
418
+ pdf_2.save(pdfName + ".pdf");
351
419
  }
352
420
  resolve({
353
- pdfs: [pdf_1],
354
- pdfBase64: [pdf_1.output('dataurlstring')],
421
+ pdfs: [pdf_2],
422
+ pdfBase64: [pdf_2.output('dataurlstring')],
355
423
  });
356
424
  },
357
425
  });
@@ -402,4 +470,4 @@ function setPdfWater(pdf, waterBase64, imgWidth, imgHeight) {
402
470
  }
403
471
  }
404
472
 
405
- export { addWaterHandle, htmlToPdf, htmlToPdfNoCanvas, printCurrentDom, removeWaterHandle };
473
+ export { addWaterHandle, htmlToPdf, htmlToPdfNoCanvas, htmlToPdfUseCanvas, printCurrentDom, removeWaterHandle };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkutils",
3
- "version": "2.10.17",
3
+ "version": "2.10.18",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",