Quickstart

Process a document using Document AI.

Explore further

For detailed documentation that includes this code sample, see the following:

Code sample

C#

For more information, see the Document AI C# API reference documentation .

To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  using 
  
  Google.Cloud.DocumentAI.V1 
 
 ; 
 using 
  
  Google.Protobuf 
 
 ; 
 using 
  
 System 
 ; 
 using 
  
 System.IO 
 ; 
 public 
  
 class 
  
 QuickstartSample 
 { 
  
 public 
  
 Document 
  
 Quickstart 
 ( 
  
 string 
  
 projectId 
  
 = 
  
 "your-project-id" 
 , 
  
 string 
  
 locationId 
  
 = 
  
 "your-processor-location" 
 , 
  
 string 
  
 processorId 
  
 = 
  
 "your-processor-id" 
 , 
  
 string 
  
 localPath 
  
 = 
  
 "my-local-path/my-file-name" 
 , 
  
 string 
  
 mimeType 
  
 = 
  
 "application/pdf" 
  
 ) 
  
 { 
  
 // Create client 
  
 var 
  
 client 
  
 = 
  
 new 
  
  DocumentProcessorServiceClientBuilder 
 
  
 { 
  
 Endpoint 
  
 = 
  
 $"{locationId}-documentai.googleapis.com" 
  
 }. 
  Build 
 
 (); 
  
 // Read in local file 
  
 using 
  
 var 
  
 fileStream 
  
 = 
  
 File 
 . 
 OpenRead 
 ( 
 localPath 
 ); 
  
 var 
  
 rawDocument 
  
 = 
  
 new 
  
  RawDocument 
 
  
 { 
  
 Content 
  
 = 
  
  ByteString 
 
 . 
  FromStream 
 
 ( 
 fileStream 
 ), 
  
 MimeType 
  
 = 
  
 mimeType 
  
 }; 
  
 // Initialize request argument(s) 
  
 var 
  
 request 
  
 = 
  
 new 
  
  ProcessRequest 
 
  
 { 
  
 Name 
  
 = 
  
  ProcessorName 
 
 . 
  FromProjectLocationProcessor 
 
 ( 
 projectId 
 , 
  
 locationId 
 , 
  
 processorId 
 ). 
 ToString 
 (), 
  
 RawDocument 
  
 = 
  
 rawDocument 
  
 }; 
  
 // Make the request 
  
 var 
  
 response 
  
 = 
  
 client 
 . 
 ProcessDocument 
 ( 
 request 
 ); 
  
 var 
  
 document 
  
 = 
  
 response 
 . 
  Document 
 
 ; 
  
 Console 
 . 
 WriteLine 
 ( 
 document 
 . 
 Text 
 ); 
  
 return 
  
 document 
 ; 
  
 } 
 } 
 

Go

For more information, see the Document AI Go API reference documentation .

To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 ( 
  
 "context" 
  
 "flag" 
  
 "fmt" 
  
 "os" 
  
 documentai 
  
 "cloud.google.com/go/documentai/apiv1" 
  
 "cloud.google.com/go/documentai/apiv1/documentaipb" 
  
 "google.golang.org/api/option" 
 ) 
 func 
  
 main 
 () 
  
 { 
  
 projectID 
  
 := 
  
 flag 
 . 
 String 
 ( 
 "project_id" 
 , 
  
 "PROJECT_ID" 
 , 
  
 "Cloud Project ID" 
 ) 
  
 location 
  
 := 
  
 flag 
 . 
 String 
 ( 
 "location" 
 , 
  
 "us" 
 , 
  
 "The Processor location" 
 ) 
  
 // Create a Processor before running sample 
  
 processorID 
  
 := 
  
 flag 
 . 
 String 
 ( 
 "processor_id" 
 , 
  
 "aaaaaaaa" 
 , 
  
 "The Processor ID" 
 ) 
  
 filePath 
  
 := 
  
 flag 
 . 
 String 
 ( 
 "file_path" 
 , 
  
 "invoice.pdf" 
 , 
  
 "The path to the file to parse" 
 ) 
  
 mimeType 
  
 := 
  
 flag 
 . 
 String 
 ( 
 "mime_type" 
 , 
  
 "application/pdf" 
 , 
  
 "The mimeType of the file" 
 ) 
  
 flag 
 . 
 Parse 
 () 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 endpoint 
  
 := 
  
 fmt 
 . 
 Sprintf 
 ( 
 "%s-documentai.googleapis.com:443" 
 , 
  
 * 
 location 
 ) 
  
 client 
 , 
  
 err 
  
 := 
  
 documentai 
 . 
  NewDocumentProcessorClient 
 
 ( 
 ctx 
 , 
  
 option 
 . 
 WithEndpoint 
 ( 
 endpoint 
 )) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 fmt 
 . 
 Println 
 ( 
 fmt 
 . 
 Errorf 
 ( 
 "error creating Document AI client: %w" 
 , 
  
 err 
 )) 
  
 } 
  
 defer 
  
 client 
 . 
  Close 
 
 () 
  
 // Open local file. 
  
 data 
 , 
  
 err 
  
 := 
  
 os 
 . 
 ReadFile 
 ( 
 * 
 filePath 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 fmt 
 . 
 Println 
 ( 
 fmt 
 . 
 Errorf 
 ( 
 "os.ReadFile: %w" 
 , 
  
 err 
 )) 
  
 } 
  
 req 
  
 := 
  
