const express = require('express');
const multer = require('multer');
const PDFParser = require('pdf-parse');
const app = express();
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, 'uploads/');
},
filename: (req, file, cb) => {
const timestamp = Date.now();
cb(null, `${timestamp}-${file.originalname}`);
}
});
const upload = multer({ storage: storage });
app.post('/upload', upload.single('file'), async (req, res) => {
if (!req.file) {
return res.status(400).json({ error: 'No file uploaded' });
}
const filePath = req.file.path;
try {
const dataBuffer = fs.readFileSync(filePath);
const pdfData = await PDFParser(dataBuffer);
const extractedText = pdfData.text;
console.log('Extracted text:', extractedText);
res.json({ message: 'File uploaded and text extracted successfully' });
} catch (error) {
console.error('Error while extracting text:', error);
res.status(500).json({ error: 'Failed to extract text from the file' });
}
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});