Class v1beta2.DocumentUnderstandingServiceClient (7.1.0)

Service to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, and translation. v1beta2

Package

@google-cloud/documentai

Constructors

(constructor)(opts, gaxInstance)

constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);

Construct an instance of DocumentUnderstandingServiceClient.

Parameters
NameDescription
opts ClientOptions
gaxInstance typeof gax | typeof gax.fallback

: loaded instance of google-gax. Useful if you need to avoid loading the default gRPC version and want to use the fallback HTTP implementation. Load only fallback version and pass it to the constructor: ``` const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC const client = new DocumentUnderstandingServiceClient({fallback: 'rest'}, gax); ```

Properties

apiEndpoint

static get apiEndpoint(): string;

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

auth

auth: gax.GoogleAuth;

descriptors

descriptors: Descriptors;

documentUnderstandingServiceStub

documentUnderstandingServiceStub?: Promise<{
        [name: string]: Function;
    }>;

innerApiCalls

innerApiCalls: {
        [name: string]: Function;
    };

operationsClient

operationsClient: gax.OperationsClient;

port

static get port(): number;

The port for this API service.

scopes

static get scopes(): string[];

The scopes needed to make gRPC calls for every method defined in this service.

servicePath

static get servicePath(): string;

The DNS address for this API service.

warn

warn: (code: string, message: string, warnType?: string) => void;

Methods

batchProcessDocuments(request, options)

batchProcessDocuments(request?: protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsResponse, protos.google.cloud.documentai.v1beta2.IOperationMetadata>,
        protos.google.longrunning.IOperation | undefined,
        {} | undefined
    ]>;

LRO endpoint to batch process many documents. The output is written to Cloud Storage as JSON in the [Document] format.

