diff --git a/src/server/services/PdfService.ts b/src/server/services/PdfService.ts index ec5df79..cdec045 100644 --- a/src/server/services/PdfService.ts +++ b/src/server/services/PdfService.ts @@ -197,6 +197,18 @@ export class PdfService { const page = pdfDoc.getPage(i); page.drawPage(timbradoEmbed, { x: 0, y: 0, width: page.getWidth(), height: page.getHeight() }); } + // Remove última página se estiver vazia (sem conteúdo visível) + if (pdfDoc.getPageCount() > 1) { + const lastPage = pdfDoc.getPage(pdfDoc.getPageCount() - 1); + const textContent = lastPage.getTextContent ? await lastPage.getTextContent() : null; + // pdf-lib não tem getTextContent, então alternativa: verifica se altura do conteúdo é mínima + if (lastPage.getHeight && lastPage.getWidth && lastPage.getHeight() > 0 && lastPage.getWidth() > 0) { + // Heurística: verifica se a página tem apenas o timbrado (sem outros objetos) + if (lastPage.node.Contents().size() === 0) { + pdfDoc.removePage(pdfDoc.getPageCount() - 1); + } + } + } const mergedPdf = await pdfDoc.save(); return Buffer.from(mergedPdf); } catch (error) {