& documentaipb 
 . 
 ProcessRequest 
 { 
  
 Name 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/%s/processors/%s" 
 , 
  
 * 
 projectID 
 , 
  
 * 
 location 
 , 
  
 * 
 processorID 
 ), 
  
 Source 
 : 
  
& documentaipb 
 . 
 ProcessRequest_RawDocument 
 { 
  
 RawDocument 
 : 
  
& documentaipb 
 . 
 RawDocument 
 { 
  
 Content 
 : 
  
 data 
 , 
  
 MimeType 
 : 
  
 * 
 mimeType 
 , 
  
 }, 
  
 }, 
  
 } 
  
 resp 
 , 
  
 err 
  
 := 
  
 client 
 . 
 ProcessDocument 
 ( 
 ctx 
 , 
  
 req 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 fmt 
 . 
 Println 
 ( 
 fmt 
 . 
 Errorf 
 ( 
 "processDocument: %w" 
 , 
  
 err 
 )) 
  
 } 
  
 // Handle the results. 
  
 document 
  
 := 
  
 resp 
 . 
 GetDocument 
 () 
  
 fmt 
 . 
 Printf 
 ( 
 "Document Text: %s" 
 , 
  
 document 
 . 
 GetText 
 ()) 
 } 
 

Java

For more information, see the Document AI Java API reference documentation .

