Файл S3 в качестве ввода в PDFBox - PullRequest
0 голосов
/ 24 февраля 2020

Я пытался Apache PDFBox извлечь содержимое из файлов PDF, что работало нормально, когда я просто извлекал локальный PDF.

Но фактические входные PDF-файлы, которые я хочу проанализировать, находятся в корзине S3.

Я могу прочитать объект S3, используя приведенный ниже код,

final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.US_WEST_2).withCredentials(awsCredentailsService()).build();
        S3Object object = s3.getObject(new GetObjectRequest(bucketName, key));

        InputStream ins = object.getObjectContent();

Но я не могу понять, как передать этот файл в PDFBox для получения содержимого. Метод load () PDFBox ожидает объект File. Я попытался передать входной поток (модули), полученный выше, из S3Object, но он не принимает - ошибка компиляции.

PDDocument doc = PDDocument.load(pdfFile);

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

1 Ответ

0 голосов
/ 25 февраля 2020

Только что передал inputStream для загрузки метода. Это работает!

S3Object object = s3.getObject(new GetObjectRequest(s3BucketName, key));
InputStream ins = object.getObjectContent();

PDDocument doc = PDDocument.load(ins);
...