---
title: "Best document AI platforms (2026): An evidence-based evaluation guide"
canonical_url: "https://www.nutrient.io/blog/best-document-ai-platforms/"
md_url: "https://www.nutrient.io/blog/best-document-ai-platforms.md"
last_updated: "2026-08-11T15:30:23.825Z"
description: "There is no single best document AI platform. Compare hyperscaler APIs, AI-native extraction APIs, rule-based SaaS, and open source against six measurable criteria."
---

**TL;DR**

- No platform wins every workload. The right choice depends on six criteria you can measure.

- The criteria: accuracy on your documents, output contract, deployment and data control, content coverage, exception handling, and developer experience with pricing shape.

- The landscape has four classes: hyperscaler document APIs, AI-native extraction APIs, rule-based extraction SaaS, and open source pipelines.

- Public benchmarks narrow the shortlist. Only a proof of concept on your own labeled documents decides.

- Plan two weeks for the proof of concept. Measure field accuracy, grounding quality, and exception rate — not demo impressions.

Every “best document AI platform” list crowns a winner. Most skip the part that matters: The winner changes with your documents, your target fields, and your compliance constraints.

This guide takes the opposite approach. It defines the criteria that separate platforms, maps the landscape by class, and shows how to run a decisive proof of concept. Third-party capabilities below come from each vendor’s own documentation, linked as sources.

## What counts as a document AI platform

A document AI platform turns documents — PDFs, scans, images, Office files — into machine-usable data through parsing, optical character recognition (OCR), layout analysis, extraction, or classification, exposed as an API or service.

