Document Extraction & Parsing SDK
Automated data extraction starts with knowing how a page is built. The Apryse Server SDK recovers reading order, headings, tables and layout with structure analysis. Purpose-built models then classify pages and extract fields from that structure. Everything runs in your own environment.
What Is Document Data Extraction?
Document data extraction is the automated process of pulling specific information out of documents and returning it as structured data your software can use, such as JSON fields, table rows or Markdown. Three terms overlap here. Extraction is the outcome: the values you need, like an invoice total or a policy number. Parsing is the step underneath. Document parsing recovers how a document is organized, including reading order, headings, paragraphs and table cells, so extraction has something reliable to work from. Intelligent document processing (IDP) is the wider workflow that wraps both: capture, classification, extraction, validation and integration with your systems. Apryse supplies the parsing and extraction building blocks as SDK modules you embed in your own application. Your application runs the IDP workflow around them.
Structure First, Then Semantics
A PDF page records where text and graphics are drawn. It does not have to record which lines form a paragraph, which cells belong to a table, or the order a person reads them in. When one step has to infer layout and meaning together, a misread layout becomes a wrong value, and nothing in the output tells you which happened.
Smart Data Extraction separates the two. Its structure analysis recovers reading order, heading levels, paragraphs, lists, headers and footers, images and styling. It also rebuilds tables, including merged cells and multi-row headers. Read how structure recovery works.
Purpose-built recognition models then work on that structure. They classify pages, pair keys with values in documents that have no form layout, and detect form fields in flat PDFs. These outputs are probabilistic, so each classification, key-value pair and detected field comes back with a confidence score your application acts on.
That order puts the SDK before the model in your AI pipeline. Markdown output is generated from the recovered structure rather than from flat text, so headings, lists, tables and reading order reach your RAG or LLM pipeline intact.
The Building Blocks of an IDP Workflow
Automated data extraction is one stage of a larger IDP workflow, which has five stages. Apryse supplies document capabilities for each one. Your application owns the workflow around them: routing, review queues, storage and the systems the data lands in.
Capture
Get documents into a form software can read. Camera capture on mobile comes from the Scanbot SDK. On your servers, OCR turns scans and image-based PDFs into machine-readable text, and ICR does the same for handwriting.
Classify
When your input mixes document types, decide what each page is before you extract from it. The classification engine in Smart Data Extraction assigns each page one of 24 predefined categories with a confidence score. Your app uses that result to route each page to the right extraction step.
Extract
Pull out the values. Smart Data Extraction returns tables, key-value pairs, form fields and document structure as JSON, with page numbers and bounding boxes. Barcode Extraction decodes the barcodes on PDF pages.
Validate
Check results before they reach a system of record. Key-value pairs, detected form fields and classifications carry confidence scores, and every result carries its location on the page. Your app sets the thresholds and decides what goes to a person. The review queue and reviewer interface are yours to build.
Integrate
Hand the data to your systems. Results arrive as JSON, as Excel for tables, or as Markdown, and your code writes them to databases, search indexes or model pipelines.
Extraction and Parsing Capabilities
Four capabilities cover most extraction work. All four are add-on modules for the same Apryse Server SDK. Install the ones your workflow needs and call them from the same code as the rest of your document processing.
Smart Data Extraction
Call DataExtractionModule.ExtractData with an input PDF, an output path and an engine: e_DocStructure, e_Tabular, e_GenericKeyValue, e_Form or e_DocClassification (C++, Python and Node.js naming). Each engine returns JSON in a published specification, with page numbers and bounding boxes. Tables also export to Excel, and document structure converts to Markdown. Key-value pairs, form fields and classifications include confidence scores. Supported on Windows and Linux, x64, with pip, npm and Maven packages. macOS is not supported.
Barcode Extraction
Call BarcodeModule.ExtractBarcodes to write a JSON array of detected barcodes to a file, or ExtractBarcodesAsString to get the same JSON back as a string. Each result carries the decoded content and its location on the page. BarcodeOptions narrows the search by barcode type, orientation, page range and an accuracy-versus-speed profile. The module reads 100+ barcode types from PDF pages, including QR, Code 39 and PDF417. Supported on Windows and Linux, x64. For live camera scanning, use the Scanbot SDK.
OCR
Call OCRModule.ProcessPDF to add a searchable, selectable text layer to scanned pages, or ImageToPDF to turn an image into a searchable PDF. GetOCRJsonFromPDF and GetOCRXmlFromPDF return the recognized text with position data instead, so you can review or correct it before it reaches the document. The default engine covers 80+ languages across Latin, Cyrillic, CJK, Devanagari, Arabic and other scripts. Supported on Windows, Linux and macOS, x64.
ICR
Call HandwritingICRModule.ProcessPDF to recognize handwriting on image-based pages and apply it as hidden, searchable text. GetICRJsonFromPDF returns the results as JSON with text and position data, and ApplyICRJsonToPDF writes reviewed results back to the document. The models adapt to individual writing styles, which suits medical forms, insurance claims and archival records. ICR reads handwriting only, so pair it with OCR for printed text. Supported on Windows, Linux and macOS, x64.
For fixed forms you process at volume, such as ACORD insurance forms, Template Extraction classifies each scanned input against a library of templates you define. It then extracts the fields the matched template specifies. Template Extraction ships as a separate .NET and Java library, not as a Server SDK add-on.
Deployment: Where Your Documents Are Processed
Every capability on this page runs inside your application, on infrastructure you choose. The Server SDK is self-hosted, so document processing happens on your own machines. Documents are not sent to Apryse or a third party for processing.
On-Premises
Install the Server SDK and the add-on modules on your own servers. Each module is a separate download that you extract into the SDK directory. Python, Node.js and Java projects on Windows and Linux also install through pip, npm and Maven.
Private Cloud
Deploy the same binaries in a cloud account you control. Documents stay inside the network boundary you define.
Air-Gapped
Run with no outbound network connection. If you plan a fully disconnected deployment, confirm license activation requirements with Apryse during evaluation.
All four modules are x64 only. ARM and 32-bit platforms are not supported for Server SDK add-on modules.
Apryse supplies embeddable developer building blocks, not an end-to-end IDP platform. The toolkit does not include workflow orchestration or a human-review system. Your application decides what happens to each document and each extracted value.
Choosing an Extraction Approach
Most automated data extraction pipelines combine several of these capabilities. Pick by the document in front of you, not by the feature list.
For a side-by-side view of extraction methods, compare extraction approaches. Some capabilities require add-on licenses. See what each package includes.
Frequently Asked Questions
They do different jobs. The table engine in Smart Data Extraction pulls tables out of a PDF, including merged cells and multi-row headers, and returns them as JSON or Excel for analysis or a data pipeline. The Structured Output Module, a separate add-on, converts the whole PDF into an editable workbook that reproduces the document. Use table extraction when you need the cell values. Use Structured Output when people need to edit the document in Excel.
Yes. Smart Data Extraction supports fully air-gapped deployment, and OCR, ICR and Barcode Extraction run in the same self-hosted Server SDK. Documents are not sent to Apryse or a third party for processing. If you plan a fully disconnected deployment, confirm license activation requirements with Apryse during evaluation.
Yes. Apryse capabilities ship as separate add-on modules on top of the Server SDK, so you license and install only the module you need. Smart Data Extraction documents tabular data, form fields, key-value extraction and classification in separate guides. Apryse supplies modules you call from your own code, not a pipeline you adopt. Trial keys include every add-on module.
Yes, and it is optional. The classification engine in Smart Data Extraction assigns each page one of the predefined categories with a confidence score. Because it works per page, your code can split a mixed packet and route each page to the right extraction engine. When you already know the document type, skip classification and call the extraction engine directly.
Treat metadata as its own field, separate from page content. Title, author and XMP properties are written by whatever tool produced the file, and the PDF format does not check them against what the pages say. Use them as hints, not as extracted values. The base Server SDK edits document metadata, and Sanitization, also in the base package, strips metadata and XMP before you share a file outside your organization. If your pipeline generates PDFs, the Document Creation API sets metadata as part of the build. It requires the Template add-on.