Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@
* limitations under the License.
*/

package documentai.v1beta3;
package documentai.v1;
Comment thread
angelcaamal marked this conversation as resolved.
Resolved

// [START documentai_process_form_document]

import com.google.cloud.documentai.v1beta3.Document;
import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceClient;
import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceSettings;
import com.google.cloud.documentai.v1beta3.ProcessRequest;
import com.google.cloud.documentai.v1beta3.ProcessResponse;
import com.google.cloud.documentai.v1beta3.RawDocument;
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;
Expand Down Expand Up @@ -153,4 +153,4 @@ private static String removeNewlines(String s) {
return s.replace("\n", "").replace("\r", "");
}
}
// [END documentai_process_form_document]
// [END documentai_process_form_document]
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@
* limitations under the License.
*/

package documentai.v1beta3;
package documentai.v1;

// [START documentai_process_ocr_document]

import com.google.cloud.documentai.v1beta3.Document;
import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceClient;
import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceSettings;
import com.google.cloud.documentai.v1beta3.ProcessRequest;
import com.google.cloud.documentai.v1beta3.ProcessResponse;
import com.google.cloud.documentai.v1beta3.RawDocument;
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;
Expand Down Expand Up @@ -176,4 +176,4 @@ private static String escapeNewlines(String s) {
return s.replace("\n", "\\n").replace("\r", "\\r");
}
}
// [END documentai_process_ocr_document]
// [END documentai_process_ocr_document]
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@
* limitations under the License.
*/

package documentai.v1beta3;
package documentai.v1;

// [START documentai_process_specialized_document]

