pim-import 4.1.0 → 4.2.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.
@@ -7,7 +7,51 @@ exports.generatePDFByUrl = void 0;
7
7
  const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
8
8
  const utils_1 = require("../utils");
9
9
  const logs_1 = require("./logs");
10
+ const axios_1 = __importDefault(require("@atoms-studio/axios"));
10
11
  const generatePDFByUrl = async (url, path = "", contents) => {
12
+ logs_1.log(`generatePDFByUrl - url: ${url} path: ${path}`);
13
+ if (!process.env.BROWSERLESS_TOKEN) {
14
+ logs_1.log(`BROWSERLESS_TOKEN environment variable not found`, "ERROR");
15
+ }
16
+ let pdf;
17
+ if (path) {
18
+ pdf = await generatePDFByUrlWithPuppeteer(url, path, contents);
19
+ }
20
+ else {
21
+ pdf = await generatePDFByUrlWithAxios(url, contents);
22
+ }
23
+ return pdf;
24
+ };
25
+ exports.generatePDFByUrl = generatePDFByUrl;
26
+ const getPDFOptions = (contents) => {
27
+ const pageMargin = "33px";
28
+ const headerTemplate = ` `;
29
+ const footerTopLeft = contents?.footer?.topLeft || ``;
30
+ const footerTopRight = contents?.footer?.topRight || ``;
31
+ const date = new Date(new Date().toLocaleString("en-US", { timeZone: "Europe/Rome" }));
32
+ const footerBottomLeft = contents?.footer?.bottomLeft ||
33
+ `©2022 Flos - P.IVA 00290820174 - ${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;
34
+ const footerMail = contents?.footer?.mail || "info@flos.com";
35
+ const footerBottomRight = contents?.footer?.bottomRight ||
36
+ `<a style="text-decoration: none; color:#000" href="https://professional.flos.com/en/global/">professional.flos.com</a> | <a style="text-decoration: none; color:#000" href="mailto:${footerMail}">${footerMail}</a> <span class="pageNumber" style="margin-left:4px"></span>/<span class="totalPages"></span>`;
37
+ const footerBottom = "In our constantly evolving world and business, technical upgrades happen every day. This means all product specifications and data are subject to change without warning in order t improve reliability, function, performance or otherwise. We make every effort to ensure the accuracy of our product images, however due to different lighting and screens used for viewing, the colours may vary. Images are indicative of the quality and style of the product but may not represent the precise details of the product you receive. This is because we are constantly working to make improvements. For aesthetic reasons, cables and/or electrical elements are often not shown. Refer to technical data sheets for all technical data. Images and colours are not part of any contract or warranty in any way.";
38
+ const footerStyle = `<style>.pdf-footer { font-family: Arial, Helvetica, sans-serif; font-weight: 300; }</style>`;
39
+ const footerTemplate = `${footerStyle}<div class="pdf-footer" style="margin: 0 ${pageMargin}; padding: 10px 0; width: 100%; font-size: 5pt; font-weight:300;"> <div class="pdf-row" style="display: flex; flex-wrap: wrap; border-bottom: 1px solid rgb(168, 168, 168); border-bottom-style:solid; padding-bottom: 6px; justify-content: center; align-items: center;"> <span class="left" style="margin:0; padding: 0; width: 80%; white-space: normal; overflow: hidden;">${footerTopLeft}</span> <span class="right" style="margin:0; padding: 0; width: 20%; text-align: right;">${footerTopRight}</span> </div> <div class="pdf-row" style="display: flex; flex-wrap: wrap; padding-top: 6px; justify-content: center; align-items: center;"> <span style="width: 50%;">${footerBottomLeft}</span> <span style="width: 50%; text-align: right;"> ${footerBottomRight} </span> </div><div class="pdf-row" style="font-size: 4pt; margin-top:5px;">${footerBottom}</div> </div>`;
40
+ return {
41
+ format: "A4",
42
+ printBackground: true,
43
+ displayHeaderFooter: true,
44
+ headerTemplate,
45
+ footerTemplate,
46
+ margin: {
47
+ top: pageMargin,
48
+ left: pageMargin,
49
+ right: pageMargin,
50
+ bottom: "114px",
51
+ },
52
+ };
53
+ };
54
+ const generatePDFByUrlWithPuppeteer = async (url, path = "", contents) => {
11
55
  logs_1.log(`generatePDFByUrl - url: ${url} path: ${path}`);
12
56
  if (!process.env.BROWSERLESS_TOKEN) {
13
57
  logs_1.log(`BROWSERLESS_TOKEN environment variable not found`, "ERROR");
@@ -17,7 +61,6 @@ const generatePDFByUrl = async (url, path = "", contents) => {
17
61
  logs_1.log(logMsg, "DEBUG");
18
62
  if (logs_1.serverUtils) {
19
63
  logs_1.serverUtils.log(logMsg);
20
- logs_1.serverUtils.updateProgress(10);
21
64
  }
22
65
  const browser = await puppeteer_core_1.default.connect({
23
66
  browserWSEndpoint: `wss://chrome.browserless.io?token=${process.env.BROWSERLESS_TOKEN}`,
@@ -26,21 +69,23 @@ const generatePDFByUrl = async (url, path = "", contents) => {
26
69
  logs_1.log(logMsg, "DEBUG");
27
70
  if (logs_1.serverUtils) {
28
71
  logs_1.serverUtils.log(logMsg);
29
- logs_1.serverUtils.updateProgress(20);
30
72
  }
31
73
  const page = await browser.newPage();
32
74
  logMsg = `Before page.goto - ${utils_1.secondBetweenTwoDate(timeStart, new Date())} seconds`;
33
75
  logs_1.log(logMsg, "DEBUG");
34
76
  if (logs_1.serverUtils) {
35
77
  logs_1.serverUtils.log(logMsg);
36
- logs_1.serverUtils.updateProgress(30);
37
78
  }
38
79
  const res = await page.goto(url, { waitUntil: "networkidle0", timeout: 0 });
39
80
  logMsg = `After page.goto - ${utils_1.secondBetweenTwoDate(timeStart, new Date())} seconds`;
40
81
  logs_1.log(logMsg, "DEBUG");
41
82
  if (logs_1.serverUtils) {
42
83
  logs_1.serverUtils.log(logMsg);
43
- logs_1.serverUtils.updateProgress(40);
84
+ }
85
+ if (!res) {
86
+ await browser.close();
87
+ console.log(`Error no response`);
88
+ return null;
44
89
  }
45
90
  if (res.status() !== 200) {
46
91
  await browser.close();
@@ -48,32 +93,7 @@ const generatePDFByUrl = async (url, path = "", contents) => {
48
93
  return null;
49
94
  }
50
95
  try {
51
- const pageMargin = "33px";
52
- const headerTemplate = ` `;
53
- const footerTopLeft = contents?.footer?.topLeft || ``;
54
- const footerTopRight = contents?.footer?.topRight || ``;
55
- const date = new Date(new Date().toLocaleString("en-US", { timeZone: "Europe/Rome" }));
56
- const footerBottomLeft = contents?.footer?.bottomLeft ||
57
- `©2022 Flos - P.IVA 00290820174 - ${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;
58
- const footerMail = contents?.footer?.mail || "info@flos.com";
59
- const footerBottomRight = contents?.footer?.bottomRight ||
60
- `<a style="text-decoration: none; color:#000" href="https://professional.flos.com/en/global/">professional.flos.com</a> | <a style="text-decoration: none; color:#000" href="mailto:${footerMail}">${footerMail}</a> <span class="pageNumber" style="margin-left:4px"></span>/<span class="totalPages"></span>`;
61
- const footerBottom = "In our constantly evolving world and business, technical upgrades happen every day. This means all product specifications and data are subject to change without warning in order t improve reliability, function, performance or otherwise. We make every effort to ensure the accuracy of our product images, however due to different lighting and screens used for viewing, the colours may vary. Images are indicative of the quality and style of the product but may not represent the precise details of the product you receive. This is because we are constantly working to make improvements. For aesthetic reasons, cables and/or electrical elements are often not shown. Refer to technical data sheets for all technical data. Images and colours are not part of any contract or warranty in any way.";
62
- const footerStyle = `<style>.pdf-footer { font-family: Arial, Helvetica, sans-serif; font-weight: 300; }</style>`;
63
- const footerTemplate = `${footerStyle}<div class="pdf-footer" style="margin: 0 ${pageMargin}; padding: 10px 0; width: 100%; font-size: 5pt; font-weight:300;"> <div class="pdf-row" style="display: flex; flex-wrap: wrap; border-bottom: 1px solid rgb(168, 168, 168); border-bottom-style:solid; padding-bottom: 6px; justify-content: center; align-items: center;"> <span class="left" style="margin:0; padding: 0; width: 80%; white-space: normal; overflow: hidden;">${footerTopLeft}</span> <span class="right" style="margin:0; padding: 0; width: 20%; text-align: right;">${footerTopRight}</span> </div> <div class="pdf-row" style="display: flex; flex-wrap: wrap; padding-top: 6px; justify-content: center; align-items: center;"> <span style="width: 50%;">${footerBottomLeft}</span> <span style="width: 50%; text-align: right;"> ${footerBottomRight} </span> </div><div class="pdf-row" style="font-size: 4pt; margin-top:5px;">${footerBottom}</div> </div>`;
64
- const options = {
65
- format: "a4",
66
- printBackground: true,
67
- displayHeaderFooter: true,
68
- headerTemplate,
69
- footerTemplate,
70
- margin: {
71
- top: pageMargin,
72
- left: pageMargin,
73
- right: pageMargin,
74
- bottom: "114px",
75
- },
76
- };
96
+ const options = getPDFOptions(contents);
77
97
  if (path) {
78
98
  options.path = path;
79
99
  }
@@ -81,14 +101,12 @@ const generatePDFByUrl = async (url, path = "", contents) => {
81
101
  logs_1.log(logMsg, "DEBUG");
82
102
  if (logs_1.serverUtils) {
83
103
  logs_1.serverUtils.log(logMsg);
84
- logs_1.serverUtils.updateProgress(70);
85
104
  }
86
105
  const pdf = await page.pdf(options);
87
106
  logMsg = `After page.pdf - ${utils_1.secondBetweenTwoDate(timeStart, new Date())} seconds`;
88
107
  logs_1.log(logMsg, "DEBUG");
89
108
  if (logs_1.serverUtils) {
90
109
  logs_1.serverUtils.log(logMsg);
91
- logs_1.serverUtils.updateProgress(90);
92
110
  }
93
111
  const timeEnd = new Date();
94
112
  const seconds = utils_1.secondBetweenTwoDate(timeStart, timeEnd);
@@ -96,7 +114,6 @@ const generatePDFByUrl = async (url, path = "", contents) => {
96
114
  logs_1.log(logMsg, "DEBUG");
97
115
  if (logs_1.serverUtils) {
98
116
  logs_1.serverUtils.log(logMsg);
99
- logs_1.serverUtils.updateProgress(100);
100
117
  }
101
118
  return pdf;
102
119
  }
@@ -108,5 +125,47 @@ const generatePDFByUrl = async (url, path = "", contents) => {
108
125
  await browser.close();
109
126
  }
110
127
  };
111
- exports.generatePDFByUrl = generatePDFByUrl;
128
+ const generatePDFByUrlWithAxios = async (url, contents) => {
129
+ let logMsg = `generatePDFByUrl - url: ${url}`;
130
+ logs_1.log(logMsg, "DEBUG");
131
+ if (logs_1.serverUtils) {
132
+ logs_1.serverUtils.log(logMsg);
133
+ }
134
+ const timeStart = new Date();
135
+ if (!process.env.BROWSERLESS_TOKEN) {
136
+ logMsg = `BROWSERLESS_TOKEN environment variable not found`;
137
+ if (logs_1.serverUtils) {
138
+ logs_1.serverUtils.log(logMsg);
139
+ }
140
+ logs_1.log(logMsg, "ERROR");
141
+ return null;
142
+ }
143
+ logMsg = `Before axios request - ${utils_1.secondBetweenTwoDate(timeStart, new Date())} seconds`;
144
+ logs_1.log(logMsg, "DEBUG");
145
+ if (logs_1.serverUtils) {
146
+ logs_1.serverUtils.log(logMsg);
147
+ }
148
+ const options = {
149
+ method: "POST",
150
+ url: "https://chrome.browserless.io/pdf",
151
+ params: { token: process.env.BROWSERLESS_TOKEN },
152
+ responseType: "arraybuffer",
153
+ headers: {
154
+ "cache-control": "no-cache",
155
+ "content-type": "application/json",
156
+ },
157
+ data: {
158
+ url,
159
+ gotoOptions: { waitUntil: "networkidle0" },
160
+ options: getPDFOptions(contents),
161
+ },
162
+ };
163
+ const response = await axios_1.default.request(options);
164
+ logMsg = `after axios request - ${utils_1.secondBetweenTwoDate(timeStart, new Date())} seconds`;
165
+ logs_1.log(logMsg, "DEBUG");
166
+ if (logs_1.serverUtils) {
167
+ logs_1.serverUtils.log(logMsg);
168
+ }
169
+ return response.data;
170
+ };
112
171
  //# sourceMappingURL=puppeteer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../src/libs/puppeteer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../src/libs/puppeteer.ts"],"names":[],"mappings":"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"}
@@ -1111,7 +1111,6 @@ const generateTechSpecPdf = async (topicProductId) => {
1111
1111
  throw new Error(`topicProduct with id ${topicProductId} is archived`);
1112
1112
  }
1113
1113
  if (logs_1.serverUtils) {
1114
- logs_1.serverUtils.log(topicProductId);
1115
1114
  logs_1.serverUtils.updateProgress(10);
1116
1115
  }
1117
1116
  const topicProductPageId = exports.getProductPageIdByCode(topicProduct.sys.id);
@@ -1164,10 +1163,13 @@ const generateTechSpecPdf = async (topicProductId) => {
1164
1163
  const pdf = await puppeteer_1.generatePDFByUrl(layoutUrl, "", contents);
1165
1164
  if (pdf) {
1166
1165
  if (logs_1.serverUtils) {
1166
+ logs_1.serverUtils.log("Saving to S3...");
1167
1167
  logs_1.serverUtils.updateProgress(45);
1168
1168
  }
1169
1169
  const s3Url = await s3_1.savePDFToS3(pdf, fileName, "tech-spec");
1170
1170
  if (logs_1.serverUtils) {
1171
+ logs_1.serverUtils.log("Saved!");
1172
+ logs_1.serverUtils.log(`Update techSpec field...`);
1171
1173
  logs_1.serverUtils.updateProgress(75);
1172
1174
  }
1173
1175
  logs_1.log(`Update techSpec field...`);
@@ -1183,6 +1185,7 @@ const generateTechSpecPdf = async (topicProductId) => {
1183
1185
  }
1184
1186
  }
1185
1187
  if (logs_1.serverUtils) {
1188
+ logs_1.serverUtils.log("Updated!");
1186
1189
  logs_1.serverUtils.updateProgress(100);
1187
1190
  }
1188
1191
  logs_1.log(`${topicProductId} techSpec field updated!`);
@@ -1 +1 @@
1
- {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../src/pim/methods/products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../src/pim/methods/products.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pim-import",
3
- "version": "4.1.0",
3
+ "version": "4.2.2",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "types/index.d.ts",
@@ -41,7 +41,7 @@
41
41
  "imgix-management-js": "^1.2.1",
42
42
  "mime-types": "^2.1.33",
43
43
  "node-gzip": "^1.1.2",
44
- "puppeteer-core": "^11.0.0",
44
+ "puppeteer-core": "^15.4.0",
45
45
  "remove-markdown": "^0.3.0",
46
46
  "s3-streamlogger": "^1.7.0",
47
47
  "winston": "^3.7.2"
@@ -2,6 +2,7 @@ import puppeteer from "puppeteer-core";
2
2
  import { secondBetweenTwoDate } from "../utils";
3
3
  import { log, serverUtils } from "./logs";
4
4
  import { PDFOptions } from "puppeteer-core/lib/types";
5
+ import axios from "@atoms-studio/axios";
5
6
 
6
7
  interface HeaderColumns {
7
8
  left?: string;
@@ -20,6 +21,67 @@ interface PDFHeaderAndFooter {
20
21
  footer?: FooterColumns;
21
22
  }
22
23
 
24
+ export const generatePDFByUrl = async (
25
+ url: string,
26
+ path: string = "",
27
+ contents?: PDFHeaderAndFooter
28
+ ) => {
29
+ log(`generatePDFByUrl - url: ${url} path: ${path}`);
30
+
31
+ if (!process.env.BROWSERLESS_TOKEN) {
32
+ log(`BROWSERLESS_TOKEN environment variable not found`, "ERROR");
33
+ }
34
+ let pdf;
35
+ if (path) {
36
+ pdf = await generatePDFByUrlWithPuppeteer(url, path, contents);
37
+ } else {
38
+ pdf = await generatePDFByUrlWithAxios(url, contents);
39
+ }
40
+
41
+ return pdf;
42
+ };
43
+
44
+ // See: https://github.com/puppeteer/puppeteer/blob/v11.0.0/docs/api.md#pagepdfoptions
45
+ const getPDFOptions = (
46
+ contents: PDFHeaderAndFooter | undefined
47
+ ): PDFOptions => {
48
+ const pageMargin = "33px";
49
+ const headerTemplate = ` `;
50
+ const footerTopLeft = contents?.footer?.topLeft || ``;
51
+ const footerTopRight = contents?.footer?.topRight || ``;
52
+ const date = new Date(
53
+ new Date().toLocaleString("en-US", { timeZone: "Europe/Rome" })
54
+ );
55
+ const footerBottomLeft =
56
+ contents?.footer?.bottomLeft ||
57
+ `©2022 Flos - P.IVA 00290820174 - ${
58
+ date.getMonth() + 1
59
+ }/${date.getDate()}/${date.getFullYear()}`;
60
+ const footerMail = contents?.footer?.mail || "info@flos.com";
61
+ const footerBottomRight =
62
+ contents?.footer?.bottomRight ||
63
+ `<a style="text-decoration: none; color:#000" href="https://professional.flos.com/en/global/">professional.flos.com</a> | <a style="text-decoration: none; color:#000" href="mailto:${footerMail}">${footerMail}</a> <span class="pageNumber" style="margin-left:4px"></span>/<span class="totalPages"></span>`;
64
+ const footerBottom =
65
+ "In our constantly evolving world and business, technical upgrades happen every day. This means all product specifications and data are subject to change without warning in order t improve reliability, function, performance or otherwise. We make every effort to ensure the accuracy of our product images, however due to different lighting and screens used for viewing, the colours may vary. Images are indicative of the quality and style of the product but may not represent the precise details of the product you receive. This is because we are constantly working to make improvements. For aesthetic reasons, cables and/or electrical elements are often not shown. Refer to technical data sheets for all technical data. Images and colours are not part of any contract or warranty in any way.";
66
+ const footerStyle = `<style>.pdf-footer { font-family: Arial, Helvetica, sans-serif; font-weight: 300; }</style>`;
67
+ const footerTemplate = `${footerStyle}<div class="pdf-footer" style="margin: 0 ${pageMargin}; padding: 10px 0; width: 100%; font-size: 5pt; font-weight:300;"> <div class="pdf-row" style="display: flex; flex-wrap: wrap; border-bottom: 1px solid rgb(168, 168, 168); border-bottom-style:solid; padding-bottom: 6px; justify-content: center; align-items: center;"> <span class="left" style="margin:0; padding: 0; width: 80%; white-space: normal; overflow: hidden;">${footerTopLeft}</span> <span class="right" style="margin:0; padding: 0; width: 20%; text-align: right;">${footerTopRight}</span> </div> <div class="pdf-row" style="display: flex; flex-wrap: wrap; padding-top: 6px; justify-content: center; align-items: center;"> <span style="width: 50%;">${footerBottomLeft}</span> <span style="width: 50%; text-align: right;"> ${footerBottomRight} </span> </div><div class="pdf-row" style="font-size: 4pt; margin-top:5px;">${footerBottom}</div> </div>`;
68
+
69
+ // See: https://github.com/puppeteer/puppeteer/blob/v11.0.0/docs/api.md#pagepdfoptions
70
+ return {
71
+ format: "A4",
72
+ printBackground: true,
73
+ displayHeaderFooter: true,
74
+ headerTemplate,
75
+ footerTemplate,
76
+ margin: {
77
+ top: pageMargin,
78
+ left: pageMargin,
79
+ right: pageMargin,
80
+ bottom: "114px",
81
+ },
82
+ };
83
+ };
84
+
23
85
  /**
24
86
  * Generate PDF by URL
25
87
  *
@@ -28,7 +90,7 @@ interface PDFHeaderAndFooter {
28
90
  * @param contents E.g. {header{left:'Foo', right:'Bar'}, footer{left:'Foo', right:'Bar'}}
29
91
  * @returns
30
92
  */
31
- export const generatePDFByUrl = async (
93
+ const generatePDFByUrlWithPuppeteer = async (
32
94
  url: string,
33
95
  path: string = "",
34
96
  contents?: PDFHeaderAndFooter
@@ -47,7 +109,6 @@ export const generatePDFByUrl = async (
47
109
  log(logMsg, "DEBUG");
48
110
  if (serverUtils) {
49
111
  serverUtils.log(logMsg);
50
- serverUtils.updateProgress(10);
51
112
  }
52
113
 
53
114
  const browser = await puppeteer.connect({
@@ -61,7 +122,6 @@ export const generatePDFByUrl = async (
61
122
  log(logMsg, "DEBUG");
62
123
  if (serverUtils) {
63
124
  serverUtils.log(logMsg);
64
- serverUtils.updateProgress(20);
65
125
  }
66
126
  const page = await browser.newPage();
67
127
 
@@ -72,7 +132,6 @@ export const generatePDFByUrl = async (
72
132
  log(logMsg, "DEBUG");
73
133
  if (serverUtils) {
74
134
  serverUtils.log(logMsg);
75
- serverUtils.updateProgress(30);
76
135
  }
77
136
  const res = await page.goto(url, { waitUntil: "networkidle0", timeout: 0 });
78
137
  logMsg = `After page.goto - ${secondBetweenTwoDate(
@@ -82,7 +141,12 @@ export const generatePDFByUrl = async (
82
141
  log(logMsg, "DEBUG");
83
142
  if (serverUtils) {
84
143
  serverUtils.log(logMsg);
85
- serverUtils.updateProgress(40);
144
+ }
145
+
146
+ if (!res) {
147
+ await browser.close();
148
+ console.log(`Error no response`);
149
+ return null;
86
150
  }
87
151
 
88
152
  if (res.status() !== 200) {
@@ -92,45 +156,11 @@ export const generatePDFByUrl = async (
92
156
  }
93
157
 
94
158
  try {
95
- const pageMargin = "33px";
96
- const headerTemplate = ` `;
97
- const footerTopLeft = contents?.footer?.topLeft || ``;
98
- const footerTopRight = contents?.footer?.topRight || ``;
99
- const date = new Date(
100
- new Date().toLocaleString("en-US", { timeZone: "Europe/Rome" })
101
- );
102
- const footerBottomLeft =
103
- contents?.footer?.bottomLeft ||
104
- `©2022 Flos - P.IVA 00290820174 - ${
105
- date.getMonth() + 1
106
- }/${date.getDate()}/${date.getFullYear()}`;
107
- const footerMail = contents?.footer?.mail || "info@flos.com";
108
- const footerBottomRight =
109
- contents?.footer?.bottomRight ||
110
- `<a style="text-decoration: none; color:#000" href="https://professional.flos.com/en/global/">professional.flos.com</a> | <a style="text-decoration: none; color:#000" href="mailto:${footerMail}">${footerMail}</a> <span class="pageNumber" style="margin-left:4px"></span>/<span class="totalPages"></span>`;
111
- const footerBottom =
112
- "In our constantly evolving world and business, technical upgrades happen every day. This means all product specifications and data are subject to change without warning in order t improve reliability, function, performance or otherwise. We make every effort to ensure the accuracy of our product images, however due to different lighting and screens used for viewing, the colours may vary. Images are indicative of the quality and style of the product but may not represent the precise details of the product you receive. This is because we are constantly working to make improvements. For aesthetic reasons, cables and/or electrical elements are often not shown. Refer to technical data sheets for all technical data. Images and colours are not part of any contract or warranty in any way.";
113
- const footerStyle = `<style>.pdf-footer { font-family: Arial, Helvetica, sans-serif; font-weight: 300; }</style>`;
114
- const footerTemplate = `${footerStyle}<div class="pdf-footer" style="margin: 0 ${pageMargin}; padding: 10px 0; width: 100%; font-size: 5pt; font-weight:300;"> <div class="pdf-row" style="display: flex; flex-wrap: wrap; border-bottom: 1px solid rgb(168, 168, 168); border-bottom-style:solid; padding-bottom: 6px; justify-content: center; align-items: center;"> <span class="left" style="margin:0; padding: 0; width: 80%; white-space: normal; overflow: hidden;">${footerTopLeft}</span> <span class="right" style="margin:0; padding: 0; width: 20%; text-align: right;">${footerTopRight}</span> </div> <div class="pdf-row" style="display: flex; flex-wrap: wrap; padding-top: 6px; justify-content: center; align-items: center;"> <span style="width: 50%;">${footerBottomLeft}</span> <span style="width: 50%; text-align: right;"> ${footerBottomRight} </span> </div><div class="pdf-row" style="font-size: 4pt; margin-top:5px;">${footerBottom}</div> </div>`;
115
-
116
- // See: https://github.com/puppeteer/puppeteer/blob/v11.0.0/docs/api.md#pagepdfoptions
117
- const options: PDFOptions = {
118
- format: "a4",
119
- printBackground: true,
120
- displayHeaderFooter: true,
121
- headerTemplate,
122
- footerTemplate,
123
- margin: {
124
- top: pageMargin,
125
- left: pageMargin,
126
- right: pageMargin,
127
- bottom: "114px",
128
- },
129
- };
130
-
159
+ const options: PDFOptions = getPDFOptions(contents);
131
160
  if (path) {
132
161
  options.path = path;
133
162
  }
163
+
134
164
  logMsg = `Before page.pdf - ${secondBetweenTwoDate(
135
165
  timeStart,
136
166
  new Date()
@@ -138,7 +168,6 @@ export const generatePDFByUrl = async (
138
168
  log(logMsg, "DEBUG");
139
169
  if (serverUtils) {
140
170
  serverUtils.log(logMsg);
141
- serverUtils.updateProgress(70);
142
171
  }
143
172
  const pdf = await page.pdf(options);
144
173
  logMsg = `After page.pdf - ${secondBetweenTwoDate(
@@ -148,7 +177,6 @@ export const generatePDFByUrl = async (
148
177
  log(logMsg, "DEBUG");
149
178
  if (serverUtils) {
150
179
  serverUtils.log(logMsg);
151
- serverUtils.updateProgress(90);
152
180
  }
153
181
 
154
182
  const timeEnd = new Date();
@@ -157,7 +185,6 @@ export const generatePDFByUrl = async (
157
185
  log(logMsg, "DEBUG");
158
186
  if (serverUtils) {
159
187
  serverUtils.log(logMsg);
160
- serverUtils.updateProgress(100);
161
188
  }
162
189
 
163
190
  return pdf;
@@ -168,3 +195,69 @@ export const generatePDFByUrl = async (
168
195
  await browser.close();
169
196
  }
170
197
  };
198
+
199
+ /**
200
+ * Generate PDF by URL
201
+ *
202
+ * @param url E.g. https://my-site.com/slug
203
+ * @param contents E.g. {header{left:'Foo', right:'Bar'}, footer{left:'Foo', right:'Bar'}}
204
+ * @returns
205
+ */
206
+ const generatePDFByUrlWithAxios = async (
207
+ url: string,
208
+ contents?: PDFHeaderAndFooter
209
+ ) => {
210
+ let logMsg = `generatePDFByUrl - url: ${url}`;
211
+ log(logMsg, "DEBUG");
212
+ if (serverUtils) {
213
+ serverUtils.log(logMsg);
214
+ }
215
+ const timeStart = new Date();
216
+
217
+ if (!process.env.BROWSERLESS_TOKEN) {
218
+ logMsg = `BROWSERLESS_TOKEN environment variable not found`;
219
+ if (serverUtils) {
220
+ serverUtils.log(logMsg);
221
+ }
222
+ log(logMsg, "ERROR");
223
+ return null;
224
+ }
225
+
226
+ logMsg = `Before axios request - ${secondBetweenTwoDate(
227
+ timeStart,
228
+ new Date()
229
+ )} seconds`;
230
+ log(logMsg, "DEBUG");
231
+ if (serverUtils) {
232
+ serverUtils.log(logMsg);
233
+ }
234
+
235
+ const options: any = {
236
+ method: "POST",
237
+ url: "https://chrome.browserless.io/pdf",
238
+ params: { token: process.env.BROWSERLESS_TOKEN },
239
+ responseType: "arraybuffer",
240
+ headers: {
241
+ "cache-control": "no-cache",
242
+ "content-type": "application/json",
243
+ },
244
+ data: {
245
+ url,
246
+ gotoOptions: { waitUntil: "networkidle0" },
247
+ options: getPDFOptions(contents),
248
+ },
249
+ };
250
+
251
+ const response = await axios.request(options);
252
+
253
+ logMsg = `after axios request - ${secondBetweenTwoDate(
254
+ timeStart,
255
+ new Date()
256
+ )} seconds`;
257
+ log(logMsg, "DEBUG");
258
+ if (serverUtils) {
259
+ serverUtils.log(logMsg);
260
+ }
261
+
262
+ return response.data;
263
+ };
@@ -1919,7 +1919,6 @@ export const generateTechSpecPdf = async (topicProductId: string) => {
1919
1919
  throw new Error(`topicProduct with id ${topicProductId} is archived`);
1920
1920
  }
1921
1921
  if (serverUtils) {
1922
- serverUtils.log(topicProductId);
1923
1922
  serverUtils.updateProgress(10);
1924
1923
  }
1925
1924
 
@@ -1990,10 +1989,13 @@ export const generateTechSpecPdf = async (topicProductId: string) => {
1990
1989
  const pdf = await generatePDFByUrl(layoutUrl, "", contents);
1991
1990
  if (pdf) {
1992
1991
  if (serverUtils) {
1992
+ serverUtils.log("Saving to S3...");
1993
1993
  serverUtils.updateProgress(45);
1994
1994
  }
1995
1995
  const s3Url = await savePDFToS3(pdf, fileName, "tech-spec");
1996
1996
  if (serverUtils) {
1997
+ serverUtils.log("Saved!");
1998
+ serverUtils.log(`Update techSpec field...`);
1997
1999
  serverUtils.updateProgress(75);
1998
2000
  }
1999
2001
 
@@ -2011,6 +2013,7 @@ export const generateTechSpecPdf = async (topicProductId: string) => {
2011
2013
  }
2012
2014
 
2013
2015
  if (serverUtils) {
2016
+ serverUtils.log("Updated!");
2014
2017
  serverUtils.updateProgress(100);
2015
2018
  }
2016
2019
 
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  interface HeaderColumns {
3
2
  left?: string;
4
3
  right?: string;
@@ -14,5 +13,5 @@ interface PDFHeaderAndFooter {
14
13
  header?: HeaderColumns;
15
14
  footer?: FooterColumns;
16
15
  }
17
- export declare const generatePDFByUrl: (url: string, path?: string, contents?: PDFHeaderAndFooter | undefined) => Promise<Buffer | null>;
16
+ export declare const generatePDFByUrl: (url: string, path?: string, contents?: PDFHeaderAndFooter | undefined) => Promise<any>;
18
17
  export {};