coject 2.4.1 → 2.4.2

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.
@@ -48,29 +48,59 @@ const PDFGenerator = ({ button, landscape, fileName, title, children }) => {
48
48
  }
49
49
  }, [modal]);
50
50
  // Generate PDF
51
- const generatePDF = () => {
51
+ const generatePDF = async () => {
52
52
  const element = document.getElementById("content");
53
53
  (0, html2canvas_1.default)(element).then((canvas) => {
54
- let position = 0;
55
- let pageCount = 0;
56
- const imgWidth = landscape ? 297 : 210;
54
+ const positionX = 0;
55
+ const headerHeight = 10;
56
+ const footerHeight = 10;
57
+ const pageWidth = landscape ? 297 : 210;
57
58
  const pageHeight = landscape ? 210 : 297;
59
+ // Calculate The Content Height
60
+ const canvasWidth = canvas.width;
61
+ const contentHeight = pageHeight - (headerHeight + footerHeight);
62
+ const canvasHeight = contentHeight * (canvasWidth / pageWidth);
58
63
  const pdf = new jspdf_1.default(`${landscape ? 'landscape' : 'p'}`, "mm", "a4");
59
- const imgData = canvas.toDataURL("image/png");
60
- const imgHeight = (canvas.height * imgWidth) / canvas.width;
61
- let heightLeft = imgHeight;
62
- // Create Pages
63
- while (heightLeft > 0) {
64
+ const totalContent = (canvas.height + (((headerHeight + footerHeight) * (canvasWidth / pageWidth)) * Math.ceil(canvas.height / ((pageHeight - (headerHeight + footerHeight)) * (canvasWidth / pageWidth))))) / (canvasWidth / pageWidth);
65
+ // Dependencies
66
+ let pageCount = 0;
67
+ let positionY = headerHeight;
68
+ // Split ImgData Into Sections
69
+ const splitData = [];
70
+ const totalPages = Math.ceil(canvas.height / canvasHeight);
71
+ // Left Height
72
+ let leftHeight = totalContent;
73
+ // Create Images
74
+ for (let i = 0; i < totalPages; i++) {
75
+ // Create A New Canvas For Each Section
76
+ const croppedContent = document.createElement("canvas");
77
+ const ctx = croppedContent.getContext("2d");
78
+ croppedContent.width = canvasWidth;
79
+ croppedContent.height = canvasHeight;
80
+ // Draw The Section On The New Canvas (Vertical Split)
81
+ ctx.drawImage(canvas, 0, i * canvasHeight, canvasWidth, canvasHeight, 0, 0, canvasWidth, canvasHeight);
82
+ // Save The Cropped Canvas As An Image
83
+ splitData.push(croppedContent.toDataURL("image/png"));
84
+ }
85
+ // Add Each Section To The PDF
86
+ while (leftHeight > 0) {
87
+ // Header
88
+ pdf.setFontSize(12);
89
+ pdf.text(title || "PDF Report", pageWidth / 2, 7, { align: "center" });
90
+ // Content (Adding Each Split Image On The Page)
91
+ pdf.addImage(splitData[pageCount], "PNG", positionX, positionY, pageWidth, contentHeight);
92
+ // Footer
93
+ pdf.setFontSize(10);
94
+ pdf.text(`${pageCount + 1} / ${totalPages}`, pageWidth / 2, pageHeight - 4, { align: "center" });
95
+ // Add New Page
64
96
  pageCount++;
65
- pdf.addImage(imgData, "PNG", 0, position, imgWidth, imgHeight);
66
- pdf.text(`${pageCount}`, 105, 290, { align: "center" });
67
- heightLeft -= pageHeight;
68
- if (heightLeft > 0) {
69
- position -= pageHeight;
97
+ // Adjust Remaining Content Height
98
+ leftHeight -= pageHeight;
99
+ if (leftHeight > 0) {
70
100
  pdf.addPage();
71
101
  }
72
102
  }
73
- // Generate a Blob URL for preview
103
+ // Generate Preview
74
104
  const pdfBlob = pdf.output("blob");
75
105
  const pdfURL = URL.createObjectURL(pdfBlob);
76
106
  setPdfPreview(pdfURL);
@@ -82,7 +112,7 @@ const PDFGenerator = ({ button, landscape, fileName, title, children }) => {
82
112
  react_1.default.createElement(index_1.Modal, { open: modal, setOpen: setModal, title: title ?? 'PDF Report', className: classes.modal }, pdfPreview ?
83
113
  react_1.default.createElement(react_1.Fragment, null,
84
114
  react_1.default.createElement("iframe", { src: pdfPreview, className: classes.preview }),
85
- react_1.default.createElement(index_1.Button, { className: classes.button, variant: 'contained', component: 'a', href: pdfPreview, download: `${fileName ? (fileName + ".pdf") : "example.pdf"}` }, "Download PDF")) :
115
+ react_1.default.createElement(index_1.Button, { className: classes.button, variant: 'contained', href: pdfPreview, download: `${fileName ? (fileName + ".pdf") : "example.pdf"}` }, "Download PDF")) :
86
116
  react_1.default.createElement(react_1.Fragment, null,
87
117
  react_1.default.createElement(material_1.Box, { className: classes.children },
88
118
  react_1.default.createElement(material_1.Box, { id: "content" }, children)),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/PDFGenerator/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/PDFGenerator/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiE;AAEjE,QAAQ;AACR,kDAA0B;AAC1B,8DAAsC;AAEtC,SAAS;AACT,oCAAuC;AAEvC,cAAc;AACd,4CAAkC;AAElC,SAAS;AACT,oDAAgC;AAEzB,MAAM,YAAY,GAAY,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAC,EAAE,EAAE;IACpF,MAAM,EAAC,OAAO,EAAC,GAAG,IAAA,eAAS,GAAE,CAAC;IAC9B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAEnD,oBAAoB;IACpB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,aAAa,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,eAAe;IACf,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC3B,MAAM,OAAO,GAAQ,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACxD,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjC,MAAM,SAAS,GAAG,CAAC,CAAC;YACpB,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACxC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAEzC,+BAA+B;YAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC;YACjE,MAAM,YAAY,GAAM,aAAa,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,IAAI,eAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;YAEzO,eAAe;YACf,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,SAAS,GAAG,YAAY,CAAC;YAE7B,8BAA8B;YAC9B,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;YAE3D,cAAc;YACd,IAAI,UAAU,GAAG,YAAY,CAAC;YAE9B,gBAAgB;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,uCAAuC;gBACvC,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxD,MAAM,GAAG,GAAQ,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjD,cAAc,CAAC,KAAK,GAAG,WAAW,CAAC;gBACnC,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC;gBAErC,sDAAsD;gBACtD,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBAEvG,sCAAsC;gBACtC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1D,CAAC;YAED,8BAA8B;YAC9B,OAAO,UAAU,GAAG,CAAC,EAAE,CAAC;gBACpB,SAAS;gBACT,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,EAAE,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAEvE,gDAAgD;gBAChD,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAE1F,SAAS;gBACT,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,MAAM,UAAU,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAEjG,eAAe;gBACf,SAAS,EAAE,CAAC;gBAEZ,kCAAkC;gBAClC,UAAU,IAAI,UAAU,CAAC;gBACzB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACjB,GAAG,CAAC,OAAO,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC;YAED,mBAAmB;YACnB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,MAAM,GAAQ,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjD,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,8BAAC,gBAAQ;QACL,8BAAC,cAAG,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,aAAa;YACxC,8BAAC,cAAM,IAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAG,MAAM,IAAI,YAAY,CAAU;YAC9F,8BAAC,aAAK,IAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,IACvF,UAAU,CAAC,CAAC;gBACV,8BAAC,gBAAQ;oBACL,0CAAQ,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,GAAI;oBACvD,8BAAC,cAAM,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,mBAAuB,CACxJ,CAAC,CAAC;gBACb,8BAAC,gBAAQ;oBACL,8BAAC,cAAG,IAAC,SAAS,EAAE,OAAO,CAAC,QAAQ;wBAC5B,8BAAC,cAAG,IAAC,EAAE,EAAC,SAAS,IACZ,QAAQ,CACP,CACJ;oBACN,8BAAC,cAAM,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,kBAAsB,CAC5G,CAEX,CACN,CACC,CACd,CAAC;AACN,CAAC,CAAC;AA5GW,QAAA,YAAY,gBA4GvB"}
@@ -19,29 +19,59 @@ export const PDFGenerator = ({ button, landscape, fileName, title, children }) =
19
19
  }
20
20
  }, [modal]);
21
21
  // Generate PDF
22
- const generatePDF = () => {
22
+ const generatePDF = async () => {
23
23
  const element = document.getElementById("content");
24
24
  html2canvas(element).then((canvas) => {
25
- let position = 0;
26
- let pageCount = 0;
27
- const imgWidth = landscape ? 297 : 210;
25
+ const positionX = 0;
26
+ const headerHeight = 10;
27
+ const footerHeight = 10;
28
+ const pageWidth = landscape ? 297 : 210;
28
29
  const pageHeight = landscape ? 210 : 297;
30
+ // Calculate The Content Height
31
+ const canvasWidth = canvas.width;
32
+ const contentHeight = pageHeight - (headerHeight + footerHeight);
33
+ const canvasHeight = contentHeight * (canvasWidth / pageWidth);
29
34
  const pdf = new jsPDF(`${landscape ? 'landscape' : 'p'}`, "mm", "a4");
30
- const imgData = canvas.toDataURL("image/png");
31
- const imgHeight = (canvas.height * imgWidth) / canvas.width;
32
- let heightLeft = imgHeight;
33
- // Create Pages
34
- while (heightLeft > 0) {
35
+ const totalContent = (canvas.height + (((headerHeight + footerHeight) * (canvasWidth / pageWidth)) * Math.ceil(canvas.height / ((pageHeight - (headerHeight + footerHeight)) * (canvasWidth / pageWidth))))) / (canvasWidth / pageWidth);
36
+ // Dependencies
37
+ let pageCount = 0;
38
+ let positionY = headerHeight;
39
+ // Split ImgData Into Sections
40
+ const splitData = [];
41
+ const totalPages = Math.ceil(canvas.height / canvasHeight);
42
+ // Left Height
43
+ let leftHeight = totalContent;
44
+ // Create Images
45
+ for (let i = 0; i < totalPages; i++) {
46
+ // Create A New Canvas For Each Section
47
+ const croppedContent = document.createElement("canvas");
48
+ const ctx = croppedContent.getContext("2d");
49
+ croppedContent.width = canvasWidth;
50
+ croppedContent.height = canvasHeight;
51
+ // Draw The Section On The New Canvas (Vertical Split)
52
+ ctx.drawImage(canvas, 0, i * canvasHeight, canvasWidth, canvasHeight, 0, 0, canvasWidth, canvasHeight);
53
+ // Save The Cropped Canvas As An Image
54
+ splitData.push(croppedContent.toDataURL("image/png"));
55
+ }
56
+ // Add Each Section To The PDF
57
+ while (leftHeight > 0) {
58
+ // Header
59
+ pdf.setFontSize(12);
60
+ pdf.text(title || "PDF Report", pageWidth / 2, 7, { align: "center" });
61
+ // Content (Adding Each Split Image On The Page)
62
+ pdf.addImage(splitData[pageCount], "PNG", positionX, positionY, pageWidth, contentHeight);
63
+ // Footer
64
+ pdf.setFontSize(10);
65
+ pdf.text(`${pageCount + 1} / ${totalPages}`, pageWidth / 2, pageHeight - 4, { align: "center" });
66
+ // Add New Page
35
67
  pageCount++;
36
- pdf.addImage(imgData, "PNG", 0, position, imgWidth, imgHeight);
37
- pdf.text(`${pageCount}`, 105, 290, { align: "center" });
38
- heightLeft -= pageHeight;
39
- if (heightLeft > 0) {
40
- position -= pageHeight;
68
+ // Adjust Remaining Content Height
69
+ leftHeight -= pageHeight;
70
+ if (leftHeight > 0) {
41
71
  pdf.addPage();
42
72
  }
43
73
  }
44
- // Generate a Blob URL for preview
74
+ // Generate Preview
45
75
  const pdfBlob = pdf.output("blob");
46
76
  const pdfURL = URL.createObjectURL(pdfBlob);
47
77
  setPdfPreview(pdfURL);
@@ -53,7 +83,7 @@ export const PDFGenerator = ({ button, landscape, fileName, title, children }) =
53
83
  React.createElement(Modal, { open: modal, setOpen: setModal, title: title ?? 'PDF Report', className: classes.modal }, pdfPreview ?
54
84
  React.createElement(Fragment, null,
55
85
  React.createElement("iframe", { src: pdfPreview, className: classes.preview }),
56
- React.createElement(Button, { className: classes.button, variant: 'contained', component: 'a', href: pdfPreview, download: `${fileName ? (fileName + ".pdf") : "example.pdf"}` }, "Download PDF")) :
86
+ React.createElement(Button, { className: classes.button, variant: 'contained', href: pdfPreview, download: `${fileName ? (fileName + ".pdf") : "example.pdf"}` }, "Download PDF")) :
57
87
  React.createElement(Fragment, null,
58
88
  React.createElement(Box, { className: classes.children },
59
89
  React.createElement(Box, { id: "content" }, children)),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/PDFGenerator/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/PDFGenerator/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coject",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "description": "React Library",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",