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 +13 -0
- package/dist/print.js +87 -19
- package/package.json +1 -1
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,
|
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
|
-
|
238
|
-
|
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
|
-
|
285
|
-
|
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:
|
312
|
-
pdfBase64:
|
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
|
-
|
321
|
-
pageWidth_1 =
|
322
|
-
setPdfVersion(
|
323
|
-
supportJsPdfChinese(
|
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
|
-
|
401
|
+
pdf_2.addPage(pageFormat, pageOrient);
|
334
402
|
}
|
335
403
|
// 正确呈现文档
|
336
|
-
|
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
|
-
|
411
|
+
pdf_2.setPage(i);
|
344
412
|
// 添加水印
|
345
413
|
if (isAddWater) {
|
346
|
-
setPdfWater(
|
414
|
+
setPdfWater(pdf_2, waterBase64, imgWidth, imgHeight);
|
347
415
|
}
|
348
416
|
}
|
349
417
|
if (isDownload) {
|
350
|
-
|
418
|
+
pdf_2.save(pdfName + ".pdf");
|
351
419
|
}
|
352
420
|
resolve({
|
353
|
-
pdfs: [
|
354
|
-
pdfBase64: [
|
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 };
|