test.js
const AWS = require('aws-sdk');
const pdf = require('pdf-parse');
const fs = require('fs');
// AWS SDKの設定
const s3 = new AWS.S3({
region: 'us-east-1' // 適切な地域を指定
});
async function processPDFFromS3() {
const bucketName = '********';
const objectKey = 'test/test.pdf';
try {
// S3からPDFファイルをダウンロード
const params = {
Bucket: bucketName,
Key: objectKey
};
const data = await s3.getObject(params).promise();
// pdf-parseでPDFを処理
const pdfData = await pdf(data.Body);
console.log('テキスト内容:', pdfData.text);
console.log('ページ数:', pdfData.numpages);
// 処理結果をファイルに保存(オプション)
fs.writeFileSync('extracted_text.txt', pdfData.text);
return pdfData;
} catch (error) {
console.error('エラーが発生しました:', error);
throw error;
}
}
// 実行
processPDFFromS3();
C:\Users\XX\textract-test>node test.js
(node:12280) NOTE: The AWS SDK for JavaScript (v2) is in maintenance mode.
SDK releases are limited to address critical bug fixes and security issues only.
Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check the blog post at https://a.co/cUPnyil
(Use `node --trace-warnings ...` to show where the warning was created)
Warning: TT: undefined function: 32
テキスト内容:
日本語開始
改行
改行
日本語終了
ページ数: 1
test.pdf
日本語開始
改行
改行
日本語終了