---
title: "onepdf docs"
url: https://recursiveai.org/onepdf/docs/
description: "Everything about onepdf: getting started, extraction, editing and pages, forms and signatures, PDF/A and PDF/UA, layout and generation, migrating from…"
version: "1.11.0"
---

# onepdf docs

Everything about onepdf: getting started, extraction, editing and pages, forms and signatures, PDF/A and PDF/UA, layout and generation, migrating from PdfPig, PDFsharp and QuestPDF, and the reference.

## Start

- [Getting started](https://recursiveai.org/onepdf/docs/getting-started/index.md): Install OnePDF for .NET 10, read text with word positions, edit pages, fill a form, sign a PDF, and generate an invoice with OnePdf.Layout.

## Extraction

- [Text and reading order](https://recursiveai.org/onepdf/docs/text-layout/index.md): How glyphs become words, lines and blocks, and the parameters that decide it. The code is in src/OnePdf/Text/Extraction/; every number below is a constant…
- [Extraction JSON](https://recursiveai.org/onepdf/docs/extraction-json/index.md): The JSON form of text extraction: glyphs, words, lines and blocks per page. It is written by PdfExtractionJson (ToJson, Write) and is meant to be compared…

## Editing and pages

- [Page operations](https://recursiveai.org/onepdf/docs/page-operations/index.md): Reorder, delete, insert, rotate and duplicate pages of a document; copy pages from other documents; merge documents; split one into several. All of it…
- [Writing](https://recursiveai.org/onepdf/docs/writing/index.md): Documents open read-only by default. A document opened with PdfOpenOptions.AllowEditing = true can be changed and saved, in full or as an incremental update.
- [Content creation](https://recursiveai.org/onepdf/docs/content-creation/index.md): A document opened with PdfOpenOptions.AllowEditing, or made with PdfDocument.CreateEmpty, can have content drawn onto its pages. The same builder makes…
- [Redaction](https://recursiveai.org/onepdf/docs/redaction/index.md): PdfDocument.Redact removes what is drawn inside given areas of a page: the glyphs, the vector paths, the image samples, the annotations and form values…

## Forms and signatures

- [Forms](https://recursiveai.org/onepdf/docs/forms/index.md): Documents opened with PdfOpenOptions.AllowEditing = true can have their form fields filled and their annotations baked into the page. Both work with Save…
- [Appearance generation](https://recursiveai.org/onepdf/docs/appearance-generation/index.md): When an annotation has no usable normal appearance, page.Interpret builds one in memory and draws it through the same path as a stored /AP (ISO 32000-2…
- [Signature verification](https://recursiveai.org/onepdf/docs/signatures/index.md): OnePDF reads the signatures in a PDF as data and checks them. It never runs anything in the file and never touches a network: no certificate downloads, no…

## PDF/A and PDF/UA

- [PDF/A](https://recursiveai.org/onepdf/docs/pdfa/index.md): OnePDF writes PDF/A-2b, 2u, 2a, 3b, 3u and 3a (ISO 19005-2 and -3, on ISO 32000-1) from a full save, and checks documents against the requirements it can…
- [PDF/UA and PDF/A level A](https://recursiveai.org/onepdf/docs/pdfua/index.md): OnePDF can write PDF/UA-1 (ISO 14289-1), PDF/UA-2 (ISO 14289-2, on PDF 2.0; see PDF/UA-2) and PDF/A-2a / 3a (ISO 19005-2 and -3, level A: tagged), alone…
- [Tagging existing PDFs](https://recursiveai.org/onepdf/docs/tagging/index.md): There are two layers. The happy path (PdfDocument.Tag) covers the common case: you say what each block is, OnePDF builds the structure the way the rules…

## Layout and generation

- [Layout](https://recursiveai.org/onepdf/docs/layout/index.md): OnePdf.Layout generates documents from code: you describe pages with nested delegates, it lays them out (shaped text, tables, lists, images, headers and…
- [Layout text](https://recursiveai.org/onepdf/docs/layout-text/index.md): The rules as built. The engine turns styled inline text into lines and draws them; it does not depend on the element tree (src/OnePdf.Layout/Paragraphs/)…
- [SVG in layout](https://recursiveai.org/onepdf/docs/layout-svg/index.md): RecursiveAI.OnePdf.Layout draws SVG as native PDF vector content: paths, fills, strokes, shadings, clips, soft masks and real text. Nothing is rasterised…
- [PDF fonts](https://recursiveai.org/onepdf/docs/pdf-fonts/index.md): How a font dictionary becomes glyphs. Code: src/OnePdf/Text/Fonts/. The font programs, CMaps and encodings underneath are in FontPrograms/ and FontData/.

## Migrating

- [From PdfPig](https://recursiveai.org/onepdf/docs/migrating-from-pdfpig/index.md): This maps the PdfPig calls most programs use to their OnePDF equivalents. It is based on PdfPig's public documentation and README; check its docs for…
- [From PDFsharp](https://recursiveai.org/onepdf/docs/migrating-from-pdfsharp/index.md): This maps the PDFsharp calls most programs use to their OnePDF equivalents for opening, reading, changing, saving and page operations. It is based on…
- [From QuestPDF](https://recursiveai.org/onepdf/docs/migrating-from-questpdf/index.md): OnePdf.Layout generates documents from code in the same style as QuestPDF: you describe pages with nested delegates, chain decorators on a place that…

## Reference

- [Reading and repair rules](https://recursiveai.org/onepdf/docs/repair/index.md): How OnePDF opens a file, and what it does when the file is damaged. Every repair adds a PdfDiagnostic (severity Warning, with object number and offset…
- [Display-list text format](https://recursiveai.org/onepdf/docs/display-list-format/index.md): The text form of a PdfDisplayList (or of any interpretation, written straight from the interpreter). It is used for snapshot tests and is meant to be…
- [Changelog](https://recursiveai.org/onepdf/docs/changelog/index.md): All notable changes are listed here. The format follows Keep a Changelog and versions follow Semantic Versioning.

## Cookbook

- [All recipes](https://recursiveai.org/onepdf/cookbook/index.md): 15 short, task-first recipes with complete code.
