daiR is an R package for Google Document AI, a powerful server-based OCR processor with support for over 60 languages. The package provides a wrapper for the Document AI API and comes with additional tools for output file parsing and text reconstruction.

Use

Quick OCR short documents:

## NOT RUN
library(daiR)
response <- dai_sync("file.pdf")
text <- text_from_dai_response(response)
cat(text)

Batch process asynchronously via Google Storage:

## NOT RUN
library(googleCloudStorageR)
library(purrr)
my_files <- c("file1.pdf", "file500.tiff", "file1000.gif")
map(my_files, gcs_upload)
dai_async(my_files)
contents <- gcs_list_objects()
output_files <- grep("json$", contents$name, value = TRUE)
map(output_files, ~ gcs_get_object(.x, saveToDisk = .x))
sample_text <- text_from_dai_file(output_files[1])
cat(sample_text)

Turn images of tables into R dataframes:

## NOT RUN:
response <- dai_sync_tab("tables.pdf")
dfs <- tables_from_dai_response(response) 

Requirements

Google Document AI is a paid service that requires a Google Cloud account and a Google Storage bucket. I recommend using Mark Edmondson’s googleCloudStorageR package in combination with daiR. See vignettes for more on authentication and setup.

Installation

daiR is not yet on CRAN, but you can install the latest development version from Github:

devtools::install_github("hegghammer/daiR")