diff --git a/backend/src/services/pdfGenerationService.ts b/backend/src/services/pdfGenerationService.ts index 37f0071..ac52a25 100644 --- a/backend/src/services/pdfGenerationService.ts +++ b/backend/src/services/pdfGenerationService.ts @@ -748,24 +748,29 @@ class PDFGenerationService { // Convert analysis data to HTML const html = this.generateCIMReviewHTML(analysisData); - // Generate PDF buffer - const pdfBuffer = await this.generatePDFBuffer(html, { - format: 'A4', - margin: { - top: '0.5in', - right: '0.5in', - bottom: '0.5in', - left: '0.5in', - }, - displayHeaderFooter: true, - printBackground: true, - }); - - if (!pdfBuffer) { - throw new Error('Failed to generate PDF buffer'); + // Try to generate PDF with Puppeteer first + const page = await this.getPage(); + + try { + await page.setContent(html, { waitUntil: 'networkidle0' }); + const pdfBuffer = await page.pdf({ + format: 'A4', + margin: { + top: '0.5in', + right: '0.5in', + bottom: '0.5in', + left: '0.5in', + }, + displayHeaderFooter: true, + printBackground: true, + }); + + this.releasePage(page); + return pdfBuffer; + } catch (puppeteerError) { + this.releasePage(page); + throw puppeteerError; } - - return pdfBuffer; } catch (error) { logger.error('Failed to generate CIM Review PDF with Puppeteer, trying fallback method', error);