import com.google.cloud.documentai.v1beta3.Document;
import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceClient;
import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceSettings;
import com.google.cloud.documentai.v1beta3.ProcessRequest;
import com.google.cloud.documentai.v1beta3.ProcessResponse;
import com.google.cloud.documentai.v1beta3.RawDocument;
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;
Expand Down Expand Up @@ -80,9 +80,9 @@ public static void processSpecializedDocument(

System.out.println("Document processing complete.");

// Read fields specificly from the specalized US drivers license processor:
// Read fields specifically from the specialized US drivers license processor:
// https://cloud.google.com/document-ai/docs/processors-list#processor_us-driver-license-parser
// retriving data from other specalized processors follow a similar pattern.
// retrieving data from other specialized processors follow a similar pattern.
// For a complete list of processors see:
// https://cloud.google.com/document-ai/docs/processors-list
//
Expand All @@ -94,9 +94,9 @@ public static void processSpecializedDocument(
// the processor documentation:
// https://cloud.google.com/document-ai/docs/processors-list
String entityType = entity.getType();
// some other value formats in addition to text are availible
// some other value formats in addition to text are available
// e.g. dates: `entity.getNormalizedValue().getDateValue().getYear()`
// check for normilized value with `entity.hasNormalizedValue()`
// check for normalized value with `entity.hasNormalizedValue()`
String entityTextValue = escapeNewlines(entity.getTextAnchor().getContent());
float entityConfidence = entity.getConfidence();
System.out.printf(
Expand All @@ -110,4 +110,4 @@ private static String escapeNewlines(String s) {
return s.replace("\n", "\\n").replace("\r", "\\r");
}
}
// [END documentai_process_specialized_document]
// [END documentai_process_specialized_document]
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@
* limitations under the License.
*/

package documentai.v1beta3;
package documentai.v1;

// [START documentai_process_splitter_document]

import com.google.cloud.documentai.v1beta3.Document;
import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceClient;
import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceSettings;
import com.google.cloud.documentai.v1beta3.ProcessRequest;
import com.google.cloud.documentai.v1beta3.ProcessResponse;
import com.google.cloud.documentai.v1beta3.RawDocument;
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;
Expand Down Expand Up @@ -86,7 +86,7 @@ public static void processSplitterDocument(
// This processor only provides text for the document and information on how
// to split the document on logical boundaries. To identify and extract text,
// form elements, and entities please see other processors like the OCR, form,
// and specalized processors.
// and specialized processors.
List<Document.Entity> entities = documentResponse.getEntitiesList();
System.out.printf("Found %d subdocuments:\n", entities.size());
for (Document.Entity entity : entities) {
Expand Down Expand Up @@ -116,4 +116,4 @@ private static String pageRefsToString(List<Document.PageAnchor.PageRef> pageRef
}
}
}
// [END documentai_process_splitter_document]
// [END documentai_process_splitter_document]
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

package documentai.v1beta3;
package documentai.v1;

import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNotNull;
Expand All @@ -30,7 +30,9 @@

public class ProcessFormDocumentTest {
private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT");
private static final String PROCESSOR_ID = "88541adc6eeec481";
private static final String PROCESSOR_ID = System.getenv("DOCAI_FORM_PROCESSOR_ID") != null
? System.getenv("DOCAI_FORM_PROCESSOR_ID")
: "88541adc6eeec481";
private static final String FILE_PATH = "resources/invoice.pdf";

private ByteArrayOutputStream bout;
Expand Down Expand Up @@ -60,19 +62,19 @@ public void setUp() {
@Test
public void testProcessFormDocument()
throws InterruptedException, ExecutionException, IOException, TimeoutException {
// parse the GCS invoice as a form.
// parse the invoice as a form.
ProcessFormDocument.processFormDocument(PROJECT_ID, "us", PROCESSOR_ID, FILE_PATH);
String got = bout.toString();

assertThat(got).contains("There are 1 page(s) in this document.");
assertThat(got).contains("Table with 4 columns and 6 rows");
assertThat(got).contains("Table with 4 columns and 3 rows");
assertThat(got).contains("Found 13 form fields");
assertThat(got).contains("'BALANCE DUE': '$2140.00'");
assertThat(got).contains("BALANCE DUE");
}

@After
public void tearDown() {
System.out.flush();
System.setOut(originalPrintStream);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

package documentai.v1beta3;
package documentai.v1;

import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNotNull;
Expand All @@ -30,7 +30,9 @@

public class ProcessOcrDocumentTest {
private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT");
private static final String PROCESSOR_ID = "f9018d35bc5edc1e";
private static final String PROCESSOR_ID = System.getenv("DOCAI_OCR_PROCESSOR_ID") != null
? System.getenv("DOCAI_OCR_PROCESSOR_ID")
: "f9018d35bc5edc1e";
private static final String FILE_PATH = "resources/handwritten_form.pdf";

private ByteArrayOutputStream bout;
Expand Down Expand Up @@ -60,7 +62,7 @@ public void setUp() {
@Test
public void testProcessOcrDocument()
throws InterruptedException, ExecutionException, IOException, TimeoutException {
// parse the GCS invoice as a form.
// parse the document with OCR.
ProcessOcrDocument.processOcrDocument(PROJECT_ID, "us", PROCESSOR_ID, FILE_PATH);
String got = bout.toString();

Expand All @@ -74,4 +76,4 @@ public void tearDown() {
System.out.flush();
System.setOut(originalPrintStream);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

package documentai.v1beta3;
package documentai.v1;

import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNotNull;
Expand All @@ -30,7 +30,9 @@

public class ProcessSpecializedDocumentTest {
private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT");
private static final String PROCESSOR_ID = "ae8bc99f01b36b5e";
private static final String PROCESSOR_ID = System.getenv("DOCAI_SPECIALIZED_PROCESSOR_ID") != null
? System.getenv("DOCAI_SPECIALIZED_PROCESSOR_ID")
: "ae8bc99f01b36b5e";
private static final String FILE_PATH = "resources/us_driver_license.pdf";

private ByteArrayOutputStream bout;
Expand Down Expand Up @@ -60,7 +62,7 @@ public void setUp() {
@Test
public void testProcessSpecializedDocument()
throws InterruptedException, ExecutionException, IOException, TimeoutException {
// parse the GCS invoice as a form.
// parse the specialized document.
ProcessSpecializedDocument.processSpecializedDocument(
PROJECT_ID, "us", PROCESSOR_ID, FILE_PATH);
String got = bout.toString();
Expand All @@ -74,4 +76,4 @@ public void tearDown() {
System.out.flush();
System.setOut(originalPrintStream);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

package documentai.v1beta3;
package documentai.v1;

import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNotNull;
Expand All @@ -26,11 +26,14 @@
import java.util.concurrent.TimeoutException;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

public class ProcessSplitterDocumentTest {
private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT");
private static final String PROCESSOR_ID = "7cb010d65184a4d";
private static final String PROCESSOR_ID = System.getenv("DOCAI_SPLITTER_PROCESSOR_ID") != null
? System.getenv("DOCAI_SPLITTER_PROCESSOR_ID")
: "7cb010d65184a4d";
private static final String FILE_PATH = "resources/multi_document.pdf";

private ByteArrayOutputStream bout;
Expand All @@ -46,7 +49,7 @@ private static void requireEnvVar(String varName) {
@Before
public void checkRequirements() {
requireEnvVar("GOOGLE_CLOUD_PROJECT");
requireEnvVar("GOOGLE_APPLICATION_CREDENTIALS");
// requireEnvVar("GOOGLE_APPLICATION_CREDENTIALS");
}

@Before
Expand All @@ -58,9 +61,10 @@ public void setUp() {
}

@Test
@Ignore("ProcessorType DOCUMENT_SPLIT_PROCESSOR is deprecated by Google Cloud.")
public void testProcessSplitterDocument()
throws InterruptedException, ExecutionException, IOException, TimeoutException {
// parse the GCS invoice as a form.
// parse the multi-document with splitter processor.
ProcessSplitterDocument.processSplitterDocument(PROJECT_ID, "us", PROCESSOR_ID, FILE_PATH);
String got = bout.toString();

Expand All @@ -74,4 +78,4 @@ public void tearDown() {
System.out.flush();
System.setOut(originalPrintStream);
}
}
}
Loading