The Ruby OCR SDK supports the Barcode Reader API.
Using the sample below, we are going to illustrate how to extract the data that we want using the OCR SDK.
require 'mindee' # Init a new client mindee_client = Mindee::Client.new(api_key: 'my-api-key') # Load a file from disk input_source = mindee_client.source_from_path('/path/to/the/file.ext') # Parse the file result = mindee_client.parse( input_source, Mindee::Product::BarcodeReader::BarcodeReaderV1 ) # Print a full summary of the parsed data in RST format puts result.document # Print the document-level parsed data # puts result.document.inference.prediction
######## Document ######## :Mindee ID: 0f54c154-5030-41ac-939e-046b7f6aca71 :Filename: default_sample.jpg Inference ######### :Product: mindee/barcode_reader v1.0 :Rotation applied: Yes Prediction ========== :Barcodes 1D: Mindee :Barcodes 2D: https://developers.mindee.com/docs/barcode-reader-ocr I love paperwork! - Said no one ever Page Predictions ================ Page 0 ------ :Barcodes 1D: Mindee :Barcodes 2D: https://developers.mindee.com/docs/barcode-reader-ocr I love paperwork! - Said no one ever
These fields are generic and used in several products.
Each prediction object contains a set of fields that inherit from the generic
Field object will have the following attributes:
- value (
Boolean): corresponds to the field value. Can be
nilif no value was extracted.
- confidence (Float, nil): the confidence score of the field prediction.
- bounding_box (
nil): contains exactly 4 relative vertices (points) coordinates of a right rectangle containing the field in the document.
- polygon (
nil): contains the relative vertices coordinates (
Point) of a polygon containing the field in the image.
- page_id (
nil): the ID of the page, is
nilwhen at document-level.
- reconstructed (
Boolean): indicates whether or not an object was reconstructed (not extracted as the API gave it).
Aside from the previous attributes, all basic fields have access to a
to_s method that can be used to print their value as a string.
The text field
StringField only has one constraint: it's value is a
The following fields are extracted for Barcode Reader V1:
codes_1d (Array<StringField>): List of decoded 1D barcodes.
for codes_1d_elem in result.document.inference.prediction.codes_1d do puts codes_1d_elem.value end
codes_2d (Array<StringField>): List of decoded 2D barcodes.
for codes_2d_elem in result.document.inference.prediction.codes_2d do puts codes_2d_elem.value end
Updated 11 days ago