本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Textract 和AWS开发工具包
以下代码示例显示如何使用 Amazon Textract 分析文档。
- Java
-
- SDK for Java 2.x
-
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(); AnalyzeDocumentResponse analyzeDocument = textractClient.analyzeDocument(analyzeDocumentRequest); List<Block> docInfo = analyzeDocument.blocks(); Iterator<Block> blockIterator = docInfo.iterator(); while(blockIterator.hasNext()) { Block block = blockIterator.next(); System.out.println("The block type is " +block.blockType().toString()); } } catch (TextractException | FileNotFoundException e) { System.err.println(e.getMessage()); System.exit(1); } }-
在 GitHub
中查找说明和更多代码。 -
有关 API 详细信息,请参阅AnalyzeDocument在AWS SDK for Java 2.xAPI 参考.
-
- Python
-
- SDK for Python (Boto3)
-
class TextractWrapper: """Encapsulates Textract functions.""" def __init__(self, textract_client, s3_resource, sqs_resource): """ :param textract_client: A Boto3 Textract client. :param s3_resource: A Boto3 Amazon S3 resource. :param sqs_resource: A Boto3 Amazon SQS resource. """ self.textract_client = textract_client self.s3_resource = s3_resource self.sqs_resource = sqs_resource def analyze_file( self, feature_types, *, document_file_name=None, document_bytes=None): """ Detects text and additional elements, such as forms or tables, in a local image file or from in-memory byte data. The image must be in PNG or JPG format. :param feature_types: The types of additional document features to detect. :param document_file_name: The name of a document image file. :param document_bytes: In-memory byte data of a document image. :return: The response from Amazon Textract, including a list of blocks that describe elements detected in the image. """ if document_file_name is not None: with open(document_file_name, 'rb') as document_file: document_bytes = document_file.read() try: response = self.textract_client.analyze_document( Document={'Bytes': document_bytes}, FeatureTypes=feature_types) logger.info( "Detected %s blocks.", len(response['Blocks'])) except ClientError: logger.exception("Couldn't detect text.") raise else: return response-
在 GitHub
中查找说明和更多代码。 -
有关 API 详细信息,请参阅AnalyzeDocument在AWSSDK for Python (Boto3) 的 API 参考.
-
有关的完整列表AWSSDK 开发人员指南和代码示例,请参阅将 Amazon Textract 与AWS开发工具包. 本主题还包括有关入门的信息以及有关以前 SDK 版本的详细信息。
操作
检测文档中的文本