/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Textract { namespace Model { /** *

The input document, either as bytes or as an S3 object.

You pass image * bytes to an Amazon Textract API operation by using the Bytes * property. For example, you would use the Bytes property to pass a * document loaded from a local file system. Image bytes passed by using the * Bytes property must be base64 encoded. Your code might not need to * encode document file bytes if you're using an AWS SDK to call Amazon Textract * API operations.

You pass images stored in an S3 bucket to an Amazon * Textract API operation by using the S3Object property. Documents * stored in an S3 bucket don't need to be base64 encoded.

The AWS Region * for the S3 bucket that contains the S3 object must match the AWS Region that you * use for Amazon Textract operations.

If you use the AWS CLI to call Amazon * Textract operations, passing image bytes using the Bytes property isn't * supported. You must first upload the document to an Amazon S3 bucket, and then * call the operation using the S3Object property.

For Amazon Textract to * process an S3 object, the user must have permission to access the S3 object. *

See Also:

AWS * API Reference

*/ class Document { public: AWS_TEXTRACT_API Document(); AWS_TEXTRACT_API Document(Aws::Utils::Json::JsonView jsonValue); AWS_TEXTRACT_API Document& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_TEXTRACT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A blob of base64-encoded document bytes. The maximum size of a document * that's provided in a blob of bytes is 5 MB. The document bytes must be in PNG or * JPEG format.

If you're using an AWS SDK to call Amazon Textract, you * might not need to base64-encode image bytes passed using the Bytes * field.

*/ inline const Aws::Utils::ByteBuffer& GetBytes() const{ return m_bytes; } /** *

A blob of base64-encoded document bytes. The maximum size of a document * that's provided in a blob of bytes is 5 MB. The document bytes must be in PNG or * JPEG format.

If you're using an AWS SDK to call Amazon Textract, you * might not need to base64-encode image bytes passed using the Bytes * field.

*/ inline bool BytesHasBeenSet() const { return m_bytesHasBeenSet; } /** *

A blob of base64-encoded document bytes. The maximum size of a document * that's provided in a blob of bytes is 5 MB. The document bytes must be in PNG or * JPEG format.

If you're using an AWS SDK to call Amazon Textract, you * might not need to base64-encode image bytes passed using the Bytes * field.

*/ inline void SetBytes(const Aws::Utils::ByteBuffer& value) { m_bytesHasBeenSet = true; m_bytes = value; } /** *

A blob of base64-encoded document bytes. The maximum size of a document * that's provided in a blob of bytes is 5 MB. The document bytes must be in PNG or * JPEG format.

If you're using an AWS SDK to call Amazon Textract, you * might not need to base64-encode image bytes passed using the Bytes * field.

*/ inline void SetBytes(Aws::Utils::ByteBuffer&& value) { m_bytesHasBeenSet = true; m_bytes = std::move(value); } /** *

A blob of base64-encoded document bytes. The maximum size of a document * that's provided in a blob of bytes is 5 MB. The document bytes must be in PNG or * JPEG format.

If you're using an AWS SDK to call Amazon Textract, you * might not need to base64-encode image bytes passed using the Bytes * field.

*/ inline Document& WithBytes(const Aws::Utils::ByteBuffer& value) { SetBytes(value); return *this;} /** *

A blob of base64-encoded document bytes. The maximum size of a document * that's provided in a blob of bytes is 5 MB. The document bytes must be in PNG or * JPEG format.

If you're using an AWS SDK to call Amazon Textract, you * might not need to base64-encode image bytes passed using the Bytes * field.

*/ inline Document& WithBytes(Aws::Utils::ByteBuffer&& value) { SetBytes(std::move(value)); return *this;} /** *

Identifies an S3 object as the document source. The maximum size of a * document that's stored in an S3 bucket is 5 MB.

*/ inline const S3Object& GetS3Object() const{ return m_s3Object; } /** *

Identifies an S3 object as the document source. The maximum size of a * document that's stored in an S3 bucket is 5 MB.

*/ inline bool S3ObjectHasBeenSet() const { return m_s3ObjectHasBeenSet; } /** *

Identifies an S3 object as the document source. The maximum size of a * document that's stored in an S3 bucket is 5 MB.

*/ inline void SetS3Object(const S3Object& value) { m_s3ObjectHasBeenSet = true; m_s3Object = value; } /** *

Identifies an S3 object as the document source. The maximum size of a * document that's stored in an S3 bucket is 5 MB.

*/ inline void SetS3Object(S3Object&& value) { m_s3ObjectHasBeenSet = true; m_s3Object = std::move(value); } /** *

Identifies an S3 object as the document source. The maximum size of a * document that's stored in an S3 bucket is 5 MB.

*/ inline Document& WithS3Object(const S3Object& value) { SetS3Object(value); return *this;} /** *

Identifies an S3 object as the document source. The maximum size of a * document that's stored in an S3 bucket is 5 MB.

*/ inline Document& WithS3Object(S3Object&& value) { SetS3Object(std::move(value)); return *this;} private: Aws::Utils::ByteBuffer m_bytes; bool m_bytesHasBeenSet = false; S3Object m_s3Object; bool m_s3ObjectHasBeenSet = false; }; } // namespace Model } // namespace Textract } // namespace Aws