To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 com.google.cloud.documentai.v1. Document 
 
 ; 
 import 
  
 com.google.cloud.documentai.v1. DocumentProcessorServiceClient 
 
 ; 
 import 
  
 com.google.cloud.documentai.v1. DocumentProcessorServiceSettings 
 
 ; 
 import 
  
 com.google.cloud.documentai.v1. ProcessRequest 
 
 ; 
 import 
  
 com.google.cloud.documentai.v1. ProcessResponse 
 
 ; 
 import 
  
 com.google.cloud.documentai.v1. RawDocument 
 
 ; 
 import 
  
 com.google.protobuf. ByteString 
 
 ; 
 import 
  
 java.io.IOException 
 ; 
 import 
  
 java.nio.file.Files 
 ; 
 import 
  
 java.nio.file.Paths 
 ; 
 import 
  
 java.util.List 
 ; 
 import 
  
 java.util.concurrent.ExecutionException 
 ; 
 import 
  
 java.util.concurrent.TimeoutException 
 ; 
 public 
  
 class 
 QuickStart 
  
 { 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 IOException 
 , 
  
 InterruptedException 
 , 
  
 ExecutionException 
 , 
  
 TimeoutException 
  
 { 
  
 // TODO(developer): Replace these variables before running the sample. 
  
 String 
  
 projectId 
  
 = 
  
 "your-project-id" 
 ; 
  
 String 
  
 location 
  
 = 
  
 "your-project-location" 
 ; 
  
 // Format is "us" or "eu". 
  
 String 
  
 processorId 
  
 = 
  
 "your-processor-id" 
 ; 
  
 String 
  
 filePath 
  
 = 
  
 "path/to/input/file.pdf" 
 ; 
  
 quickStart 
 ( 
 projectId 
 , 
  
 location 
 , 
  
 processorId 
 , 
  
 filePath 
 ); 
  
 } 
  
 public 
  
 static 
  
 void 
  
 quickStart 
 ( 
  
 String 
  
 projectId 
 , 
  
 String 
  
 location 
 , 
  
 String 
  
 processorId 
 , 
  
 String 
  
 filePath 
 ) 
  
 throws 
  
 IOException 
 , 
  
 InterruptedException 
 , 
  
 ExecutionException 
 , 
  
 TimeoutException 
  
 { 
  
 // Initialize client that will be used to send requests. This client only needs 
  
 // to be created 
  
 // once, and can be reused for multiple requests. After completing all of your 
  
 // requests, call 
  
 // the "close" method on the client to safely clean up any remaining background 
  
 // resources. 
  
 String 
  
 endpoint 
  
 = 
  
 String 
 . 
 format 
 ( 
 "%s-documentai.googleapis.com:443" 
 , 
  
 location 
 ); 
  
  DocumentProcessorServiceSettings 
 
  
 settings 
  
 = 
  
  DocumentProcessorServiceSettings 
 
 . 
 newBuilder 
 (). 
 setEndpoint 
 ( 
 endpoint 
 ). 
 build 
 (); 
  
 try 
  
 ( 
  DocumentProcessorServiceClient 
 
  
 client 
  
 = 
  
  DocumentProcessorServiceClient 
 
 . 
 create 
 ( 
 settings 
 )) 
  
 { 
  
 // The full resource name of the processor, e.g.: 
  
 // projects/project-id/locations/location/processor/processor-id 
  
 // You must create new processors in the Cloud Console first 
  
 String 
  
 name 
  
 = 
  
 String 
 . 
 format 
 ( 
 "projects/%s/locations/%s/processors/%s" 
 , 
  
 projectId 
 , 
  
 location 
 , 
  
 processorId 
 ); 
  
 // Read the file. 
  
 byte 
 [] 
  
 imageFileData 
  
 = 
  
 Files 
 . 
 readAllBytes 
 ( 
 Paths 
 . 
 get 
 ( 
 filePath 
 )); 
  
 // Convert the image data to a Buffer and base64 encode it. 
  
  ByteString 
 
  
 content 
  
 = 
  
  ByteString 
 
 . 
  copyFrom 
 
 ( 
 imageFileData 
 ); 
  
  RawDocument 
 
  
 document 
  
 = 
  
  RawDocument 
 
 . 
 newBuilder 
 (). 
 setContent 
 ( 
 content 
 ). 
 setMimeType 
 ( 
 "application/pdf" 
 ). 
 build 
 (); 
  
 // Configure the process request. 
  
  ProcessRequest 
 
  
 request 
  
 = 
  
  ProcessRequest 
 
 . 
 newBuilder 
 (). 
 setName 
 ( 
 name 
 ). 
  setRawDocument 
 
 ( 
 document 
 ). 
 build 
 (); 
  
 // Recognizes text entities in the PDF document 
  
  ProcessResponse 
 
  
 result 
  
 = 
  
 client 
 . 
 processDocument 
 ( 
 request 
 ); 
  
  Document 
 
  
 documentResponse 
  
 = 
  
 result 
 . 
  getDocument 
 
 (); 
  
 // Get all of the document text as one big string 
  
 String 
  
 text 
  
 = 
  
 documentResponse 
 . 
  getText 
 
 (); 
  
 // Read the text recognition output from the processor 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "The document contains the following paragraphs:" 
 ); 
  
  Document 
 
 . 
  Page 
 
  
 firstPage 
  
 = 
  
 documentResponse 
 . 
  getPages 
 
 ( 
 0 
 ); 
  
 List<Document 
 . 
  Page 
 
 . 
  Paragraph 
 
>  
 paragraphs 
  
 = 
  
 firstPage 
 . 
 getParagraphsList 
 (); 
  
 for 
  
 ( 
  Document 
 
 . 
  Page 
 
 . 
  Paragraph 
 
  
 paragraph 
  
 : 
  
 paragraphs 
 ) 
  
 { 
  
 String 
  
 paragraphText 
  
 = 
  
 getText 
 ( 
 paragraph 
 . 
 getLayout 
 (). 
 getTextAnchor 
 (), 
  
 text 
 ); 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Paragraph text:\n%s\n" 
 , 
  
 paragraphText 
 ); 
  
 } 
  
 } 
  
 } 
  
 // Extract shards from the text field 
  
 private 
  
 static 
  
 String 
  
 getText 
 ( 
  Document 
 
 . 
  TextAnchor 
 
  
 textAnchor 
 , 
  
 String 
  
 text 
 ) 
  
 { 
  
 if 
  
 ( 
 textAnchor 
 . 
 getTextSegmentsList 
 (). 
 size 
 () 
 > 
 0 
 ) 
  
 { 
  
 int 
  
 startIdx 
  
 = 
  
 ( 
 int 
 ) 
  
 textAnchor 
 . 
 getTextSegments 
 ( 
 0 
 ). 
 getStartIndex 
 (); 
  
 int 
  
 endIdx 
  
 = 
  
 ( 
 int 
 ) 
  
 textAnchor 
 . 
 getTextSegments 
 ( 
 0 
 ). 
 getEndIndex 
 (); 
  
 return 
  
 text 
 . 
  substring 
 
 ( 
 startIdx 
 , 
  
 endIdx 
 ); 
  
 } 
  
 return 
  
 "[NO TEXT]" 
 ; 
  
 } 
 } 
 

