- PDF.jsを使用する方法: PDF.jsはJavaScriptで記述されたオープンソースのPDFレンダリングライブラリです。これを使用すると、Node.jsでPDFからテキストデータを抽出することができます。
まず、Node.jsプロジェクトをセットアップし、pdfjs-dist
パッケージをインストールします。
npm install pdfjs-dist
次に、以下のコードを使用してPDFからテキストデータを抽出します。
const fs = require('fs');
const pdfjs = require('pdfjs-dist');
async function extractTextFromPDF(path) {
const data = new Uint8Array(fs.readFileSync(path));
const doc = await pdfjs.getDocument(data).promise;
let text = '';
for (let i = 1; i <= doc.numPages; i++) {
const page = await doc.getPage(i);
const content = await page.getTextContent();
const pageText = content.items.map(item => item.str).join(' ');
text += pageText;
}
return text;
}
const pdfPath = 'path/to/pdf/file.pdf';
extractTextFromPDF(pdfPath)
.then(text => {
console.log(text);
})
.catch(error => {
console.error(error);
});
このコードでは、extractTextFromPDF
関数を作成し、指定されたPDFファイルからテキストデータを抽出しています。pdfPath
変数には抽出したいPDFファイルのパスを指定してください。
- パッケージを使用する方法:
Node.jsには、PDFからデータを抽出するためのさまざまなパッケージがあります。例えば、
pdf-extraction
やpdf2json
などがあります。これらのパッケージを使用すると、簡単にPDFからデータを抽出することができます。
以下は、pdf-extraction
パッケージを使用した例です。
まず、Node.jsプロジェクトをセットアップし、pdf-extraction
パッケージをインストールします。
npm install pdf-extraction
次に、以下のコードを使用してPDFからテキストデータを抽出します。
const fs = require('fs');
const PDFExtract = require('pdf-extraction');
async function extractTextFromPDF(path) {
const data = await fs.promises.readFile(path);
const pages = await PDFExtract.extract(data);
let text = '';
pages.forEach(page => {
page.content.forEach(content => {
text += content.str + ' ';
});
});
return text;
}
const pdfPath = 'path/to/pdf/file.pdf';
extractTextFromPDF(pdfPath)
.then(text => {
console.log(text);
})
.catch(error => {
console.error(error);
});
このコードでは、extractTextFromPDF
関数を作成し、指定されたPDFファイルからテキストデータを抽出しています。
以上が、Node.jsでPDFからデータを抽出する方法のいくつかの例です。これらの方法を使用すると、PDFファイルからテキストなどのデータを取得することができます。