---
title: "Best C# PDF library in 2026"
canonical_url: "https://www.nutrient.io/blog/best-csharp-pdf-library/"
md_url: "https://www.nutrient.io/blog/best-csharp-pdf-library.md"
last_updated: "2026-10-25T23:45:34.429Z"
description: "Compare seven C# PDF libraries for .NET applications. Evaluate PDF generation, editing, OCR, PDF/UA workflows, licensing, and deployment requirements."
---

**TL;DR**

Choose a C# PDF library around the work your application needs: generating documents, editing existing PDFs, converting HTML, or processing scans. Compare [Nutrient.NET SDK](https://www.nutrient.io/sdk/dotnet/), QuestPDF, iText Core, IronPDF, Syncfusion PDF, Aspose.PDF, and PDFsharp against your documents and deployment environment. For PDF/UA, check the supported conformance version and validation workflow separately from basic PDF generation.

Nutrient publishes this comparison and offers one of the SDKs listed. This is a feature-selection guide, not a measured performance ranking.

## Quick decision matrix

| If you need...                                     | Primary pick      | Also strong at                                                                      |
| -------------------------------------------------- | ----------------- | ----------------------------------------------------------------------------------- |
| AI-powered OCR and production [data extraction](https://www.nutrient.io/guides/dotnet/extraction.md)  | Nutrient.NET SDK | Multiformat workflows (PDF, Office, CAD, DICOM), PDF/A and PDF/UA, redaction, forms |
| A modern C#-fluent API for PDF generation          | QuestPDF          | Document operations (merge/split/overlay), code review-friendly layouts             |

| HTML-to-PDF with Chromium rendering                | IronPDF           | PDF/A/UA output options, server deployments (verify footprint and CVE updates)      |
| Complete low-level PDF manipulation and compliance | iText Core        | Advanced forms, signatures, PDF/A variants, PDF/UA                                  |
| Enterprise suite with UI components                | Syncfusion PDF    | PDF/A (including A-4), PDF/UA, Blink-based HTML conversion                          |
| Broad format coverage and edge case handling       | Aspose.PDF        | Cross-format conversions (Word/Excel/HTML/EPUB), tricky/corrupted PDFs              |
| Free and lightweight PDF generation                | PDFsharp          | Pair with MigraDoc for layouts; annotations/assembly; limited content edits         |

## What to look for in a C# PDF library

C# applications commonly require PDF processing for invoicing systems, document management platforms, and report generation. Maintaining a custom PDF generator also means maintaining its layout, font, and file-format handling.

Production requirements:

- **Features that work** — Reliable in production, not just marketing claims

- **Performance under load** — Reliable processing in high-concurrency scenarios

- **Licensing** — Check the terms for your deployment and usage.

- **Documentation quality** — Critical for implementation speed

- **Cross-platform support** — Development machines and modern.NET (8 and 10) on Linux containers

### How to evaluate PDF/UA support in C#

PDF/UA support isn’t a single yes/no feature. Separate three requirements: creating tagged documents, converting existing files, and validating the result. Ask which PDF/UA version the library supports and whether that support applies to your input format and chosen API.

For Nutrient, start with the [.NET PDF/UA overview](https://www.nutrient.io/guides/dotnet/pdfua.md). Then follow the guides for [PDF-to-PDF/UA conversion](https://www.nutrient.io/guides/dotnet/conversion/pdf-to-pdf-ua.md) and [PDF/UA-1 validation](https://www.nutrient.io/guides/dotnet/pdfua/validate-pdf-ua.md). These are implementation resources for C# developers; the broader [PDF accessibility solution](https://www.nutrient.io/solutions/pdf-accessibility/) describes the product options.

Test document language, reading order, headings, tables, and alternative text with representative files. Automated validation helps identify structural problems, but a successful conversion alone doesn’t establish that the document communicates its content accessibly.

### Check deployment and licensing before choosing

Confirm operating system,.NET version, native dependencies, licensed components, and deployment terms for the exact package you plan to ship. For Nutrient, consult the [system requirements](https://www.nutrient.io/guides/dotnet/about/system-compatibility.md). Benchmark your own page counts, concurrency, and memory use rather than treating feature breadth as a performance result.

## Library breakdown: Seven C# PDF libraries

Here’s a closer look at the leading C# PDF libraries in 2026, including their key strengths, limitations, and best-fit scenarios.

### 1. Nutrient.NET SDK (formerly GdPicture.NET)

**Commercial | [Contact for pricing](https://www.nutrient.io/contact-sales/)**

Nutrient’s enterprise SDK, built on the GdPicture.NET foundation, processes [100+ formats](https://www.nutrient.io/guides/dotnet/about/file-type-support.md), including PDF, Office documents, images, CAD, and DICOM. It also provides integrated AI for optical character recognition (OCR) and data extraction. See the [full feature list](https://www.nutrient.io/sdk/features-list/).

**Key strengths:**

- **[AI OCR and extraction](https://www.nutrient.io/guides/dotnet/ai-document-processing/overview.md)** — Multilanguage OCR, key-value/table extraction, auto form fields

- **Viewer and annotations** — HTML5 viewer, search, bookmarks, comments, flattening

- **Forms and redaction** — Create, fill, edit, and flatten forms; manual/regex redaction

- **Compliance** — PDF/A (including A-4), PDF/UA, digital signatures (certificates, timestamps, SHA-256)

- **Document operations and conversion** — Merge, split, and overlay; convert to/from PDF/PDF-A/images with optimization

- **Barcode, capture, print** — [1D and 2D barcodes](https://www.nutrient.io/sdk/solutions/scanning-barcodes/); TWAIN and WIA scanning; server and client printing

- **Deployment** — Check the [system requirements](https://www.nutrient.io/guides/dotnet/about/system-compatibility.md) for supported.NET versions, operating systems, and Windows-only features.

**Limitations:**

- The library’s broad range of capabilities can be excessive for projects that only require simple PDF generation.

**Best for:** Enterprise document workflows, AI-driven data extraction, multiformat processing pipelines, and applications that require strict compliance.

### Nutrient.NET SDK: OCR PDF in C#

This example adds searchable text to an unencrypted scanned PDF. Follow the [Nutrient.NET SDK setup guide](https://www.nutrient.io/sdk/dotnet/getting-started.md) for your platform’s native dependencies and a trial or commercial license that includes OCR. Create a.NET 8 console project and install the package used for this example:

```bash

dotnet new console --framework net8.0 --name PdfOcrDemo
cd PdfOcrDemo
dotnet add package GdPicture.API --version 14.4.9

```

Set `NUTRIENT_LICENSE_KEY` in your environment. Locate the OCR dictionary directory containing `eng.traineddata`, as described in the [OCR API reference](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPicturePDF~OcrPage.html). Replace `Program.cs` with the following code:

```csharp

using System;
using System.IO;
using GdPicture14;

try
{
    if (args.Length!= 3)
        throw new ArgumentException("Usage: dotnet run -- <input.pdf> <output.pdf> <OCR-dictionary-directory>");

    var input = Path.GetFullPath(args[0]);
    var output = Path.GetFullPath(args[1]);
    var dictionaries = Path.GetFullPath(args[2]);

    if (!File.Exists(input))
        throw new FileNotFoundException("Input PDF not found.", input);
    if (string.Equals(input, output, StringComparison.OrdinalIgnoreCase))
        throw new ArgumentException("Use a different path for the output PDF.");
    if (!File.Exists(Path.Combine(dictionaries, "eng.traineddata")))
        throw new FileNotFoundException("The OCR dictionary directory must contain eng.traineddata.");

    var key = Environment.GetEnvironmentVariable("NUTRIENT_LICENSE_KEY");
    if (string.IsNullOrWhiteSpace(key))
        throw new InvalidOperationException("Set NUTRIENT_LICENSE_KEY in your environment.");
    if (!new LicenseManager().RegisterKEY(key))
        throw new InvalidOperationException("The SDK license key could not be registered.");

    using var pdf = new GdPicturePDF();
    Check(pdf.LoadFromFile(input), "Load PDF");
    var pageCount = pdf.GetPageCount();
    Check(pdf.GetStat(), "Read page count");
    if (pageCount == 0)
        throw new InvalidOperationException("The input PDF has no pages.");

    for (var page = 1; page <= pageCount; page++)
    {
        Check(pdf.SelectPage(page), $"Select page {page}");
        Check(pdf.OcrPage("eng", dictionaries, "", 300), $"OCR page {page}");
    }

    Check(pdf.SaveToFile(output), "Save PDF");
    Console.WriteLine($"Created {output}");
    return 0;
}
catch (Exception error)
{
    Console.Error.WriteLine(error.Message);
    return 1;
}

static void Check(GdPictureStatus status, string operation)
{
    if (status!= GdPictureStatus.OK)
        throw new InvalidOperationException($"{operation} failed: {status}");
}

```

Run the program with your input PDF, a separate output path, and the dictionary directory. Replace the example dictionary path with your installation’s path:

```bash

dotnet run -- "source.pdf" "output.pdf" "/path/to/OCR"

```

The program stops and reports the operation if loading, page selection, OCR, or saving fails. The `using` declaration disposes of the PDF object even on failure. Open the output PDF and check its searchable text against the scan before using it downstream.

### 2. QuestPDF

**Community and paid licenses | Cross-platform**

[QuestPDF](https://www.nuget.org/packages/QuestPDF/) is a modern PDF generation library with a fluent C# API designed for the.NET ecosystem. Its code-first approach eliminates the need for external templates, making all documents version-control friendly.

**Key strengths:**

- **Native C# fluent API** — Define document content and layout in C#.

- **Documentation** — Includes examples for document generation and layout.

- **License options** — Check the current [QuestPDF license terms](https://www.questpdf.com/license) for Community, Professional, and Enterprise eligibility.

**Limitations:**

- QuestPDF has limited content manipulation capabilities. It doesn’t support content-level edits or text extraction, although its document operations API covers merging, page selection, and overlays.

- Check the exact output requirements before choosing it: QuestPDF documents both PDF/A and PDF/UA settings for generated documents. See its [document settings](https://www.questpdf.com/concepts/document-settings.html); generation support is separate from remediating an existing PDF.

**Best for:** Generating PDFs from scratch, creating reports and invoices, and producing structured documents with predictable layouts.

QuestPDF’s document operations API supports merging, page selection, and overlays, but not content-level edits or text extraction.

### 3. iText Core (now part of Apryse)

**AGPL/commercial | Cross-platform**

iText Core is a mature PDF library with a detailed, specification-focused API. It’s widely adopted in enterprise scenarios that require fine-grained control over PDF structure and workflows. It’s now part of [Apryse (PDFTron)](https://www.nutrient.io/sdk/vs/apryse/).

**Key strengths:**

- **Complete PDF manipulation** — Broad API coverage for forms, signatures, encryption, text extraction, and document operations

- **Extensive documentation and support** — Long project history, commercial support options, and an active ecosystem

- **Handles complex workflows** — Supports secured PDFs, portfolios, and advanced merging and assembly

- **Full compliance tooling** — Supports multiple PDF/A variants, PDF/UA accessibility, and advanced security features

**Limitations:**

- The licensing is complex. The AGPL requires open source disclosure, and commercial licensing can be expensive.

- Its verbose API can make simple tasks require more boilerplate code and a steeper learning curve.

**Best for:** Complex PDF manipulation, enterprise forms processing, and projects that require comprehensive, low-level PDF features.

If your application needs OCR, [evaluate Nutrient.NET SDK](https://www.nutrient.io/sdk/dotnet/getting-started.md) with representative documents and confirm the required license components. For hosted AI extraction into structured data, use the [Data Extraction API getting-started guide](https://www.nutrient.io/guides/dws-data-extraction/getting-started.md).

### 4. IronPDF — HTML conversion specialist

**Commercial | Cross-platform**

IronPDF is a library specializing in HTML-to-PDF conversion using the Chromium engine. Test its rendering against your CSS, JavaScript, fonts, and pagination requirements.

**Key strengths:**

- **Chromium-based rendering** — This feature provides browser-grade HTML-to-PDF fidelity. According to the vendor documentation, it supports PDF/A (part 1b and part 2b) and PDF/UA-1 accessibility compliance.

- **Straightforward API** — The library provides a clean C# interface for HTML-to-PDF conversion.

- **Cross-platform deployment** — The library supports deployment on Windows, Linux, and macOS, and it’s compatible with Docker and cloud-based environments.

**Limitations:**

- IronPDF has limited PDF manipulation capabilities beyond HTML-to-PDF conversion. It supports merging, splitting, form filling, and adding headers and footers, but it lacks the low-level PDF editing of libraries like iText or Aspose.

**Best for:** Converting webpages, HTML reports, and other web content to PDF with accurate CSS rendering.

### 5. Syncfusion PDF — Enterprise workhorse

**Commercial; community license for qualifying small teams | Cross-platform**

Syncfusion PDF is part of the larger Essential Studio suite, which provides consistent API patterns across user interface controls and document processing components.

**Key strengths:**

- **Full compliance support** — Syncfusion provides full support for PDF/A (including A-4, A-4e, and A-4f) and PDF/UA accessibility standards, with documented examples for implementation.

- **Integrated ecosystem** — The library integrates with Syncfusion user interface components and supports HTML-to-PDF conversion using the Blink rendering engine.

**Deployment check:** Confirm which PDF, HTML conversion, and UI packages your application needs and review their licensing terms.

**Best for:** Enterprise applications, high-volume PDF processing, existing Syncfusion users, and comprehensive user interface component integration.

### 6. Aspose.PDF — Feature-complete but complex

**Commercial | Cross-platform**

Aspose.PDF provides APIs for PDF creation, manipulation, and format conversion. Check the specific input and output formats required by your workflow.

**Key strengths:**

- **Format conversion** — It converts between PDF and dozens of other formats.

- **Edge case handling** — The library can process problematic or corrupted PDF files that may cause other libraries to fail.

**Limitations:**

- Aspose.PDF has high licensing costs, which may be prohibitive for smaller organizations.

- Its complex API architecture requires verbose code and significant boilerplate for simple operations.

**Best for:** Complex enterprise scenarios, comprehensive PDF manipulation, handling edge cases, and organizations with larger budgets.

### 7. PDFsharp — Open source foundation

**MIT license | Popular open source | Cross-platform**

PDFsharp is a lightweight and completely free PDF generation library distributed under the MIT license. It provides a foundation for basic PDF needs without usage restrictions, revenue limits, or hidden costs.

**Key strengths:**

- **Completely free MIT license** — The library is distributed under the MIT license with no usage restrictions or revenue limits.

- **MigraDoc integration** — The library integrates with MigraDoc to provide advanced document layout, including automatic page breaks and structured document creation.

**Limitations:**

- PDFsharp has a basic feature set and lacks advanced capabilities such as optical character recognition, artificial intelligence processing, or comprehensive text extraction.

- Community resources include forums and documentation; [professional support is also available](https://docs.pdfsharp.net/General/Overview/FAQ.html). Check support terms for your project.

**Best for:** Budget-conscious projects, simple PDF generation, learning purposes, open source compliance requirements, and lightweight deployment needs.

**TL;DR**

- [How to manipulate PDFs using.NET](https://www.nutrient.io/blog/how-to-manipulate-pdfs-using-dotnet/)

- [How to generate a PDF in Blazor](https://www.nutrient.io/blog/how-to-generate-a-pdf-in-blazor/)

- [How to edit PDFs using Blazor](https://www.nutrient.io/blog/how-to-edit-pdfs-using-blazor/)

- [How to edit a PDF programmatically in C#](https://www.nutrient.io/blog/how-to-edit-a-pdf-programmatically-c-sharp/)

## Feature comparison of C# PDF libraries

Use the decision matrix above to build a shortlist. Then verify the exact operation in each vendor’s current documentation.

### Evaluate advanced capabilities separately

For OCR, structured extraction, PDF/A, PDF/UA, and document comparison, check the specific API and licensed component rather than relying on a general feature checkmark. PDF/A describes archival conformance; PDF/UA concerns accessibility. Neither is a substitute for the other.

Use the [Nutrient file-format list](https://www.nutrient.io/guides/dotnet/about/file-type-support.md) to confirm supported inputs and outputs. For HTML conversion specifically, read the [C# HTML-to-PDF method guide](https://www.nutrient.io/blog/how-to-convert-html-to-pdf-using-wkhtmltopdf-and-csharp.md) and compare how each renderer handles your CSS, fonts, and page breaks.

## Which C# PDF library should you actually use?

These recommendations match each C# PDF library to specific project needs, such as document generation, OCR, compliance, or budget.

### Pick Nutrient.NET SDK when

- You require OCR for processing real-world scanned documents.

- AI-powered data extraction can help save significant development time.

- Your project demands accessibility compliance, such as for government contracts.

- You have a budget available for enterprise-level support.

- You’re processing complex forms or legal documents.

### Pick IronPDF when

- Your primary requirement is HTML-to-PDF conversion.

- You want a solution that requires minimal configuration.

- Accurate rendering using the Chrome engine is necessary.

- You have a limited budget but still need commercial support.

### Pick Syncfusion when

- You need reliable PDF generation for your application.

- You qualify for the free community license.

- Your project already uses Syncfusion UI components.

- You require processing of Office documents in addition to PDFs.

### Pick Aspose.PDF when

- You need comprehensive PDF capabilities for your project.

- You’re performing complex manipulations such as form merging or page extraction.

- Your application must comply with strict standards, including PDF/A-3b.

- You have the budget available for a premium solution.

### Pick QuestPDF when

- You’re building PDFs programmatically without using templates.

- Your organization qualifies for the appropriate QuestPDF license.

- You prefer a fluent API design for creating documents.

- Your documents follow a consistent and predictable structure.

### Pick iText Core when

- You require comprehensive PDF manipulation capabilities.

- Your project involves complex form processing requirements.

- Your budget covers commercial licensing.

### Pick PDFsharp when

- You have a tight budget and need a completely free solution.

- Your requirements are limited to simple PDF generation.

- You’re learning PDF concepts and development.

- Open source licensing is required for your project.

- You need a lightweight library for deployment in constrained environments.

### Test a shortlist with your documents

Choose two or three libraries that meet your required operations and deployment constraints. Test output quality, error handling, runtime memory use, and the exact PDF/A or PDF/UA level you need. Keep the input files and configuration so the comparison can be repeated after upgrades.

[Evaluate Nutrient.NET SDK](https://www.nutrient.io/sdk/dotnet/getting-started.md) with your documents, or [discuss your requirements](https://www.nutrient.io/contact-sales/) with our team.

## FAQ

#### How do I choose a C# PDF library for.NET?

Start with the operations you need. Then check deployment support and licensing. Creating an invoice from data, converting HTML, editing an existing PDF, and processing a scan are different workloads. Test the candidates with representative files.

#### Does PDF generation automatically produce PDF/UA?

No. Check the library’s supported conformance version and the requirements for tagged content. Use a validation workflow and review reading order and content semantics. Nutrient’s [PDF/UA guides](https://www.nutrient.io/guides/dotnet/pdfua.md) cover conversion and PDF/UA-1 validation.

#### Does QuestPDF support PDF/A and PDF/UA?

QuestPDF documents configuration settings for both standards. Consult its [document settings](https://www.questpdf.com/concepts/document-settings.html) for the available options in your version, and validate your generated output.

#### How should I compare performance on large documents?

Use the same inputs and deployment resources for each candidate. Record conversion time, peak memory, concurrency, failures, and output quality. This article doesn’t provide a reproducible benchmark or claim a measured performance winner.
---

## 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)
- [Azure Document Intelligence Alternatives](/blog/azure-document-intelligence-alternatives.md)
- [Best Ai Document Workflow Platforms](/blog/best-ai-document-workflow-platforms.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 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)
- [Capex Vs Opex](/blog/capex-vs-opex.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 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)
- [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)
- [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 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 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)
- [Intelligent Data Extraction](/blog/intelligent-data-extraction.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)
- [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 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 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)
- [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 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)
- [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)

