PDF файл в лямбде nodejs - PullRequest
       7

PDF файл в лямбде nodejs

0 голосов
/ 10 января 2020

У меня есть файл PDF в S3. например. original.pdf

  1. используйте s3.getObject для получения информации об оригинале .pdf
  2. создайте пустой новый файл pdf ex) new.pdf
  3. я хочу скопировать содержимое файла оригинала.pdf на новый.pdf
  4. хотите добавить пароль в new.pdf
  5. используйте s3.putObject для загрузки нового.pdf

, пожалуйста, помогите Я

    const AWS = require('aws-sdk');
    const PDFLIB = require('pdf-lib');
    const s3 = new AWS.S3();

    exports.handler = (event,context,callback) => {

        let params = {
            Bucket : 'bucket-name',
            Key : 'key'
        };

        s3.getObject(params,(err,data)=>{
            if(err){
                console.log(err,err.stack);
            }else{
                console.log(data);
            }
        });

        const pdfDoc = PDFLIB.create();
    }

Я думаю, что я сделал шаг 1, а затем я хочу создать новый PDF-файл для копирования оригинального PDF.

но в лямбде есть ошибка

Response:
{
  "errorType": "TypeError",
  "errorMessage": "PDFLIB.create is not a function",
  "trace": [
    "TypeError: PDFLIB.create is not a function",
    "    at Runtime.exports.handler (/var/task/test2.js:20:27)",
    "    at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
  ]
}

1 Ответ

1 голос
/ 10 января 2020

Вам нужно извлечь PDFDocument, требуя pdf-lib. проверьте документацию для более подробной информации. код будет таким:

const AWS = require('aws-sdk');
const { PDFDocument} = require('pdf-lib');
    const s3 = new AWS.S3();

    exports.handler = (event,context,callback) => {

        let params = {
            Bucket : 'bucket-name',
            Key : 'key'
        };

        s3.getObject(params,(err,data)=>{
            if(err){
                console.log(err,err.stack);
            }else{
                console.log(data);
            }
        });

        const pdfDoc = PDFDocument.create(); // this is a async function as per documentation so need to await it or use then after that.
    }

Надеюсь, это сработает. Обратите внимание, что create метод asyn c согласно документации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...