1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- const express = require("express");
- const multer = require("multer");
- const pdf = require("pdf-parse");
- const fs = require('fs');
- const app = express();
- app.use(express.json());
- app.use(express.urlencoded({extended: true}));
- app.use((req, res, next) => {
- res.setHeader("Access-Control-Allow-Origin", "*");
- res.setHeader("Access-Control-Allow-Headers", "Content-Type, x-requested-with");
- next();
- });
- const storage = multer.diskStorage({
- destination: function (req, file, cb) {
- cb(null, "uploads/");
- },
- filename: function (req, file, cb) {
- cb(null, file.originalname);
- }
- });
- const options = {
- normalizeWhitespace: true,
- pdfjsDataRangeTransportFactory: function () {
- return new pdfjsDataRangeTransport();
- }
- };
- const upload = multer({storage: storage});
- let hasPrinted = false;
- app.post("/upload", upload.single("file"), (req, res) => {
- try {
- const filePath = req.file.path;
- let dataBuffer = fs.readFileSync(filePath);
- pdf(dataBuffer, options).then(function (data) {
- if (!hasPrinted) {
- console.log(data.text);
- hasPrinted = true
- }
- });
- } catch (error) {
- res.status(500).json({error: error.message});
- }
- hasPrinted = false
- });
- app.listen(3000, () => {
- console.log("Server started on port 3000");
- });
|