#!/usr/bin/env node /** * Script Node.js standalone pour extraire le texte d'un PDF avec pdf-parse * N'utilise PAS Webpack, donc pas de conflit avec pdfjs-dist * * Usage: node extract-pdf-text.js < input.pdf * ou: node extract-pdf-text.js /path/to/file.pdf * * Retourne JSON: { text: "...", numPages: 3, info: {...} } */ const fs = require('fs'); const { PDFParse } = require('pdf-parse'); async function extractText() { try { // Lire le PDF depuis stdin ou fichier let buffer; if (process.argv[2]) { // Fichier passé en argument buffer = fs.readFileSync(process.argv[2]); } else { // Lire depuis stdin const chunks = []; for await (const chunk of process.stdin) { chunks.push(chunk); } buffer = Buffer.concat(chunks); } // Extraire le texte avec pdf-parse v2 // Si on a un fichier, passer le chemin comme url const options = process.argv[2] ? { url: process.argv[2] } : { buffer }; const parser = new PDFParse(options); const data = await parser.getText(); // Retourner le résultat en JSON const result = { text: data.text, numPages: data.pages?.length || 0, info: data.info, metadata: data.metadata }; console.log(JSON.stringify(result)); process.exit(0); } catch (error) { console.error(JSON.stringify({ error: error.message, stack: error.stack })); process.exit(1); } } extractText();