不使用 Amazon S3 的 Amazon Textract
Amazon Textract without using Amazon S3
我想使用 Amazon Textract 从 PDF 中提取信息(如 How to use the Amazon Textract with PDF files)。所有答案和 AWS 文档都要求输入为 Amazon S3 对象。
我可以在不将 PDF 上传到 Amazon S3 的情况下使用 Textract,而只是在 REST 调用中提供它们吗? (我必须在本地存储 PDF)。
我会考虑 Java API 来回答这个问题。简短的回答是肯定的。
如果您查看此 TextractAsyncClient Java 给定操作的文档:
它指出:
" 异步操作的文档也可以是PDF格式"
这意味着 - 您可以引用 PDF 文档并像这样创建 AnalyzeDocumentRequest 对象(无需从 Amazon S3 存储桶中提取)。 :
public static void analyzeDoc(TextractClient textractClient, String sourceDoc) {
try {
InputStream sourceStream = new FileInputStream(new File(sourceDoc));
SdkBytes sourceBytes = SdkBytes.fromInputStream(sourceStream);
// Get the input Document object as bytes
Document myDoc = Document.builder()
.bytes(sourceBytes)
.build();
List<FeatureType> featureTypes = new ArrayList<FeatureType>();
featureTypes.add(FeatureType.FORMS);
featureTypes.add(FeatureType.TABLES);
AnalyzeDocumentRequest analyzeDocumentRequest = AnalyzeDocumentRequest.builder()
.featureTypes(featureTypes)
.document(myDoc)
.build();
// Use the TextractAsyncClient to perform an operation like analyzeDocument
...
}
我想使用 Amazon Textract 从 PDF 中提取信息(如 How to use the Amazon Textract with PDF files)。所有答案和 AWS 文档都要求输入为 Amazon S3 对象。
我可以在不将 PDF 上传到 Amazon S3 的情况下使用 Textract,而只是在 REST 调用中提供它们吗? (我必须在本地存储 PDF)。
我会考虑 Java API 来回答这个问题。简短的回答是肯定的。
如果您查看此 TextractAsyncClient Java 给定操作的文档:
它指出:
" 异步操作的文档也可以是PDF格式"
这意味着 - 您可以引用 PDF 文档并像这样创建 AnalyzeDocumentRequest 对象(无需从 Amazon S3 存储桶中提取)。 :
public static void analyzeDoc(TextractClient textractClient, String sourceDoc) {
try {
InputStream sourceStream = new FileInputStream(new File(sourceDoc));
SdkBytes sourceBytes = SdkBytes.fromInputStream(sourceStream);
// Get the input Document object as bytes
Document myDoc = Document.builder()
.bytes(sourceBytes)
.build();
List<FeatureType> featureTypes = new ArrayList<FeatureType>();
featureTypes.add(FeatureType.FORMS);
featureTypes.add(FeatureType.TABLES);
AnalyzeDocumentRequest analyzeDocumentRequest = AnalyzeDocumentRequest.builder()
.featureTypes(featureTypes)
.document(myDoc)
.build();
// Use the TextractAsyncClient to perform an operation like analyzeDocument
...
}