Parameters
NameDescription
request protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsResponse, protos.google.cloud.documentai.v1beta2.IOperationMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Its promise() method returns a promise you can await for. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. Individual requests for each document.
   */
  // const requests = 1234
  /**
   *  Target project and location to make a call.
   *  Format: `projects/{project-id}/locations/{location-id}`.
   *  If no location is specified, a region will be chosen automatically.
   */
  // const parent = 'abc123'

  // Imports the Documentai library
  const {DocumentUnderstandingServiceClient} = require('@google-cloud/documentai').v1beta2;

  // Instantiates a client
  const documentaiClient = new DocumentUnderstandingServiceClient();

  async function callBatchProcessDocuments() {
    // Construct request
    const request = {
      requests,
    };

    // Run request
    const [operation] = await documentaiClient.batchProcessDocuments(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callBatchProcessDocuments();

batchProcessDocuments(request, options, callback)

batchProcessDocuments(request: protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsRequest, options: CallOptions, callback: Callback<LROperation<protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsResponse, protos.google.cloud.documentai.v1beta2.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsRequest
options CallOptions
callback Callback<LROperation<protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsResponse, protos.google.cloud.documentai.v1beta2.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

batchProcessDocuments(request, callback)

batchProcessDocuments(request: protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsRequest, callback: Callback<LROperation<protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsResponse, protos.google.cloud.documentai.v1beta2.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsRequest
callback Callback<LROperation<protos.google.cloud.documentai.v1beta2.IBatchProcessDocumentsResponse, protos.google.cloud.documentai.v1beta2.IOperationMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

checkBatchProcessDocumentsProgress(name)

checkBatchProcessDocumentsProgress(name: string): Promise<LROperation<protos.google.cloud.documentai.v1beta2.BatchProcessDocumentsResponse, protos.google.cloud.documentai.v1beta2.OperationMetadata>>;

Check the status of the long running operation returned by batchProcessDocuments().

Parameter
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
Promise<LROperation<protos.google.cloud.documentai.v1beta2.BatchProcessDocumentsResponse, protos.google.cloud.documentai.v1beta2.OperationMetadata>>

{Promise} - The promise which resolves to an object. The decoded operation object has result and metadata field to get information from. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. Individual requests for each document.
   */
  // const requests = 1234
  /**
   *  Target project and location to make a call.
   *  Format: `projects/{project-id}/locations/{location-id}`.
   *  If no location is specified, a region will be chosen automatically.
   */
  // const parent = 'abc123'

  // Imports the Documentai library
  const {DocumentUnderstandingServiceClient} = require('@google-cloud/documentai').v1beta2;

  // Instantiates a client
  const documentaiClient = new DocumentUnderstandingServiceClient();

  async function callBatchProcessDocuments() {
    // Construct request
    const request = {
      requests,
    };

    // Run request
    const [operation] = await documentaiClient.batchProcessDocuments(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callBatchProcessDocuments();

close()

close(): Promise<void>;

Terminate the gRPC channel and close the client.

The client will no longer be usable and all future behavior is undefined.

Returns
TypeDescription
Promise<void>

{Promise} A promise that resolves when the client is closed.

getProjectId()

getProjectId(): Promise<string>;
Returns
TypeDescription
Promise<string>

getProjectId(callback)

getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter
NameDescription
callback Callback<string, undefined, undefined>
Returns
TypeDescription
void

initialize()

initialize(): Promise<{
        [name: string]: Function;
    }>;

Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.

You can await on this method if you want to make sure the client is initialized.

Returns
TypeDescription
Promise<{ [name: string]: Function; }>

{Promise} A promise that resolves to an authenticated service stub.

processDocument(request, options)

processDocument(request?: protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest, options?: CallOptions): Promise<[
        protos.google.cloud.documentai.v1beta2.IDocument,
        (protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest | undefined),
        {} | undefined
    ]>;

Processes a single document.

Parameters
NameDescription
request protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.documentai.v1beta2.IDocument, (protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest | undefined), {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing . Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Target project and location to make a call.
   *  Format: `projects/{project-id}/locations/{location-id}`.
   *  If no location is specified, a region will be chosen automatically.
   *  This field is only populated when used in ProcessDocument method.
   */
  // const parent = 'abc123'
  /**
   *  Required. Information about the input file.
   */
  // const inputConfig = {}
  /**
   *  Optional. The desired output location. This field is only needed in
   *  BatchProcessDocumentsRequest.
   */
  // const outputConfig = {}
  /**
   *  Specifies a known document type for deeper structure detection. Valid
   *  values are currently "general" and "invoice". If not provided, "general"\
   *  is used as default. If any other value is given, the request is rejected.
   */
  // const documentType = 'abc123'
  /**
   *  Controls table extraction behavior. If not specified, the system will
   *  decide reasonable defaults.
   */
  // const tableExtractionParams = {}
  /**
   *  Controls form extraction behavior. If not specified, the system will
   *  decide reasonable defaults.
   */
  // const formExtractionParams = {}
  /**
   *  Controls entity extraction behavior. If not specified, the system will
   *  decide reasonable defaults.
   */
  // const entityExtractionParams = {}
  /**
   *  Controls OCR behavior. If not specified, the system will decide reasonable
   *  defaults.
   */
  // const ocrParams = {}
  /**
   *  Controls AutoML model prediction behavior. AutoMlParams cannot be used
   *  together with other Params.
   */
  // const automlParams = {}

  // Imports the Documentai library
  const {DocumentUnderstandingServiceClient} = require('@google-cloud/documentai').v1beta2;

  // Instantiates a client
  const documentaiClient = new DocumentUnderstandingServiceClient();

  async function callProcessDocument() {
    // Construct request
    const request = {
      inputConfig,
    };

    // Run request
    const response = await documentaiClient.processDocument(request);
    console.log(response);
  }

  callProcessDocument();

processDocument(request, options, callback)

processDocument(request: protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest, options: CallOptions, callback: Callback<protos.google.cloud.documentai.v1beta2.IDocument, protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest
options CallOptions
callback Callback<protos.google.cloud.documentai.v1beta2.IDocument, protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

processDocument(request, callback)

processDocument(request: protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest, callback: Callback<protos.google.cloud.documentai.v1beta2.IDocument, protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest
callback Callback<protos.google.cloud.documentai.v1beta2.IDocument, protos.google.cloud.documentai.v1beta2.IProcessDocumentRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void