Node.js

For more information, see the Document AI Node.js API reference documentation .

To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  /** 
 * TODO(developer): Uncomment these variables before running the sample. 
 */ 
 // const projectId = 'YOUR_PROJECT_ID'; 
 // const location = 'YOUR_PROJECT_LOCATION'; // Format is 'us' or 'eu' 
 // const processorId = 'YOUR_PROCESSOR_ID'; // Create processor in Cloud Console 
 // const filePath = '/path/to/local/pdf'; 
 const 
  
 { 
 DocumentProcessorServiceClient 
 } 
  
 = 
  
 require 
 ( 
 ' @google-cloud/documentai 
' 
 ). 
 v1 
 ; 
 // Instantiates a client 
 // apiEndpoint regions available: eu-documentai.googleapis.com, us-documentai.googleapis.com (Required if using eu based processor) 
 // const client = new DocumentProcessorServiceClient({apiEndpoint: 'eu-documentai.googleapis.com'}); 
 const 
  
 client 
  
 = 
  
 new 
  
  DocumentProcessorServiceClient 
 
 (); 
 async 
  
 function 
  
 quickstart 
 () 
  
 { 
  
 // The full resource name of the processor, e.g.: 
  
 // projects/project-id/locations/location/processor/processor-id 
  
 // You must create new processors in the Cloud Console first 
  
 const 
  
 name 
  
 = 
  
 `projects/ 
 ${ 
 projectId 
 } 
 /locations/ 
 ${ 
 location 
 } 
 /processors/ 
 ${ 
 processorId 
 } 
 ` 
 ; 
  
 // Read the file into memory. 
  
 const 
  
 fs 
  
 = 
  
 require 
 ( 
 'fs' 
 ). 
 promises 
 ; 
  
 const 
  
 imageFile 
  
 = 
  
 await 
  
 fs 
 . 
 readFile 
 ( 
 filePath 
 ); 
  
 // Convert the image data to a Buffer and base64 encode it. 
  
 const 
  
 encodedImage 
  
 = 
  
 Buffer 
 . 
 from 
 ( 
 imageFile 
 ). 
 toString 
 ( 
 'base64' 
 ); 
  
 const 
  
 request 
  
 = 
  
 { 
  
 name 
 , 
  
 rawDocument 
 : 
  
 { 
  
 content 
 : 
  
 encodedImage 
 , 
  
 mimeType 
 : 
  
 'application/pdf' 
 , 
  
 }, 
  
 }; 
  
 // Recognizes text entities in the PDF document 
  
 const 
  
 [ 
 result 
 ] 
  
 = 
  
 await 
  
 client 
 . 
 processDocument 
 ( 
 request 
 ); 
  
 const 
  
 { 
 document 
 } 
  
 = 
  
 result 
 ; 
  
 // Get all of the document text as one big string 
  
 const 
  
 { 
 text 
 } 
  
 = 
  
 document 
 ; 
  
 // Extract shards from the text field 
  
 const 
  
 getText 
  
 = 
  
 textAnchor 
  
 = 
>  
 { 
  
 if 
  
 ( 
 ! 
 textAnchor 
 . 
 textSegments 
  
 || 
  
 textAnchor 
 . 
 textSegments 
 . 
 length 
  
 === 
  
 0 
 ) 
  
 { 
  
 return 
  
 '' 
 ; 
  
 } 
  
 // First shard in document doesn't have startIndex property 
  
 const 
  
 startIndex 
  
 = 
  
 textAnchor 
 . 
 textSegments 
 [ 
 0 
 ]. 
 startIndex 
  
 || 
  
 0 
 ; 
  
 const 
  
 endIndex 
  
 = 
  
 textAnchor 
 . 
 textSegments 
 [ 
 0 
 ]. 
 endIndex 
 ; 
  
 return 
  
 text 
 . 
 substring 
 ( 
 startIndex 
 , 
  
 endIndex 
 ); 
  
 }; 
  
 // Read the text recognition output from the processor 
  
 console 
 . 
 log 
 ( 
 'The document contains the following paragraphs:' 
 ); 
  
 const 
  
 [ 
 page1 
 ] 
  
 = 
  
 document 
 . 
 pages 
 ; 
  
 const 
  
 { 
 paragraphs 
 } 
  
 = 
  
 page1 
 ; 
  
 for 
  
 ( 
 const 
  
 paragraph 
  
 of 
  
 paragraphs 
 ) 
  
 { 
  
 const 
  
 paragraphText 
  
 = 
  
 getText 
 ( 
 paragraph 
 . 
 layout 
 . 
 textAnchor 
 ); 
  
 console 
 . 
 log 
 ( 
 `Paragraph text:\n 
 ${ 
 paragraphText 
 } 
 ` 
 ); 
  
 } 
 } 
 

