in resume-extraction/app/api/extract_resume/route.ts [48:87]
async function parsePDF(uploadedFiles: FormDataEntryValue[]): Promise<string> {
return new Promise((resolve, reject) => {
if (uploadedFiles && uploadedFiles.length > 0) {
const uploadedFile = uploadedFiles[0]
if (uploadedFile instanceof File) {
const tempFilePath = `/tmp/resume.pdf`
uploadedFile.arrayBuffer().then(arrayBuffer => {
const fileBuffer = Buffer.from(arrayBuffer)
fs.writeFile(tempFilePath, fileBuffer)
.then(() => {
// Parse the pdf using pdf2json
const pdfParser = new (PDFParser as any)(null, 1)
pdfParser.on('pdfParser_dataError', (errData: any) => {
console.log(errData.parserError)
reject(errData.parserError)
})
pdfParser.on('pdfParser_dataReady', () => {
const rawTextContent = (pdfParser as any).getRawTextContent()
resolve(rawTextContent)
})
pdfParser.loadPDF(tempFilePath)
})
.catch(error => {
console.error('Error writing file:', error)
reject(error)
})
})
} else {
reject(new Error('Uploaded file is not of type File'))
}
} else {
reject(new Error('No files uploaded'))
}
})
}