- pdfreaderモジュールを使用する方法:
const PDFParser = require('pdfreader').PDFParser;
const fs = require('fs');
const pdfParser = new PDFParser();
pdfParser.on('pdfParser_dataError', errData => console.error(errData.parserError));
pdfParser.on('pdfParser_dataReady', pdfData => {
// PDFデータの処理
const text = pdfData.formImage.Pages[0].Texts.map(text => decodeURIComponent(text.R[0].T));
console.log(text);
});
fs.readFile('sample.pdf', (err, pdfBuffer) => {
if (err) throw err;
pdfParser.parseBuffer(pdfBuffer);
});
- PDF.jsを使用する方法:
const pdfjsLib = require('pdfjs-dist/legacy/build/pdf.js');
const fs = require('fs');
async function extractTextFromPDF(pdfPath) {
const data = new Uint8Array(fs.readFileSync(pdfPath));
const loadingTask = pdfjsLib.getDocument(data);
const pdfDocument = await loadingTask.promise;
let textContent = '';
for (let pageNumber = 1; pageNumber <= pdfDocument.numPages; pageNumber++) {
const page = await pdfDocument.getPage(pageNumber);
const content = await page.getTextContent();
content.items.forEach(item => {
textContent += item.str + ' ';
});
}
console.log(textContent);
}
extractTextFromPDF('sample.pdf');
これらのコード例では、sample.pdf
という名前のPDFファイルからテキストデータを抽出してコンソールに出力します。必要に応じて、抽出したデータを他の処理に使用することもできます。
これらの方法は、Node.jsでPDFデータを処理するための一般的な手法です。他にもさまざまなライブラリやモジュールが存在するため、要件や好みに応じて適切な方法を選択できます。