tenta fix pdfservice.js
This commit is contained in:
1 parent
46f538332e
commit
0908378ca0
1 file changed
+12
@@ -197,6 +197,18 @@ export class PdfService {
|
|||||||
const page = pdfDoc.getPage(i);
|
const page = pdfDoc.getPage(i);
|
||||||
page.drawPage(timbradoEmbed, { x: 0, y: 0, width: page.getWidth(), height: page.getHeight() });
|
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();
|
const mergedPdf = await pdfDoc.save();
|
||||||
return Buffer.from(mergedPdf);
|
return Buffer.from(mergedPdf);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in new issue
Block a user