tenta fix pdfservice.js

This commit is contained in:
rodrigo committed 2025-04-21 21:07:06 -03:00
1 parent 2475bc6797
commit 8cf2c23774
1 file changed
+11 -1
+11 -1
View File
@@ -353,11 +353,21 @@ export class PdfService {
fs.readFile(timesItalicPath).catch(() => null), fs.readFile(timesItalicPath).catch(() => null),
fs.readFile(timesBoldItalicPath).catch(() => null), fs.readFile(timesBoldItalicPath).catch(() => null),
]); ]);
// Se algum arquivo foi encontrado mas está vazio, lança erro explícito
if ((timesPath && times !== null && (!Buffer.isBuffer(times) || times.length === 0)) ||
(timesBoldPath && timesBoldBuf !== null && (!Buffer.isBuffer(timesBoldBuf) || timesBoldBuf.length === 0)) ||
(timesItalicPath && timesItalicBuf !== null && (!Buffer.isBuffer(timesItalicBuf) || timesItalicBuf.length === 0)) ||
(timesBoldItalicPath && timesBoldItalicBuf !== null && (!Buffer.isBuffer(timesBoldItalicBuf) || timesBoldItalicBuf.length === 0))) {
throw new Error('Arquivo de fonte Times New Roman encontrado mas está vazio ou corrompido.');
}
if (times && Buffer.isBuffer(times) && times.length > 0) font = await pdfDoc.embedFont(times); if (times && Buffer.isBuffer(times) && times.length > 0) font = await pdfDoc.embedFont(times);
if (timesBoldBuf && Buffer.isBuffer(timesBoldBuf) && timesBoldBuf.length > 0) fontBold = await pdfDoc.embedFont(timesBoldBuf); if (timesBoldBuf && Buffer.isBuffer(timesBoldBuf) && timesBoldBuf.length > 0) fontBold = await pdfDoc.embedFont(timesBoldBuf);
if (timesItalicBuf && Buffer.isBuffer(timesItalicBuf) && timesItalicBuf.length > 0) fontItalic = await pdfDoc.embedFont(timesItalicBuf); if (timesItalicBuf && Buffer.isBuffer(timesItalicBuf) && timesItalicBuf.length > 0) fontItalic = await pdfDoc.embedFont(timesItalicBuf);
if (timesBoldItalicBuf && Buffer.isBuffer(timesBoldItalicBuf) && timesBoldItalicBuf.length > 0) fontBoldItalic = await pdfDoc.embedFont(timesBoldItalicBuf); if (timesBoldItalicBuf && Buffer.isBuffer(timesBoldItalicBuf) && timesBoldItalicBuf.length > 0) fontBoldItalic = await pdfDoc.embedFont(timesBoldItalicBuf);
} catch { /* fallback para Times padrão */ } } catch (err) {
console.error('Erro ao carregar fontes Times New Roman:', err);
font = null; fontBold = null; fontItalic = null; fontBoldItalic = null;
}
if (!font) font = await pdfDoc.embedFont(StandardFonts.TimesRoman); if (!font) font = await pdfDoc.embedFont(StandardFonts.TimesRoman);
if (!fontBold) fontBold = await pdfDoc.embedFont(StandardFonts.TimesBold); if (!fontBold) fontBold = await pdfDoc.embedFont(StandardFonts.TimesBold);
if (!fontItalic) fontItalic = await pdfDoc.embedFont(StandardFonts.TimesItalic); if (!fontItalic) fontItalic = await pdfDoc.embedFont(StandardFonts.TimesItalic);