PHP

For more information, see the Document AI PHP API reference documentation .

To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  # Include the autoloader for libraries installed with Composer. 
 require __DIR__ . '/vendor/autoload.php'; 
 # Import the Google Cloud client library. 
 use Google\Cloud\DocumentAI\V1\Client\DocumentProcessorServiceClient; 
 use Google\Cloud\DocumentAI\V1\RawDocument; 
 use Google\Cloud\DocumentAI\V1\ProcessRequest; 
 # TODO(developer): Update the following lines before running the sample. 
 # Your Google Cloud Platform project ID. 
 $projectId = 'YOUR_PROJECT_ID'; 
 # Your Processor Location. 
 $location = 'us'; 
 # Your Processor ID as hexadecimal characters. 
 # Not to be confused with the Processor Display Name. 
 $processorId = 'YOUR_PROCESSOR_ID'; 
 # Path for the file to read. 
 $documentPath = 'resources/invoice.pdf'; 
 # Create Client. 
 $client = new DocumentProcessorServiceClient(); 
 # Read in file. 
 $handle = fopen($documentPath, 'rb'); 
 $contents = fread($handle, filesize($documentPath)); 
 fclose($handle); 
 # Load file contents into a RawDocument. 
 $rawDocument = (new RawDocument()) 
 ->setContent($contents) 
 ->SetMimeType('application/pdf'); 
 # Get the Fully-qualified Processor Name. 
 $fullProcessorName = $client->processorName($projectId, $location, $processorId); 
 # Send a ProcessRequest and get a ProcessResponse. 
 $request = (new ProcessRequest()) 
 ->setName($fullProcessorName) 
 ->setRawDocument($rawDocument); 
 $response = $client->processDocument($request); 
 # Show the text found in the document. 
 printf('Document Text: %s', $response->getDocument()->getText()); 
 

Python

For more information, see the Document AI Python API reference documentation .

