diff --git a/package.json b/package.json index 8bfdfe86..82f0b42a 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "node-schedule": "^2.1.1", "ovh": "^2.0.3", "prisma-query": "^2.0.0", - "puppeteer": "^21.3.4", + "puppeteer": "^23.4.1", "reflect-metadata": "^0.1.13", "stripe": "^14.22.0", "ts-node": "^10.9.1", diff --git a/src/services/common/AnchoringProofService/AnchoringProofService.ts b/src/services/common/AnchoringProofService/AnchoringProofService.ts index 65fc543c..04395f5e 100644 --- a/src/services/common/AnchoringProofService/AnchoringProofService.ts +++ b/src/services/common/AnchoringProofService/AnchoringProofService.ts @@ -1,6 +1,7 @@ import BaseService from "@Services/BaseService"; -import { Service } from "typedi"; import puppeteer from "puppeteer"; +import { Service } from "typedi"; + import proofTemplate from "./proofTemplate"; export interface AnchoringProofData { @@ -21,7 +22,6 @@ export default class AnchoringProofService extends BaseService { */ public async generate(data: AnchoringProofData): Promise { const browser = await puppeteer.launch({ - headless: "new", executablePath: `/usr/bin/chromium`, args: ["--no-sandbox", "--disable-setuid-sandbox"], }); @@ -43,7 +43,7 @@ export default class AnchoringProofService extends BaseService { `; - await page.setContent(htmlContent); + await page.setContent(htmlContent, { waitUntil: "networkidle0", timeout: 60000 }); await page.addStyleTag({ content: ` @page { @@ -68,12 +68,14 @@ export default class AnchoringProofService extends BaseService { `, }); - const buffer = await page.pdf({ + const uint8Array = await page.pdf({ landscape: true, printBackground: false, format: "A4", }); + const buffer = Buffer.from(uint8Array); + await browser.close(); return buffer;