Two adjacent categories are covered elsewhere. Document SDKs embed viewing, editing, and processing inside your application — see the [enterprise PDF SDK comparison](https://www.nutrient.io/blog/enterprise-pdf-sdks/) for more information. Workflow platforms, on the other hand, own validation, routing, approvals, and downstream actions after extraction, which the [extraction-to-action architecture guide](https://www.nutrient.io/blog/ai-document-automation-extraction-to-action.md) covers in full.

## Six criteria that decide the choice

Weigh each criterion independently before comparing platforms head-to-head — any single one can eliminate an otherwise strong candidate.

### 1. Accuracy on your documents

Accuracy claims transfer poorly between document sets, and a platform that leads on clean invoices can trail on faxed forms, dense tables, or handwriting.

Use public benchmarks to understand what a platform is good at. Then verify on your own labeled sample — the benchmark section below covers what published evaluations can and cannot tell you.

### 2. Output contract

Decide what shape your application needs before comparing vendors:

- **Plain text or Markdown** for search, retrieval-augmented generation (RAG), and migration.

- **Spatial elements** with coordinates for layout-aware processing and review interfaces.

- **Schema-shaped JSON** when downstream code expects stable, typed keys.

- **Grounding metadata** — Per-field source locations and confidence signals — when values feed decisions someone must be able to verify.

Grounding deserves particular attention. A value without a source location can’t be reviewed efficiently, and review is where document pipelines earn trust.

### 3. Deployment and data control

Regulated workloads often decide the shortlist before accuracy does. Deployment options differ sharply across the landscape, from cloud-only services to virtual private cloud (VPC), on-premises, and air-gapped installations.

Test this constraint early. A platform that can’t run where your documents must stay is disqualified, regardless of accuracy.

### 4. Content coverage

Match the platform to the content you actually process: complex tables, checkboxes, handwriting, multilingual documents, and file types beyond PDF. Vendors document these capabilities unevenly, which is itself a signal. Undocumented behavior is behavior you must test yourself.

### 5. Exception handling and human review

Every extraction pipeline produces exceptions. The practical questions: Does the platform emit signals a review workflow can route on, such as confidence values or grounding outcomes? Can a reviewer see the source region beside the extracted value? How do corrections reenter the pipeline?

Platforms that stop at JSON leave the review layer to you. Budget for that engineering if you choose one.

### 6. Developer experience and pricing shape

Evaluate the integration path: API ergonomics, documentation quality, SDKs, and time from API key to first extraction. Then compare pricing shapes rather than headline prices, since per-page tiers, credit systems, and subscriptions behave differently at your page mix and volume. Model your expected monthly cost under each shape before contract discussions.

## The platform landscape

Four classes cover the market. Facts below come from vendor documentation, linked as sources. Where a capability isn’t mentioned here, check the vendor’s current documentation directly.

### Hyperscaler document APIs

**[AWS Textract](https://docs.aws.amazon.com/textract/latest/dg/what-is.html)** runs as a cloud API with synchronous and asynchronous processing, returning JSON Block objects with per-block confidence scores and [bounding box geometry](https://docs.aws.amazon.com/textract/latest/dg/API_Block.html). [Queries and Custom Queries](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html) let callers target specific fields, tables get their own dedicated feature type, and the service reads both typed and handwritten text. Human review runs through Amazon Augmented AI, with routing based on confidence thresholds. Pricing is [per-page and tiered by feature](https://aws.amazon.com/textract/pricing/) as of this writing — a fit for teams already standardized on AWS who want managed extraction with review hooks built into that ecosystem.

**[Google Document AI](https://docs.cloud.google.com/document-ai/docs/ce-schema-extraction)**’s Custom Extractor leans on generative AI, down to [automated schema generation from sample documents](https://docs.cloud.google.com/document-ai/docs/ce-schema-extraction). Handwriting recognition covers [50 languages](https://docs.cloud.google.com/document-ai/docs/form-parser), and printed-text support stretches well beyond that. Pricing runs on [per-page consumption](https://cloud.google.com/document-ai/pricing) — the strongest case for it is a Google Cloud shop with a heavily multilingual document set.

**[Azure AI Document Intelligence](https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/model-overview)** covers prebuilt models plus custom template and custom neural models, with table extraction built in and a Query Fields add-on for field-level questions. Pricing runs on per-page consumption — check [Microsoft’s current documentation](https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/model-overview) for exact rates — which makes it a natural fit for Azure-based teams juggling both prebuilt and custom models.

### AI-native extraction APIs

This class was built around structured extraction for AI-era pipelines: schema-based output, agent-friendly formats, and deployment flexibility.

**[Nutrient Data Extraction API](https://www.nutrient.io/api/data-extraction-api/)** splits the work across two endpoints. Parse runs four processing modes — text, structure, understand, and agentic — priced at 1, 1.5, 9, and 18 credits per page, so pipelines only pay for the depth a document actually needs. Extract takes an inline, caller-defined JSON Schema and returns per-field citations by default: grounding match labels, bounding boxes with page references, and a relative (uncalibrated) confidence signal for review routing. Teams that need self-hosted processing can run it through [Nutrient Document Engine](https://www.nutrient.io/sdk/document-engine/) instead. Nutrient also publishes its [extraction benchmark methodology and results](https://www.nutrient.io/blog/pdf-extraction-benchmark-opendataloader-bench.md) and a set of worked [failure case studies](https://www.nutrient.io/blog/pdf-extraction-document-case-studies.md) — good signals if grounded, schema-shaped output with per-field review is what you’re evaluating for. The [PDF data extraction developer guide](https://www.nutrient.io/blog/pdf-data-extraction-developer-guide.md) walks through the full decision framework.

**[Reducto](https://docs.reducto.ai/)**’s Extract API returns structured, schema-based JSON with [per-field confidence scores and bounding box citations](https://llms.reducto.ai/what-is-reducto) tying each value back to a page location. [Deployment](https://reducto.ai/pricing) spans hosted, VPC, on-premises, and air-gapped, with parse pricing starting at $0.015 per page — the strongest option for teams under strict deployment constraints who still want grounded, schema-based extraction.

**[LlamaIndex](https://developers.llamaindex.ai/python/cloud/llamaparse/faq/)** splits the work into LlamaParse for parsing and LlamaExtract for extraction against a [caller-defined JSON schema](https://developers.llamaindex.ai/python/cloud/llamaparse/faq/), with output in JSON, Markdown, HTML, or text and deployment in the cloud or a VPC. [Pricing](https://www.llamaindex.ai/pricing) is credit-based — 1,000 credits for $1.25 — with parse tiers running from 1 credit per page on the Fast tier up to 45 on Agentic Plus. For teams already building on the LlamaIndex ecosystem, particularly RAG-first ones, it’s the path of least resistance.

**[Unstructured.io](https://docs.unstructured.io/)** is built for pipeline preprocessing across a wide range of file types, outputting JSON, HTML, Markdown, or text. [Deployment](https://unstructured.io/pricing) options include software as a service (SaaS), VPC, on-premises, and bare metal, with pay-as-you-go pricing at $0.03 per page for the full pipeline and a free tier currently available. Data engineering teams normalizing heterogeneous documents into RAG and ETL pipelines are the natural audience.

### Rule-based extraction SaaS

**[Docparser](https://docparser.com/features/)** is a cloud service built on [zonal OCR and pattern-based parsing rules](https://docparser.com/features/) rather than trained models, supporting table extraction with custom row and column definitions, [handwriting and checkbox recognition](https://docparser.com/ai/), and output to CSV, Excel, JSON, or XML. [Subscriptions](https://docparser.com/pricing/) start at $32.50 per month with document credits. Rule-based tools like this one fit stable, repeating layouts — the same vendor forms every week — where deterministic rules beat model-based extraction on predictability and cost.

### Open source pipelines

Open source parsers and OCR engines — covered in the [developer guide’s open source section](https://www.nutrient.io/blog/pdf-data-extraction-developer-guide.md) — trade managed accuracy and support for control and zero per-page cost. They fit stable layouts, narrow output needs, and teams that can own parsing rules, OCR tuning, and evaluation.

The boundary is worth measuring rather than assuming. Nutrient’s [parser failure case studies](https://www.nutrient.io/blog/pdf-extraction-document-case-studies.md) show where open source parsers break on real documents. They’re also an example of the evidence to demand from any vendor: named documents, stated methodology, inspectable results.

## What public benchmarks can and cannot tell you

Public benchmarks compress a platform’s behavior on one corpus into a number. Use them to shortlist; never to decide.

- **[OmniDocBench](https://github.com/opendatalab/OmniDocBench)** — An academic benchmark (CVPR 2025) covering 1,651 pages across 10 document types. Independent of any vendor.

- **[LongExtractBench](https://www.micro1.ai/benchmark/long-extraction)** — A third-party benchmark of schema-guided extraction on 225 long documents.

- **[ParseBench](https://huggingface.co/datasets/llamaindex/ParseBench)** — A parsing benchmark with an open dataset. It’s run by LlamaIndex, a vendor in this comparison, so read its results with that in mind.

- **[Nutrient’s extraction benchmark](https://www.nutrient.io/blog/pdf-extraction-benchmark-opendataloader-bench.md)** — Vendor-run by Nutrient, with published methodology, measured against open source parsers.

Three caveats apply to all of them. Each measures a slice — parse fidelity or schema extraction on a specific corpus — not your workload. Vendor-run benchmarks also tend to exercise their sponsor’s strengths; that doesn’t make them wrong, but methodology transparency matters more than the headline number. And benchmark corpora age while products change monthly.

The strongest signal a vendor can send isn’t a benchmark win — it’s a methodology you can rerun on your own documents.

## How to run a two-week proof of concept

A decisive proof of concept beats any comparison article, including this one.

1. **Assemble 30–50 representative documents.** Include your worst cases: degraded scans, dense tables, handwriting, multilingual pages, and every major layout family. Label the target fields by hand.

2. **Define the output contract first.** Write the JSON schema or field list your downstream system needs. Evaluate every platform against the same contract.

3. **Measure field-level accuracy.** Score extracted values against your labels per field, not per document. A platform can score 95 percent overall while failing on the one field that matters.

4. **Measure grounding quality.** For platforms that return source locations, check whether citations point at the right page region. For platforms that don’t, estimate the cost of building review tooling without them.

5. **Count exceptions, not just errors.** How many documents would route to human review under your confidence and validation rules? Exception rate drives operating cost more than raw accuracy does.

6. **Test the deployment constraint early.** If documents can’t leave your environment, validate the self-hosted or VPC path in week one — not after the accuracy evaluation.

7. **Model cost at your page mix.** Apply each pricing shape — per-page tiers, credits, subscription — to a realistic monthly volume, including reprocessing and failed attempts.

Two weeks is enough to produce a defensible decision memo: accuracy per field, exception rate, deployment fit, and projected cost per platform.

## FAQ

#### What is the best document AI platform for enterprises?

There’s no single best platform. Shortlist first by deployment constraint (cloud, VPC, on-premises). From there, compare field-level accuracy, grounding support, and exception handling on a labeled sample of your own documents — hyperscaler APIs, AI-native extraction APIs, rule-based SaaS, and open source each win under different constraints.

#### What is the best API to extract structured data from PDFs with AI?

Look for schema-based extraction — an API that accepts your field definitions and returns typed JSON. Nutrient’s extract endpoint, Reducto’s Extract API, LlamaExtract, AWS Textract Queries, and Google Document AI Custom Extractor all offer it; compare them on grounding metadata, confidence signals, deployment options, and accuracy on your own documents.

#### Should I use AWS Textract, Google Document AI, or an AI-native extraction API?

Hyperscaler APIs make the most sense if you’re already standardized on that cloud and building against its ecosystem. AI-native extraction APIs compete instead on schema-shaped output, per-field grounding, mode-based cost control, and broader deployment options, including self-hosted. Run both classes against the same labeled sample and output contract before you decide.

#### How do I compare document extraction accuracy between platforms?

Label 30–50 representative documents by hand — including your worst cases — define one target schema, run every candidate against it, score per field, and count how many would route to human review under your rules. Public benchmarks help shortlist, but only your own documents decide.

#### Can document AI platforms run on-premises?

Some can. Reducto and Unstructured both document on-premises deployment, LlamaIndex supports VPC deployment, and Nutrient offers self-hosted processing through Document Engine. Cloud-only services, by contrast, require documents to transit the vendor’s environment — which regulated workloads may rule out entirely.

#### Do confidence scores mean the extracted data is correct?

No. Confidence signals are typically relative indicators for routing and review, not calibrated probabilities of correctness. Use them together with grounding metadata — source locations that let a reviewer verify a value against the page — and calibrate review thresholds against a labeled sample.

## Related reading

- [PDF data extraction: A developer guide](https://www.nutrient.io/blog/pdf-data-extraction-developer-guide.md)

- [Nutrient Data Extraction API vs. the competition](https://www.nutrient.io/api/data-extraction-api/vs/)

- [How we test PDF extraction](https://www.nutrient.io/blog/pdf-extraction-benchmark-opendataloader-bench.md)

- [Where PDF parsers fail: Case studies](https://www.nutrient.io/blog/pdf-extraction-document-case-studies.md)

- [What is intelligent document processing?](https://www.nutrient.io/blog/what-is-intelligent-document-processing.md)

- [Document AI vs. traditional OCR](https://www.nutrient.io/blog/document-ai-vs-ocr.md)

- [AI document automation workflows: From extraction to action](https://www.nutrient.io/blog/ai-document-automation-extraction-to-action.md)
---

## Related pages

- [The business case for accessibility: Five ways it drives enterprise value](/blog/5-ways-accessibility-drives-enterprise-value.md)
- [Accessibility Untangled Why It Matters Guide](/blog/accessibility-untangled-why-it-matters-guide.md)
- [Advanced Techniques For React Native Ui Components](/blog/advanced-techniques-for-react-native-ui-components.md)
- [`vector_store` holds your indexed documents (see the multimodal RAG post](/blog/agentic-rag.md)
- [Ai Document Automation Extraction To Action](/blog/ai-document-automation-extraction-to-action.md)
- [Ai Legal Assistant Document Authoring](/blog/ai-legal-assistant-document-authoring.md)
- [Angular File Viewer Pdf Image Office Files](/blog/angular-file-viewer-pdf-image-office-files.md)
- [Auto Tagging And Document Accessibility In Dotnet Sdk](/blog/auto-tagging-and-document-accessibility-in-dotnet-sdk.md)
- [Best Document Viewers](/blog/best-document-viewers.md)
- [The CEO’s AI playbook: Why decision architecture beats model selection](/blog/ceo-ai-playbook-decision-architecture.md)
- [1. Extract and chunk the PDF.](/blog/chat-with-pdf.md)
- [Complete Guide To Pdfjs](/blog/complete-guide-to-pdfjs.md)
- [Construction Document Data Extraction](/blog/construction-document-data-extraction.md)
- [Convert One Drive Files To Pdf In Sharepoint](/blog/convert-one-drive-files-to-pdf-in-sharepoint.md)
- [Create And Edit Pdfs In Flutter](/blog/create-and-edit-pdfs-in-flutter.md)
- [Create Pdfs With React](/blog/create-pdfs-with-react.md)
- [Creating A Document Scanner With Ocr In Python](/blog/creating-a-document-scanner-with-ocr-in-python.md)
- [Creating And Filling Pdf Forms Programmatically In Javascript](/blog/creating-and-filling-pdf-forms-programmatically-in-javascript.md)
- [The CTO’s AI playbook: Why accountability architecture beats orchestration](/blog/cto-ai-playbook-accountability-architecture.md)
- [Digital Signatures](/blog/digital-signatures.md)
- [Digital Workflow Automation](/blog/digital-workflow-automation.md)
- [Document Ai Vs Ocr](/blog/document-ai-vs-ocr.md)
- [Document Extraction Confidence Scores](/blog/document-extraction-confidence-scores.md)
- [Document Viewer](/blog/document-viewer.md)
- [Document Watermarking](/blog/document-watermarking.md)
- [Emerging threats: Your logging system may be an agentic threat vector](/blog/emerging-threats-your-logging-system.md)
- [app.py](/blog/extract-text-from-pdf-using-python.md)
- [Fillable Pdf](/blog/fillable-pdf.md)
- [How To Add Digital Signature To Pdf Using React](/blog/how-to-add-digital-signature-to-pdf-using-react.md)
- [How To Build A Dotnet Maui Pdf Viewer](/blog/how-to-build-a-dotnet-maui-pdf-viewer.md)
- [How To Build A Flutter Pdf Viewer](/blog/how-to-build-a-flutter-pdf-viewer.md)
- [or](/blog/how-to-build-a-javascript-pdf-viewer-with-pdfjs.md)
- [How To Build A Javascript Pdf Viewer](/blog/how-to-build-a-javascript-pdf-viewer.md)
- [or](/blog/how-to-build-a-nextjs-pdf-viewer.md)
- [How To Build A Powerpoint Viewer Using Javascript](/blog/how-to-build-a-powerpoint-viewer-using-javascript.md)
- [Using Yarn](/blog/how-to-build-a-react-excel-viewer.md)
- [How To Build A React Native Pdf Viewer](/blog/how-to-build-a-react-native-pdf-viewer.md)
- [How To Build A React Powerpoint Viewer](/blog/how-to-build-a-react-powerpoint-viewer.md)
- [How To Build A Reactjs File Viewer](/blog/how-to-build-a-reactjs-file-viewer.md)
- [or](/blog/how-to-build-a-reactjs-pdf-viewer-with-react-pdf.md)
- [or](/blog/how-to-build-a-reactjs-pdf-viewer.md)
- [How To Build A Reactjs Viewer With Pdfjs](/blog/how-to-build-a-reactjs-viewer-with-pdfjs.md)
- [How To Build A Vuejs Pdf Viewer With Pdfjs](/blog/how-to-build-a-vuejs-pdf-viewer-with-pdfjs.md)
- [How To Build A Vuejs Pdf Viewer](/blog/how-to-build-a-vuejs-pdf-viewer.md)
- [How To Build An Android Pdf Viewer](/blog/how-to-build-an-android-pdf-viewer.md)
- [How To Build An Angular Pdf Viewer With Ng2 Pdf Viewer](/blog/how-to-build-an-angular-pdf-viewer-with-ng2-pdf-viewer.md)
- [How To Build An Angular Pdf Viewer With Pdfjs](/blog/how-to-build-an-angular-pdf-viewer-with-pdfjs.md)
- [How To Convert Docx To Pdf Using Javascript](/blog/how-to-convert-docx-to-pdf-using-javascript.md)
- [How To Convert Docx To Pdf Using Python](/blog/how-to-convert-docx-to-pdf-using-python.md)
- [How To Convert Html To Pdf Using Html2pdf](/blog/how-to-convert-html-to-pdf-using-html2pdf.md)
- [or](/blog/how-to-convert-html-to-pdf-using-react.md)
- [How To Convert Html To Pdf Using Wkhtmltopdf And Csharp](/blog/how-to-convert-html-to-pdf-using-wkhtmltopdf-and-csharp.md)
- [or](/blog/how-to-convert-html-to-pdf-using-wkhtmltopdf-and-python.md)
- [How To Convert Word To Pdf In Nodejs](/blog/how-to-convert-word-to-pdf-in-nodejs.md)
- [or](/blog/how-to-create-a-react-js-signature-pad.md)
- [How To Create Pdfs With React To Pdf](/blog/how-to-create-pdfs-with-react-to-pdf.md)
- [How To Edit Pdfs Using Ios Pdf Library](/blog/how-to-edit-pdfs-using-ios-pdf-library.md)
- [How To Embed A Pdf Viewer In Your Website](/blog/how-to-embed-a-pdf-viewer-in-your-website.md)
- [How To Extract Tables From Pdf And Images](/blog/how-to-extract-tables-from-pdf-and-images.md)
- [How To Generate Pdf From Html With Nodejs](/blog/how-to-generate-pdf-from-html-with-nodejs.md)
- [base_url tells WeasyPrint where to resolve relative asset paths](/blog/how-to-generate-pdf-reports-from-html-in-python.md)
- [How To Merge Pdfs Using Javascript](/blog/how-to-merge-pdfs-using-javascript.md)
- [How To Ocr Pdfs In Linux](/blog/how-to-ocr-pdfs-in-linux.md)
- [How To Print Pdf In Csharp](/blog/how-to-print-pdf-in-csharp.md)
- [Open an image.](/blog/how-to-use-tesseract-ocr-in-python.md)
- [From an HTML string.](/blog/html-in-pdf-format.md)
- [Javascript Pdf Editors](/blog/javascript-pdf-editors.md)
- [Javascript Pdf Libraries](/blog/javascript-pdf-libraries.md)
- [Linearized Pdf](/blog/linearized-pdf.md)
- [or](/blog/merge-pdfs.md)
- [Swift Package Manager](/blog/mobile-pdf-sdk.md)
- [`elements` come from your document parser — each has a type and content.](/blog/multimodal-rag.md)
- [Nutrient Vs Conga Composer](/blog/nutrient-vs-conga-composer.md)
- [Online Document Viewer](/blog/online-document-viewer.md)
- [Open Pdf In Your Web App](/blog/open-pdf-in-your-web-app.md)
- [Building WCAG 2.2, Section 508, and PDF/UA-compliant PDFs with an SDK](/blog/pdf-accessibility.md)
- [Pdf Data Extraction Developer Guide](/blog/pdf-data-extraction-developer-guide.md)
- [Pdf Extraction Benchmark Opendataloader Bench](/blog/pdf-extraction-benchmark-opendataloader-bench.md)
- [Pdf Extraction Document Case Studies](/blog/pdf-extraction-document-case-studies.md)
- [Pdf Page Labels](/blog/pdf-page-labels.md)
- [Pdf Sdk Compliance Security Checklist](/blog/pdf-sdk-compliance-security-checklist.md)
- [Pdf Sdk Performance Benchmark](/blog/pdf-sdk-performance-benchmark.md)
- [Pdf Ua Compliance Guide](/blog/pdf-ua-compliance-guide.md)
- [Pdfjs Accessibility Structtree Printing](/blog/pdfjs-accessibility-structtree-printing.md)
- [Pdfjs Advanced Loading Streaming Workers](/blog/pdfjs-advanced-loading-streaming-workers.md)
- [Pdfjs Annotation Editor Layer](/blog/pdfjs-annotation-editor-layer.md)
- [Pdfjs Area Annotations Canvas Capture](/blog/pdfjs-area-annotations-canvas-capture.md)
- [Pdfjs Coordinate Systems Pdf To Screen](/blog/pdfjs-coordinate-systems-pdf-to-screen.md)
- [Pdfjs Document Outline Bookmarks Metadata](/blog/pdfjs-document-outline-bookmarks-metadata.md)
- [Pdfjs Eventbus Guide](/blog/pdfjs-eventbus-guide.md)
- [macOS](/blog/pdfjs-file-format-conversion-to-pdf.md)
- [macOS](/blog/pdfjs-generating-pdf-thumbnails-pdf2pic.md)
- [Pdfjs Limitations Commercial Upgrade](/blog/pdfjs-limitations-commercial-upgrade.md)
- [Pdfjs Native Annotation Layer Forms](/blog/pdfjs-native-annotation-layer-forms.md)
- [Pdfjs Navigation Zoom Rotation](/blog/pdfjs-navigation-zoom-rotation.md)
- [Pdfjs Pdf Page Manipulation Pdf Lib](/blog/pdfjs-pdf-page-manipulation-pdf-lib.md)
- [Pdfjs React Viewer Setup](/blog/pdfjs-react-viewer-setup.md)
- [Pdfjs Rendering Overlays React Portals](/blog/pdfjs-rendering-overlays-react-portals.md)
- [Pdfjs Server Side Text Extraction](/blog/pdfjs-server-side-text-extraction.md)
- [Pdfjs Sticky Note Annotations](/blog/pdfjs-sticky-note-annotations.md)
- [Pdfjs Text Highlight Annotations](/blog/pdfjs-text-highlight-annotations.md)
- [Pdfjs Text Search Pdffindcontroller](/blog/pdfjs-text-search-pdffindcontroller.md)
- [Pdfjs Thumbnail Sidebar](/blog/pdfjs-thumbnail-sidebar.md)
- [Process Flows](/blog/process-flows.md)
- [React Native Pdf Annotation](/blog/react-native-pdf-annotation.md)
- [Using Yarn](/blog/react-pdf-editor.md)
- [or](/blog/sample-blog-updated.md)
- [Sdk Product Updates Q2 2026](/blog/sdk-product-updates-q2-2026.md)
- [Add DWS MCP Server to your Claude Code project.](/blog/teaching-llms-to-read-pdfs.md)
- [Open an image file.](/blog/tesseract-python-guide.md)
- [Define the HTML part of the document.](/blog/top-10-ways-to-generate-pdfs-in-python.md)
- [Top 5 Javascript Pdf Viewers](/blog/top-5-javascript-pdf-viewers.md)
- [or](/blog/top-js-pdf-libraries.md)
- [Convert an HTML file to PDF.](/blog/top-ten-ways-to-convert-html-to-pdf.md)
- [Vector Pdf](/blog/vector-pdf.md)
- [Wcag2 Accessibility Requirements Documents](/blog/wcag2-accessibility-requirements-documents.md)
- [Web Sdk Is Now Headless](/blog/web-sdk-is-now-headless.md)
- [What Are Annotations](/blog/what-are-annotations.md)
- [What Is A Vpat](/blog/what-is-a-vpat.md)
- [What Is Document Processing](/blog/what-is-document-processing.md)
- [What Is Intelligent Document Processing](/blog/what-is-intelligent-document-processing.md)
- [What Is Pdf Ua](/blog/what-is-pdf-ua.md)
- [Why Pdfium Is A Trusted Platform For Pdf Rendering](/blog/why-pdfium-is-a-trusted-platform-for-pdf-rendering.md)
- [Why Your Ai Agent Hallucinates Pdf Table Data](/blog/why-your-ai-agent-hallucinates-pdf-table-data.md)

