如何在 lambda 中 运行 pdfjs?

how to run pdfjs in a lambda?

使用 pdfjs 库从 pdf 中提取文本(下面的示例代码)。如何 运行 在 lambda 中使用路径作为 s3 位置的此代码。必须首先以字节形式读取文件,以及如何将其传递给 pdfjs 库?

async function getText(path) {
    let doc = await pdfjsLib.getDocument(path).promise;
    let page = await doc.getPage(1);
    let content = await page.getTextContent();
    let text_content = content.items.map(function(item) {
        return item.str;
    });
    return text_content;
}
(async() => {
  await getText('./file.pdf').then(data=> console.log(data));  
})()

很简单。

首先,您必须授权您的 Lambda 访问您之前创建的存储桶。

https://aws.amazon.com/premiumsupport/knowledge-center/lambda-execution-role-s3-bucket/?nc1=h_ls

您可以使用 S3 Javascript SDK。我使用 Python 所以我不能给你确切的代码,但它应该是直截了当的。

https://docs.aws.amazon.com/es_es/sdk-for-javascript/v2/developer-guide/s3-examples.html