Closed
Description
Question
Description
Hi everyone I'm using this package in payloadCMS version 3 (https://payloadcms.com/), but when I'm implement it got some error. the error regarding Error generating, PDF: Error: ENOENT: no such file or directory,
here the log of error:
at <unknown> (file://C%3A/folder/Project/linktap/linktap-project/src/collections/Invoices/utils/pdfGenerator.ts:9:18)
at new Promise (<anonymous>)
at generatePDF (file://C%3A/folder/Project/linktap/linktap-project/src/collections/Invoices/utils/pdfGenerator.ts:7:9)
at handler (file://C%3A/folder/Project/linktap/linktap-project/src/collections/Invoices/endpoints/generateInvoicePdf.ts:33:42)
7 | return new Promise((resolve, reject) => {
8 | try {
> 9 | const doc = new PDFDocument({
| ^
10 | font: '../public/fonts/Helvetica.afm',
11 | margin: 50,
12 | }) {
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path: 'C:\\folder\\Project\\linktap\\public\\fonts\\Helvetica.afm'
}
Code sample
this is code sample I'm using:
return new Promise((resolve, reject) => {
try {
const doc = new PDFDocument({
margin: 50,
})
console.log('risyandi ~ returnnewPromise ~ doc:', doc)
const buffers: Buffer[] = []
console.log('risyandi ~ returnnewPromise ~ buffers:', buffers)
// collect pdf data
doc.on('data', (chunk) => buffers.push(chunk))
doc.on('end', () => {
const pdfBuffer = Buffer.concat(buffers)
resolve(pdfBuffer)
})
doc.on('error', (error) => reject(error))
// build the pdf
generateHeader(doc, invoice)
generateCustomerInformation(doc, invoice)
generateInvoiceTable(doc, invoice)
generateFooter(doc, invoice)
doc.end()
} catch (error) {
reject(error)
}
})
}
Your environment
- pdfkit version: 0.17.1
- Node version: 22.14.0
- Browser version (if applicable):
- Operating System: windows
Metadata
Metadata
Assignees
Labels
No labels