ztxkutils 2.5.9 → 2.6.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/dist/print.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * 添加水印
3
3
  */
4
- export declare function addWaterHandle({ waterText, waterClassName }?: {
5
- waterText: string;
6
- waterClassName: string;
4
+ export declare function addWaterHandle({ waterText, waterClassName, isPrintWater, }?: {
5
+ waterText?: string;
6
+ waterClassName?: string;
7
+ isPrintWater?: boolean;
7
8
  }): void;
9
+ export declare function removeWaterHandle(): void;
8
10
  /**
9
11
  * 打印页面
10
12
  * hiddenClassNames 需要隐藏的样式 默认有hiddenPrint
@@ -14,11 +16,9 @@ interface IParams {
14
16
  hiddenClassNames?: string[];
15
17
  }
16
18
  export declare function printCurrentDom({ hiddenClassNames }?: IParams): void;
17
- /**
18
- * html转pdf
19
- */
20
- export declare function htmlToPdf({ dom, pdfName, }: {
19
+ export declare function htmlToPdf({ pageClassName, dom, pdfName, }: {
20
+ pageClassName?: string;
21
21
  dom: HTMLElement;
22
22
  pdfName: string;
23
- }): void;
23
+ }): Promise<void>;
24
24
  export {};
package/dist/print.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as __spreadArray } from './tslib.es6-f9459658.js';
1
+ import { a as __spreadArray, c as __awaiter, d as __generator } from './tslib.es6-f9459658.js';
2
2
  import { jsPDF } from 'jspdf';
3
3
  import html2canvas from 'html2canvas';
4
4
 
@@ -9,7 +9,8 @@ function addWaterHandle(_a) {
9
9
  var _b = _a === void 0 ? {
10
10
  waterText: '',
11
11
  waterClassName: '',
12
- } : _a, waterText = _b.waterText, waterClassName = _b.waterClassName;
12
+ isPrintWater: true,
13
+ } : _a, waterText = _b.waterText, waterClassName = _b.waterClassName, isPrintWater = _b.isPrintWater;
13
14
  var canvas = document.createElement('canvas');
14
15
  var waterStyleDom = document.getElementById('water-style-dom-110011');
15
16
  if (waterStyleDom) {
@@ -29,14 +30,24 @@ function addWaterHandle(_a) {
29
30
  var styleDom = document.createElement('style');
30
31
  styleDom.setAttribute('type', 'text/css');
31
32
  styleDom.setAttribute('id', 'water-style-dom-110011');
32
- styleDom.innerText =
33
- '@media print{' +
33
+ styleDom.innerText = isPrintWater
34
+ ? '@media print{' +
34
35
  (waterClassName ? "." + waterClassName : 'body') +
35
36
  ' {background: url(' +
36
37
  canvas.toDataURL('image/png') +
37
- ') left top repeat;}}';
38
+ ') left top repeat;}}'
39
+ : (waterClassName ? "." + waterClassName : 'body') +
40
+ ' {background: url(' +
41
+ canvas.toDataURL('image/png') +
42
+ ') left top repeat;}';
38
43
  document.head.appendChild(styleDom);
39
44
  }
45
+ function removeWaterHandle() {
46
+ var waterStyleDom = document.getElementById('water-style-dom-110011');
47
+ if (waterStyleDom) {
48
+ waterStyleDom.remove();
49
+ }
50
+ }
40
51
  function printCurrentDom(_a) {
41
52
  var _b = _a === void 0 ? { hiddenClassNames: [] } : _a, hiddenClassNames = _b.hiddenClassNames;
42
53
  var printStyleDom = document.getElementById('print-style-dom-110011');
@@ -46,7 +57,7 @@ function printCurrentDom(_a) {
46
57
  var styleDom = document.createElement('style');
47
58
  styleDom.setAttribute('type', 'text/css');
48
59
  styleDom.setAttribute('id', 'print-style-dom-110011');
49
- styleDom.innerText = "@media print{ " + __spreadArray(__spreadArray([], hiddenClassNames), [
60
+ styleDom.innerText = "@media print{ " + __spreadArray(__spreadArray([], (hiddenClassNames || [])), [
50
61
  '.hiddenPrint',
51
62
  '.hidden-print-footer',
52
63
  ]).join(',') + " { display: none; } }";
@@ -56,40 +67,81 @@ function printCurrentDom(_a) {
56
67
  /**
57
68
  * html转pdf
58
69
  */
59
- function htmlToPdf(_a) {
60
- var dom = _a.dom, pdfName = _a.pdfName;
61
- html2canvas(dom).then(function (canvas) {
62
- var contentWidth = canvas.width;
63
- var contentHeight = canvas.height;
64
- // 一页pdf显示html页面生成的canvas高度
65
- var pageHeight = (contentWidth / 592.28) * 841.89;
66
- // 未生成pdf的html页面高度
67
- var leftHeight = contentHeight;
68
- // 页面拍内衣
69
- var position = 0;
70
- //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高
71
- var imgWidth = 595.28;
72
- var imgHeight = (592.28 / contentWidth) * contentHeight;
73
- var pageData = canvas.toDataURL('image/jpeg', 1.0);
74
- var pdf = new jsPDF(undefined, 'pt', 'a4');
75
- //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89)
76
- //当内容未超过pdf一页显示的范围,无需分页
77
- if (leftHeight < pageHeight) {
78
- pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight);
79
- }
80
- else {
81
- while (leftHeight > 0) {
82
- pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight);
83
- leftHeight -= pageHeight;
84
- position -= 841.89;
85
- //避免添加空白页
86
- if (leftHeight > 0) {
87
- pdf.addPage();
88
- }
70
+ function createPdf(canvas, pdf) {
71
+ var contentWidth = canvas.width;
72
+ var contentHeight = canvas.height;
73
+ // 一页pdf显示html页面生成的canvas高度
74
+ var pageHeight = (contentWidth / 592.28) * 841.89;
75
+ // 未生成pdfhtml页面高度
76
+ var leftHeight = contentHeight;
77
+ // 页面拍内衣
78
+ var position = 0;
79
+ //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高
80
+ var imgWidth = 595.28;
81
+ var imgHeight = (592.28 / contentWidth) * contentHeight;
82
+ var pageData = canvas.toDataURL('image/jpeg', 1.0);
83
+ //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89)
84
+ //当内容未超过pdf一页显示的范围,无需分页
85
+ if (leftHeight < pageHeight) {
86
+ pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight);
87
+ }
88
+ else {
89
+ while (leftHeight > 0) {
90
+ pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight);
91
+ leftHeight -= pageHeight;
92
+ position -= 841.89;
93
+ //避免添加空白页
94
+ if (leftHeight > 0) {
95
+ pdf.addPage();
89
96
  }
90
97
  }
91
- pdf.save(pdfName + ".pdf");
92
- });
98
+ }
99
+ }
100
+ function htmlToPdf(_a) {
101
+ var pageClassName = _a.pageClassName, dom = _a.dom, pdfName = _a.pdfName;
102
+ var pdf = new jsPDF(undefined, 'pt', 'a4');
103
+ var allDom = document.querySelectorAll(pageClassName ? pageClassName : '.html2canvas-container-page');
104
+ if (allDom.length > 0) {
105
+ var allDomArray = Array.prototype.slice.call(allDom);
106
+ var promiseAllDomArray_1 = allDomArray.map(function (dom) { return html2canvas(dom); });
107
+ return (function () {
108
+ return __awaiter(this, void 0, void 0, function () {
109
+ var i, _i, promiseAllDomArray_2, item, canvas;
110
+ return __generator(this, function (_a) {
111
+ switch (_a.label) {
112
+ case 0:
113
+ i = 0;
114
+ _i = 0, promiseAllDomArray_2 = promiseAllDomArray_1;
115
+ _a.label = 1;
116
+ case 1:
117
+ if (!(_i < promiseAllDomArray_2.length)) return [3 /*break*/, 4];
118
+ item = promiseAllDomArray_2[_i];
119
+ i++;
120
+ return [4 /*yield*/, item];
121
+ case 2:
122
+ canvas = _a.sent();
123
+ createPdf(canvas, pdf);
124
+ if (i < promiseAllDomArray_1.length) {
125
+ pdf.addPage();
126
+ }
127
+ _a.label = 3;
128
+ case 3:
129
+ _i++;
130
+ return [3 /*break*/, 1];
131
+ case 4:
132
+ pdf.save(pdfName + ".pdf");
133
+ return [2 /*return*/, Promise.resolve()];
134
+ }
135
+ });
136
+ });
137
+ })();
138
+ }
139
+ else {
140
+ return html2canvas(dom).then(function (canvas) {
141
+ createPdf(canvas, pdf);
142
+ pdf.save(pdfName + ".pdf");
143
+ });
144
+ }
93
145
  }
94
146
 
95
- export { addWaterHandle, htmlToPdf, printCurrentDom };
147
+ export { addWaterHandle, htmlToPdf, printCurrentDom, removeWaterHandle };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkutils",
3
- "version": "2.5.9",
3
+ "version": "2.6.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",