S3 file as input to PDFBox
我已经尝试使用 Apache PDFBox 从 PDF 文件中提取内容,当我只是提取本地 PDF 时效果很好。
但我要解析的实际输入 PDF 位于 S3 存储桶中。
我可以使用下面的代码读取 S3 对象,
1 2 3 4 | 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 以获取内容。 PDFBox load() 方法需要一个 File 对象。我尝试传递上面从 S3Object 获得的输入流(ins),但它不接受 - 编译错误。
1 | PDDocument doc = PDDocument.load(pdfFile); |
请帮忙。
刚刚将 inputStream 传递给 load 方法。它有效!
1 2 3 4 | S3Object object = s3.getObject(new GetObjectRequest(s3BucketName, key)); InputStream ins = object.getObjectContent(); PDDocument doc = PDDocument.load(ins); |