To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google.api_core.client_options 
  
 import 
 ClientOptions 
 from 
  
 google.cloud 
  
 import 
  documentai_v1 
 
 # TODO(developer): Create a processor of type "OCR_PROCESSOR". 
 # TODO(developer): Update and uncomment these variables before running the sample. 
 # project_id = "MY_PROJECT_ID" 
 # Processor ID as hexadecimal characters. 
 # Not to be confused with the Processor Display Name. 
 # processor_id = "MY_PROCESSOR_ID" 
 # Processor location. For example: "us" or "eu". 
 # location = "MY_PROCESSOR_LOCATION" 
 # Path for file to process. 
 # file_path = "/path/to/local/pdf" 
 # Set `api_endpoint` if you use a location other than "us". 
 opts 
 = 
 ClientOptions 
 ( 
 api_endpoint 
 = 
 f 
 " 
 { 
 location 
 } 
 -documentai.googleapis.com" 
 ) 
 # Initialize Document AI client. 
 client 
 = 
  documentai_v1 
 
 . 
  DocumentProcessorServiceClient 
 
 ( 
 client_options 
 = 
 opts 
 ) 
 # Get the Fully-qualified Processor path. 
 full_processor_name 
 = 
 client 
 . 
  processor_path 
 
 ( 
 project_id 
 , 
 location 
 , 
 processor_id 
 ) 
 # Get a Processor reference. 
 request 
 = 
  documentai_v1 
 
 . 
  GetProcessorRequest 
 
 ( 
 name 
 = 
 full_processor_name 
 ) 
 processor 
 = 
 client 
 . 
  get_processor 
 
 ( 
 request 
 = 
 request 
 ) 
 # `processor.name` is the full resource name of the processor. 
 # For example: `projects/{project_id}/locations/{location}/processors/{processor_id}` 
 print 
 ( 
 f 
 "Processor Name: 
 { 
 processor 
 . 
 name 
 } 
 " 
 ) 
 # Read the file into memory. 
 with 
 open 
 ( 
 file_path 
 , 
 "rb" 
 ) 
 as 
 image 
 : 
 image_content 
 = 
 image 
 . 
 read 
 () 
 # Load binary data. 
 # For supported MIME types, refer to https://cloud.google.com/document-ai/docs/file-types 
 raw_document 
 = 
  documentai_v1 
 
 . 
  RawDocument 
 
 ( 
 content 
 = 
 image_content 
 , 
 mime_type 
 = 
 "application/pdf" 
 , 
 ) 
 # Send a request and get the processed document. 
 request 
 = 
  documentai_v1 
 
 . 
  ProcessRequest 
 
 ( 
 name 
 = 
 processor 
 . 
 name 
 , 
 raw_document 
 = 
 raw_document 
 ) 
 result 
 = 
 client 
 . 
  process_document 
 
 ( 
 request 
 = 
 request 
 ) 
 document 
 = 
 result 
 . 
  document 
 
 # Read the text recognition output from the processor. 
 # For a full list of `Document` object attributes, reference this page: 
 # https://cloud.google.com/document-ai/docs/reference/rest/v1/Document 
 print 
 ( 
 "The document contains the following text:" 
 ) 
 print 
 ( 
  document 
 
 . 
  text 
 
 ) 
 

Ruby

For more information, see the Document AI Ruby API reference documentation .

To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  require 
  
 "google/cloud/document_ai/v1" 
 ## 
 # Document AI quickstart 
 # 
 # @param project_id [String] Your Google Cloud project (e.g. "my-project") 
 # @param location_id [String] Your Processor Location (e.g. "us") 
 # @param processor_id [String] Your Processor ID (e.g. "a14dae8f043b60bd") 
 # @param file_path [String] Path to Local File (e.g. "invoice.pdf") 
 # @param mime_type [String] Refer to https://cloud.google.com/document-ai/docs/file-types (e.g. "application/pdf") 
 # 
 def 
  
 quickstart 
  
 project_id 
 :, 
  
 location_id 
 :, 
  
 processor_id 
 :, 
  
 file_path 
 :, 
  
 mime_type 
 : 
  
 # Create the Document AI client. 
  
 client 
  
 = 
  
 :: 
 Google 
 :: 
 Cloud 
 :: 
 DocumentAI 
 :: 
 V1 
 :: 
 DocumentProcessorService 
 :: 
 Client 
 . 
 new 
  
 do 
  
 | 
 config 
 | 
  
 config 
 . 
 endpoint 
  
 = 
  
 " 
 #{ 
 location_id 
 } 
 -documentai.googleapis.com" 
  
 end 
  
 # Build the resource name from the project. 
  
 name 
  
 = 
  
 client 
 . 
 processor_path 
 ( 
  
 project 
 : 
  
 project_id 
 , 
  
 location 
 : 
  
 location_id 
 , 
  
 processor 
 : 
  
 processor_id 
  
 ) 
  
 # Read the bytes into memory 
  
 content 
  
 = 
  
 File 
 . 
 binread 
  
 file_path 
  
 # Create request 
  
 request 
  
 = 
  
 Google 
 :: 
 Cloud 
 :: 
 DocumentAI 
 :: 
 V1 
 :: 
 ProcessRequest 
 . 
 new 
 ( 
  
 skip_human_review 
 : 
  
 true 
 , 
  
 name 
 : 
  
 name 
 , 
  
 raw_document 
 : 
  
 { 
  
 content 
 : 
  
 content 
 , 
  
 mime_type 
 : 
  
 mime_type 
  
 } 
  
 ) 
  
 # Process document 
  
 response 
  
 = 
  
 client 
 . 
 process_document 
  
 request 
  
 # Handle response 
  
 puts 
  
 response 
 . 
 document 
 . 
 text 
 end 
 

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser .

Create a Mobile Website
View Site in Mobile | Classic
Share by: