PDFToText.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const express = require("express");
  2. const multer = require("multer");
  3. const pdf = require("pdf-parse");
  4. const fs = require('fs');
  5. const app = express();
  6. app.use(express.json());
  7. app.use(express.urlencoded({extended: true}));
  8. app.use((req, res, next) => {
  9. res.setHeader("Access-Control-Allow-Origin", "http://localhost:4200");
  10. res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
  11. res.setHeader("Access-Control-Allow-Headers", "Content-Type, x-requested-with");
  12. next();
  13. });
  14. const storage = multer.diskStorage({
  15. destination: function (req, file, cb) {
  16. cb(null, "uploads/");
  17. },
  18. filename: function (req, file, cb) {
  19. cb(null, file.originalname);
  20. }
  21. });
  22. const upload = multer({storage: storage});
  23. app.post("/upload", upload.single("file"), (req, res) => {
  24. try {
  25. const filePath = req.file.path;
  26. let dataBuffer = fs.readFileSync(filePath);
  27. pdf(dataBuffer).then(function (data) {
  28. // number of pages
  29. console.log(data.numpages);
  30. console.log("-------------------------------")
  31. // number of rendered pages
  32. console.log(data.numrender);
  33. // PDF info
  34. console.log("-------------------------------")
  35. console.log(data.info);
  36. console.log("-------------------------------")
  37. // PDF metadata
  38. console.log(data.metadata);
  39. console.log("-------------------------------")
  40. // PDF text
  41. console.log(data.text);
  42. console.log("-------------------------------")
  43. });
  44. } catch (error) {
  45. res.status(500).json({error: error.message});
  46. }
  47. });
  48. app.listen(3000, () => {
  49. console.log("Server started on port 3000");
  50. });