---
title: "What is a tagged PDF? Tags, structure, and how to tag a PDF"
canonical_url: "https://www.nutrient.io/blog/what-is-a-tagged-pdf/"
md_url: "https://www.nutrient.io/blog/what-is-a-tagged-pdf.md"
last_updated: "2026-11-12T13:31:09.433Z"
description: "Learn what a tagged PDF is, how it differs from an untagged PDF, what common tags mean, how to check whether a PDF is tagged, and how to add tags."
---

**TL;DR**

A tagged PDF contains a structure tree that labels each piece of content — headings, paragraphs, lists, tables, and figures — with a tag describing its role. Screen readers and other assistive technologies use those tags to read the document in a logical order. Tagging is required for PDF/Universal Accessibility (PDF/UA). PDFs can be tagged at export, auto-tagged after the fact, or generated with tags from code.

A tagged PDF is a PDF that includes a logical structure layer on top of its visual content. Each element on the page is labeled with a tag that states what it is: a heading, a paragraph, a list item, a table cell, or a figure. The tags sit in a structure tree, which also defines the order in which the content should be read.

An untagged PDF has none of that. To software, it’s a collection of text fragments and images positioned on a page, and a screen reader has to infer the structure from that layout. Correct tagging gives assistive technology explicit information about structure and reading order, which is why [PDF/UA](https://www.nutrient.io/blog/what-is-pdf-ua.md), the ISO standard for accessible PDFs, requires it.

## Tagged vs. untagged PDF

The table describes a correctly tagged PDF. Tags can be missing or incorrect, even when a file is marked as tagged.

|                       | Correctly tagged PDF                                                                 | Untagged PDF                                                                        |
| --------------------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- |
| Structure             | A structure tree labels headings, paragraphs, lists, tables, and figures.            | Content is positioned on the page with no semantic labels.                          |
| Reading order         | Defined by the tag sequence, independent of page layout.                             | Inferred by the reading software, often incorrectly for columns.                    |
| Images                | Meaningful images have text alternatives; decorative content is marked as artifacts. | No figure tags provide alternative text; decorative content may be announced.       |
| Tables                | Header and data cells are identified, so cells can be read in context.               | A table is a grid of unrelated text fragments.                                      |
| Navigation            | Heading tags let readers move between sections.                                      | Heading navigation through tags is unavailable; bookmarks and links may still help. |
| Accessibility targets | A prerequisite for PDF/UA conformance.                                               | Can’t conform to PDF/UA.                                                            |

Two PDFs can look identical onscreen while one is tagged and the other isn’t. The difference only shows up when software tries to interpret the content.

### Searchable PDF vs. tagged PDF

A searchable PDF contains text you can find or select. A tagged PDF also describes the text’s role and its place in the document’s reading order. Being able to search for a heading doesn’t mean a screen reader can recognize it as a heading.

For a scanned PDF, optical character recognition (OCR) turns images of words into text. OCR alone doesn’t establish the tag structure. Some tools combine recognition and tagging, but you still need to check both the recognized text and the tags, as [W3C’s OCR guidance](https://www.w3.org/WAI/WCAG22/Techniques/pdf/PDF7) explains.

## Example of a tagged PDF structure

A tag tree mirrors the logical structure of the document, not its visual layout. A simple report with a heading, an introduction, a list, a table, and a chart might be tagged like this:

```text

Document
├── H1          "Quarterly report"
├── P           "Revenue grew across all regions."
├── L
│   ├── LI
│   │   ├── Lbl    "•"
│   │   └── LBody  "EMEA"
│   └── LI
│       ├── Lbl    "•"
│       └── LBody  "AMER"
├── Table
│   ├── TR
│   │   ├── TH  "Region"
│   │   └── TH  "Revenue"
│   └── TR
│       ├── TD  "EMEA"
│       └── TD  "$1.2M"
└── Figure      Alt: "Bar chart showing revenue growth in every region"

```

A screen reader follows this tree from top to bottom. It announces the heading as a heading, the list as a list with two items, and the table with its column headers. The figure is read through its alternative text. Page numbers, running headers, and decorative lines are marked as artifacts outside the tree, so assistive technology skips them.

## Common PDF tags and what they mean

PDF defines a set of standard structure types. These are the ones most documents use:

| Tag             | Meaning                        | Notes                                                                      |
| --------------- | ------------------------------ | -------------------------------------------------------------------------- |
| `Document`      | Top-level document element     | Groups the document’s structure elements beneath `StructTreeRoot`.         |
| `Sect`, `Part`  | Sections and larger divisions  | Group related content.                                                     |
| `H1`–`H6`       | Headings by level              | Levels should reflect the document outline ([W3C PDF9](https://www.w3.org/WAI/WCAG22/Techniques/pdf/PDF9)).     |
| `P`             | Paragraph                      | Body text.                                                                 |
| `L`, `LI`       | List and list item             | Lets readers move between lists and items ([W3C PDF21](https://www.w3.org/WAI/WCAG22/Techniques/pdf/PDF21)).        |
| `Lbl`, `LBody`  | List label and body            | Separates the bullet or number from the item’s content.                    |
| `Table`, `TR`   | Table and table row            | Defines the table grid ([W3C PDF6](https://www.w3.org/WAI/WCAG22/Techniques/pdf/PDF6)).                           |
| `TH`, `TD`      | Header cell and data cell      | Header cells give data cells their context.                                |
| `Figure`        | Image, chart, or illustration  | Needs alternative text if it conveys meaning ([W3C PDF1](https://www.w3.org/WAI/WCAG22/Techniques/pdf/PDF1)).        |
| `Link`          | Hyperlink                      | Associates link text with its destination.                                 |
| Artifact marker | Decorative or repeated content | Page numbers and decorative lines are skipped ([W3C PDF4](https://www.w3.org/WAI/WCAG22/Techniques/pdf/PDF4)). |

Tags describe meaning, not appearance. A line of large, bold text should be tagged `H2` only if it really is a section heading.

## How to check whether a PDF is tagged

Use a [PDF accessibility checker](https://www.nutrient.io/blog/pdf-accessibility-checker.md) to inspect the file:

1. Open the PDF in the checker and run its accessibility checks.

2. Review the results for missing tags, untagged content, and structural errors.

3. In a tool that exposes the tag tree, expand it and compare the tags with the page. Check that headings, lists, tables, and figures have appropriate roles and follow a logical reading order.

For developers inspecting the PDF directly, the document catalog contains a `MarkInfo` dictionary with `Marked` set to `true` and a `StructTreeRoot` entry for the structure tree. These entries identify declared tagging; their presence alone doesn’t establish that the content is correctly tagged.

A file can have a structure tree with the wrong tag types, a broken reading order, or figures without descriptions. Review those details even if the checker reports that tags exist.

For a concrete example, see the [tagged PDF with a missing language setting](https://www.nutrient.io/blog/pdf-accessibility-checker.md#example-fix-a-missing-document-language). Its heading and paragraph tags were present, but veraPDF reported language failures for page text and metadata. Setting the document language resolved those automated failures without changing the tags. The downloadable PDFs and reports show why tagging and validation are separate checks; passing validation still leaves manual accessibility review.

## How to tag a PDF

There are three common routes to a tagged PDF. The right one depends on whether the source document exists and how many files need processing.

### Export a tagged PDF from the source

When a well-structured source document exists (one with real headings, lists, and tables rather than formatting that only looks like them), export a tagged PDF from the authoring application. This lets you correct structure in the source document and reuse those corrections in future exports.

For example, in Word for Microsoft 365 on Windows:

1. Run Word’s Accessibility Checker and address the issues it identifies.

2. Open **File** > **Save As** or **Save a Copy**. Choose **Browse** and select PDF as the file type.

3. Open **Options** and select **Document structure tags for accessibility**.

4. Select **OK** and save the PDF. Open the exported file in a PDF accessibility checker to review its tags.

These steps follow [Microsoft’s accessible PDF export instructions](https://support.microsoft.com/en-us/accessibility/office-accessibility/create-accessible-pdfs), which also cover macOS and the web. Exporting with tags doesn’t replace checking the resulting PDF.

### Auto-tag existing PDFs

For PDFs that already exist without tags, auto-tagging detects document elements and adds the structure tree. The [Nutrient Accessibility API](https://www.nutrient.io/api/accessibility-api/) auto-tags PDFs with headings, paragraphs, lists, and tables, and improves reading order. The [auto-tagging guide](https://www.nutrient.io/guides/dws-accessibility/developer-guides/auto-tag-pdfs.md) covers sending a file to the `/accessibility/autotag` endpoint and receiving tagged output.

Teams working in.NET can also [auto-tag and convert PDFs to PDF/UA with the.NET SDK](https://www.nutrient.io/blog/auto-tagging-and-document-accessibility-in-dotnet-sdk.md).

Review the tags that auto-tagging assigns. Alternative text quality, complex layouts, and meaning that depends on visual context still need human review, as Nutrient’s [introduction to PDF/UA and auto-tagging](https://www.nutrient.io/guides/dws-accessibility/developer-guides/introduction-to-pdfua-and-auto-tagging.md) explains.

### Generate tagged PDFs from code

When an application creates PDFs, it can build the structure tree directly. With [Nutrient.NET SDK](https://www.nutrient.io/guides/dotnet/pdf-generation/tagged.md), the process is:

1. Set the document title and language with `SetTitle` and `SetLanguage`.

2. Get the root tag with `GetTagRootID`.

3. Create tags such as `Sect` and `Figure` under the root with `NewTag`.

4. Add content inside each tag as marked content.

5. Set alternative text for figures with `SetTagAlternateDescription`.

The [tagged PDF guide](https://www.nutrient.io/guides/dotnet/pdf-generation/tagged.md) includes a complete C# and VB.NET example.

Whichever route is used, check the result with a validator and a screen reader before publishing. For files that need more than tags — OCR, image descriptions, or corrected reading order — see the [PDF remediation guide](https://www.nutrient.io/blog/pdf-remediation.md).

**Call to Action**

Tag and validate PDFs with Nutrient

[Learn More](https://www.nutrient.io/sdk/solutions/accessibility/)

## FAQ

#### What does tagged PDF mean?

A tagged PDF contains a structure tree that labels each piece of content with its role, such as a heading, paragraph, list, table, or figure. Assistive technologies use those tags to read the document in a logical order.

#### How can I check if a PDF is tagged?

Open the PDF in an accessibility checker and run its checks. Review the results for missing tags and structural errors. Then inspect the tag tree in a tool that exposes it. Tags being present doesn’t mean they correctly describe the document.

#### What’s the difference between a tagged PDF and an untagged PDF?

A tagged PDF labels its content with semantic roles and defines a reading order. An untagged PDF only positions text and images on the page, so assistive technologies have to guess its structure.

#### Is a tagged PDF the same as an accessible PDF?

No. Tags are a prerequisite, but an accessible PDF also needs correct tag types, a logical reading order, useful alternative text, and other PDF/UA requirements. Validate the file and review it manually to confirm.

#### Can tags be added to an existing PDF?

Yes. Auto-tagging adds a structure tree to an existing PDF. Review the result, especially alternative text and complex layouts, before treating the file as accessible.
---

## 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)
- [Adobe Pdf Embed Api Alternatives](/blog/adobe-pdf-embed-api-alternatives.md)
- [Adobe Pdf Services Api Alternatives](/blog/adobe-pdf-services-api-alternatives.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 Assistant Agent Governance](/blog/ai-assistant-agent-governance.md)
- [How to build an AI agent for contract redlining against a compliance playbook](/blog/ai-contract-redlining-compliance-playbook.md)
- [Ai Document Automation Extraction To Action](/blog/ai-document-automation-extraction-to-action.md)
- [Ai Document Workflows Ocr Compliance Heavy Teams](/blog/ai-document-workflows-ocr-compliance-heavy-teams.md)
- [Ai Legal Assistant Document Authoring](/blog/ai-legal-assistant-document-authoring.md)
- [Ai Schema Generator Document Extraction](/blog/ai-schema-generator-document-extraction.md)
- [Amazon Textract Alternatives](/blog/amazon-textract-alternatives.md)
- [Start (clears any prior buffer), navigate the document, then stop into a file.](/blog/android-faster-pdf-rendering.md)
- [Android Pdf Out Of Memory Handling](/blog/android-pdf-out-of-memory-handling.md)
- [Angular File Viewer Pdf Image Office Files](/blog/angular-file-viewer-pdf-image-office-files.md)
- [Approval Workflow Software](/blog/approval-workflow-software.md)
- [Approvals Matrix](/blog/approvals-matrix.md)
- [Apryse To Nutrient Migration](/blog/apryse-to-nutrient-migration.md)
- [Auto Tagging And Document Accessibility In Dotnet Sdk](/blog/auto-tagging-and-document-accessibility-in-dotnet-sdk.md)
- [Simple PII redaction.](/blog/automated-pii-removal.md)
- [Automation Platform](/blog/automation-platform.md)
- [Azure Document Intelligence Alternatives](/blog/azure-document-intelligence-alternatives.md)
- [schema.py.](/blog/bank-statement-to-excel.md)
- [Barcode Ocr](/blog/barcode-ocr.md)
- [Best Ai Document Workflow Platforms](/blog/best-ai-document-workflow-platforms.md)
- [Best Csharp Pdf Library](/blog/best-csharp-pdf-library.md)
- [Best Document Ai Platforms](/blog/best-document-ai-platforms.md)
- [Best Document Classification Platforms](/blog/best-document-classification-platforms.md)
- [Best document parser for RAG: LlamaParse vs. Unstructured vs. Reducto vs. Nutrient](/blog/best-document-parser-llamaparse-unstructured-reducto.md)
- [Best Document Parsing Apis](/blog/best-document-parsing-apis.md)
- [Best Document Viewers](/blog/best-document-viewers.md)
- [Best Healthcare Workflow Software Compared](/blog/best-healthcare-workflow-software-compared.md)
- [Best Invoice Data Extraction Apis](/blog/best-invoice-data-extraction-apis.md)
- [Best Llm Document Understanding Platforms](/blog/best-llm-document-understanding-platforms.md)
- [Best Multilingual Ocr Software](/blog/best-multilingual-ocr-software.md)
- [Best Pdf Accessibility Apis](/blog/best-pdf-accessibility-apis.md)
- [Best Pdf Parsers For Rag](/blog/best-pdf-parsers-for-rag.md)
- [Best Pdf Processing Apis](/blog/best-pdf-processing-apis.md)
- [Best Pdf Viewer Apis](/blog/best-pdf-viewer-apis.md)
- [Best Salesforce Document Generation Apps](/blog/best-salesforce-document-generation-apps.md)
- [Best Secure Document Collaboration Platforms](/blog/best-secure-document-collaboration-platforms.md)
- [or](/blog/best-vue-pdf-viewers.md)
- [Bpm Guide](/blog/bpm-guide.md)
- [Bpm Tools](/blog/bpm-tools.md)
- [Build Vs Buy Document Extraction](/blog/build-vs-buy-document-extraction.md)
- [Business Automation](/blog/business-automation.md)
- [Business Process Reengineering Bpr Definition](/blog/business-process-reengineering-bpr-definition.md)
- [Capex Vs Opex](/blog/capex-vs-opex.md)
- [Capital Expenditure Request Form](/blog/capital-expenditure-request-form.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)
- [Nutrient document decision: Why we built a decision model for documents](/blog/decision-model-for-documents.md)
- [Digital Signatures](/blog/digital-signatures.md)
- [Digital Workflow Automation](/blog/digital-workflow-automation.md)
- [Docling Alternatives](/blog/docling-alternatives.md)
- [Document Ai Vs Ocr](/blog/document-ai-vs-ocr.md)
- [Document Authoring Audit Trail](/blog/document-authoring-audit-trail.md)
- [Document Authoring Spreadsheet Editor](/blog/document-authoring-spreadsheet-editor.md)
- [Document Extraction Confidence Scores](/blog/document-extraction-confidence-scores.md)
- [Document Extraction For Underwriting](/blog/document-extraction-for-underwriting.md)
- [Document Viewer](/blog/document-viewer.md)
- [Document Watermarking](/blog/document-watermarking.md)
- [Debian/Ubuntu.](/blog/easyocr-vs-tesseract-python.md)
- [Electronic signature API: How to sign PDFs programmatically](/blog/electronic-signature-api.md)
- [Emerging threats: Your logging system may be an agentic threat vector](/blog/emerging-threats-your-logging-system.md)
- [Q3 sales](/blog/excel-to-markdown-for-llms.md)
- [Extend Alternatives](/blog/extend-alternatives.md)
- [Extract Patient Data On Premises](/blog/extract-patient-data-on-premises.md)
- [Extract Tables From Complex Pdfs](/blog/extract-tables-from-complex-pdfs.md)
- [Create and activate a virtual environment (recommended).](/blog/extract-text-from-pdf-pymupdf.md)
- [app.py](/blog/extract-text-from-pdf-using-python.md)
- [Stricter thresholds for fields that move money. Calibrate on your own sample.](/blog/extraction-hallucination-detection.md)
- [Fillable Pdf](/blog/fillable-pdf.md)
- [Google Document Ai Alternatives](/blog/google-document-ai-alternatives.md)
- [Handwriting Recognition Ocr Vlm](/blog/handwriting-recognition-ocr-vlm.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)
- [or](/blog/how-to-build-a-javascript-pdf-viewer.md)
- [How To Build A Nextjs Pdf Viewer](/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)
- [Using Yarn](/blog/how-to-build-a-react-word-viewer.md)
- [How To Build A Reactjs File Viewer](/blog/how-to-build-a-reactjs-file-viewer.md)
- [How To Build A Reactjs Pdf Viewer With React Pdf](/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)
- [How To Convert Html To Pdf Using React](/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 Html To Pptx](/blog/how-to-convert-html-to-pptx.md)
- [How To Convert Pdf To Json](/blog/how-to-convert-pdf-to-json.md)
- [Quarterly report](/blog/how-to-convert-pdf-to-markdown-using-python.md)
- [How To Convert Word To Pdf In Nodejs](/blog/how-to-convert-word-to-pdf-in-nodejs.md)
- [How To Convert Word To Pdf Using Javascript](/blog/how-to-convert-word-to-pdf-using-javascript.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 digitally sign PDFs in C# with Nutrient .NET SDK](/blog/how-to-digitally-sign-pdf-in-csharp.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 A Pdf With Vuejs](/blog/how-to-generate-a-pdf-with-vuejs.md)
- [How To Generate Pdf From Html With Nodejs](/blog/how-to-generate-pdf-from-html-with-nodejs.md)
- [How to generate PDFs in C# with Nutrient .NET SDK](/blog/how-to-generate-pdf-in-csharp.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 Pdf Api](/blog/how-to-ocr-pdf-api.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)
- [How To Programmatically Create And Fill Pdf Form In Angular](/blog/how-to-programmatically-create-and-fill-pdf-form-in-angular.md)
- [C# barcode scanner: How to scan and read 1D barcodes and QR codes](/blog/how-to-scan-barcodes-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)
- [Html To Pdf In Javascript](/blog/html-to-pdf-in-javascript.md)
- [Ide Text Editors Cpp Large Scale](/blog/ide-text-editors-cpp-large-scale.md)
- [Numeric and identifier fields: exact single-block matches only.](/blog/insurance-document-extraction.md)
- [Intelligent Data Extraction](/blog/intelligent-data-extraction.md)
- [Introducing Nutrient Data Extraction API: Turn complex documents into structured, reliable data for AI](/blog/introducing-nutrient-data-extraction-api.md)
- [Invoice Approval Software](/blog/invoice-approval-software.md)
- [Javascript Document Editor](/blog/javascript-document-editor.md)
- [Javascript Pdf Editors](/blog/javascript-pdf-editors.md)
- [Javascript Pdf Libraries](/blog/javascript-pdf-libraries.md)
- [Keep Document Ai Private](/blog/keep-document-ai-private.md)
- [Kyc Onboarding Salesforce](/blog/kyc-onboarding-salesforce.md)
- [Landing Ai Alternatives](/blog/landing-ai-alternatives.md)
- [Langextract Vs Llamaindex Extraction Comparison](/blog/langextract-vs-llamaindex-extraction-comparison.md)
- [Linearized Pdf](/blog/linearized-pdf.md)
- [Uses OpenAI by default — set OPENAI_API_KEY.](/blog/llamaindex-vs-langchain-rag.md)
- [Llamaindex Vs Langchain Vs Haystack](/blog/llamaindex-vs-langchain-vs-haystack.md)
- [Llamaindex Workflows Vs Langgraph](/blog/llamaindex-workflows-vs-langgraph.md)
- [Llamaparse Alternatives](/blog/llamaparse-alternatives.md)
- [Llm Vs Document Parsing Api](/blog/llm-vs-document-parsing-api.md)
- [Low Code No Code Document Integrations](/blog/low-code-no-code-document-integrations.md)
- [One segment per document found, in page order:](/blog/mailroom-automation-api.md)
- [Material Requisition](/blog/material-requisition.md)
- [ICD-10-CM: letter, digit, then digit OR letter (C4A, D3A, M1A are all valid),](/blog/medical-record-extraction.md)
- [or](/blog/merge-pdfs.md)
- [Migrating Observability Hyperdx To Dash0](/blog/migrating-observability-hyperdx-to-dash0.md)
- [Swift Package Manager](/blog/mobile-pdf-sdk.md)
- [Numeric and identifier fields: exact single-block matches only.](/blog/mortgage-document-processing.md)
- [`elements` come from your document parser — each has a type and content.](/blog/multimodal-rag.md)
- [Multipage Extraction Page Boundaries](/blog/multipage-extraction-page-boundaries.md)
- [Nutrient Flutter 6 Bindings Api](/blog/nutrient-flutter-6-bindings-api.md)
- [Nutrient Flutter Bindings Architecture](/blog/nutrient-flutter-bindings-architecture.md)
- [Nutrient Vs Conga Composer](/blog/nutrient-vs-conga-composer.md)
- [Ocr Api Comparison](/blog/ocr-api-comparison.md)
- [Online Document Viewer](/blog/online-document-viewer.md)
- [Open Pdf In Your Web App](/blog/open-pdf-in-your-web-app.md)
- [Operations Management Software](/blog/operations-management-software.md)
- [Optical Character Recognition In Scanned Pdfs](/blog/optical-character-recognition-in-scanned-pdfs.md)
- [CPU](/blog/paddleocr-python-guide.md)
- [Pdf Accessibility Checker](/blog/pdf-accessibility-checker.md)
- [PDF accessibility for developers: Meeting WCAG 2.2, Section 508, and PDF/UA with an SDK](/blog/pdf-accessibility.md)
- [Extract data from PDF files: A developer guide to structured data from PDFs and scans](/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 Remediation](/blog/pdf-remediation.md)
- [Pdf Sdk Compliance Security Checklist](/blog/pdf-sdk-compliance-security-checklist.md)
- [Pdf Sdk Performance Benchmark](/blog/pdf-sdk-performance-benchmark.md)
- [Pdf Text Extraction](/blog/pdf-text-extraction.md)
- [Pdf Ua Compliance Guide](/blog/pdf-ua-compliance-guide.md)
- [Pdf Ua Validation](/blog/pdf-ua-validation.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)
- [Pdfplumber Python Guide](/blog/pdfplumber-python-guide.md)
- [People Process Tools](/blog/people-process-tools.md)
- [Process Flows](/blog/process-flows.md)
- [React Docx Editor](/blog/react-docx-editor.md)
- [React Native Pdf Annotation](/blog/react-native-pdf-annotation.md)
- [React Pdf Annotation Layer Forms](/blog/react-pdf-annotation-layer-forms.md)
- [React Pdf Custom Rendering Hooks](/blog/react-pdf-custom-rendering-hooks.md)
- [Using Yarn.](/blog/react-pdf-editor.md)
- [React Pdf Loading States Errors Passwords](/blog/react-pdf-loading-states-errors-passwords.md)
- [React Pdf Non Latin Fonts Special Pdfs](/blog/react-pdf-non-latin-fonts-special-pdfs.md)
- [React Pdf Outline Table Of Contents](/blog/react-pdf-outline-table-of-contents.md)
- [React Pdf Performance Optimization](/blog/react-pdf-performance-optimization.md)
- [React Pdf Setup Basic Rendering](/blog/react-pdf-setup-basic-rendering.md)
- [React Pdf Text Layer Custom Renderer](/blog/react-pdf-text-layer-custom-renderer.md)
- [React Pdf Thumbnails Page Navigation](/blog/react-pdf-thumbnails-page-navigation.md)
- [Reducto Alternatives](/blog/reducto-alternatives.md)
- [Requisition System](/blog/requisition-system.md)
- [labels.py](/blog/route-documents-automatically-classify-api.md)
- [or](/blog/sample-blog-updated.md)
- [Sdk Product Updates Q2 2026](/blog/sdk-product-updates-q2-2026.md)
- [System Of Record Vs Source Of Truth](/blog/system-of-record-vs-source-of-truth.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)
- [The Six Best Pdf Generator Apis](/blog/the-six-best-pdf-generator-apis.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)
- [Top Js Pdf Libraries](/blog/top-js-pdf-libraries.md)
- [Top Ten Ways To Convert Html To Pdf](/blog/top-ten-ways-to-convert-html-to-pdf.md)
- [Unstructured Alternatives](/blog/unstructured-alternatives.md)
- [Using Javascript In Pdf Form Fields](/blog/using-javascript-in-pdf-form-fields.md)
- [Vector Pdf](/blog/vector-pdf.md)
- [Wcag2 Accessibility Requirements Documents](/blog/wcag2-accessibility-requirements-documents.md)
- [Web Pdf Sdk Legal Review](/blog/web-pdf-sdk-legal-review.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 Bpms](/blog/what-is-bpms.md)
- [What Is Business Logic](/blog/what-is-business-logic.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 Ocr Invoice Processing](/blog/what-is-ocr-invoice-processing.md)
- [What Is Pdf Ua](/blog/what-is-pdf-ua.md)
- [Introducing WholeDoc Bench: A benchmark for parsing whole documents](/blog/wholedoc-bench-parsing-benchmark.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)
- [Workflow Analysis](/blog/workflow-analysis.md)

