Invoice Splitter
Invoice Splitter
The Java SDK supports the Mindee V1 Invoice Splitter API.
Product Specifications
Endpoint Name
invoice_splitter
Recommended Version
v1.4
Supports Polling/Webhooks
✔️ Yes
Support Synchronous HTTP Calls
❌ No
Geography
🌐 Global
Quick-Start
Using the sample below, we are going to illustrate how to extract the data that we want using the SDK.
Sample Code
import com.mindee.MindeeClient;
import com.mindee.input.LocalInputSource;
import com.mindee.parsing.common.AsyncPredictResponse;
import com.mindee.product.invoicesplitter.InvoiceSplitterV1;
import java.io.File;
import java.io.IOException;
public class SimpleMindeeClient {
public static void main(String[] args) throws IOException, InterruptedException {
String apiKey = "my-api-key";
String filePath = "/path/to/the/file.ext";
// Init a new client
MindeeClient mindeeClient = new MindeeClient(apiKey);
// Load a file from disk
LocalInputSource inputSource = new LocalInputSource(new File(filePath));
// Parse the file asynchronously
AsyncPredictResponse<InvoiceSplitterV1> response = mindeeClient.enqueueAndParse(
InvoiceSplitterV1.class,
inputSource
);
// Print a summary of the response
System.out.println(response.toString());
// Print a summary of the predictions
// System.out.println(response.getDocumentObj().toString());
// Print the document-level predictions
// System.out.println(response.getDocumentObj().getInference().getPrediction().toString());
// Print the page-level predictions
// response.getDocumentObj().getInference().getPages().forEach(
// page -> System.out.println(page.toString())
// );
}
}
Sample Output (rST)
########
Document
########
:Mindee ID: 15ad7a19-7b75-43d0-b0c6-9a641a12b49b
:Filename: default_sample.pdf
Inference
#########
:Product: mindee/invoice_splitter v1.2
:Rotation applied: No
Prediction
==========
:Invoice Page Groups:
+--------------------------------------------------------------------------+
| Page Indexes |
+==========================================================================+
| 0 |
+--------------------------------------------------------------------------+
| 1 |
+--------------------------------------------------------------------------+Field Types
Standard Fields
These fields are generic and used in several products.
BaseField
Each prediction object contains a set of fields that inherit from the generic BaseField class. A typical BaseField object will have the following attributes:
confidence (
Double): the confidence score of the field prediction.boundingBox (
Polygon): contains exactly 4 relative vertices (points) coordinates of a right rectangle containing the field in the document.polygon (
Polygon): contains the relative vertices coordinates (polygonextendsList<Point>) of a polygon containing the field in the image.pageId (
Integer): the ID of the page, alwaysnullwhen at document-level.
Aside from the previous attributes, all basic fields have access to a custom toString method that can be used to print their value as a string.
Specific Fields
Fields which are specific to this product; they are not used in any other product.
Invoice Page Groups Field
List of page groups. Each group represents a single invoice within a multi-invoice document.
A InvoiceSplitterV1InvoicePageGroup implements the following attributes:
pageIndexes (
List<Integer>): List of page indexes that belong to the same invoice (group).
Attributes
The following fields are extracted for Invoice Splitter V1:
Invoice Page Groups
invoicePageGroups(List<InvoiceSplitterV1InvoicePageGroup>): List of page groups. Each group represents a single invoice within a multi-invoice document.
for (invoicePageGroupsElem : result.getDocument().getInference().getPrediction().getInvoicePageGroups())
{
System.out.println(invoicePageGroupsElem.value);
}Last updated
Was this helpful?

