У меня есть экспресс-бэкэнд, который получает PDF от углового интерфейса. Я пытаюсь сохранить его на жестком диске с помощью multer, а затем использовать pdf-to-text, чтобы преобразовать его в текст.
Вот соответствующий код:
const multer = require('multer');
pdfUtil = require('pdf-to-text');
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, '_backend/pdfs');
},
filename: (req, file, cb) => {
const name = file.originalname
cb(null, name );
}
});
app.post('/api/pdf', multer({ storage: storage }).single('pdf'),
(req, res, next) => {
pdfUrl = __dirname + '/pdfs/' + req.file.originalname;
pdfUtil.pdfToText(pdfUrl, (data) => {
console.log(data); //print all text
});
});
Когда я запускаюВ коде конечной точки в качестве отдельного модуля node.js весь текст pdf печатается в терминале, но в конечной точке он печатается как ноль. Я проверил, и путь к PDF правильный. PDF-файл также успешно сохраняется в указанной мной папке. Я предполагаю, что это как-то связано с тем, что pdf не полностью сохраняется, когда вызывается функция pdfToText, но я не уверен, что с этим делать.