# PDF Processing

> Create, convert and read PDFs with ServerTextControl: passwords, PDF/A, PDF/UA, forms, attachments, metadata, watermarks, text extraction and validation.

- **Product:** TX Text Control .NET Server
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET Server > PDF Processing
- **989 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/llms-full.txt

---

Invoices sent to customers, contracts kept in an archive for decades, forms that come back filled in: many documents leave an application as PDF, and many arrive as PDF. TX Text Control .NET Server creates, converts and reads PDF documents on the server with `ServerTextControl`, without Adobe Acrobat or another PDF library. Beyond a first PDF, the tasks range from passwords and fonts to the PDF/A and PDF/UA standards, forms, attachments, metadata, watermarks, text extraction and validation.

The first PDF, an imported PDF and a signed PDF are built step by step in [Getting Started: PDF Processing](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/pdf/llms-full.txt). Signing is described in depth in [Digital Signatures](https://docs.textcontrol.com/tx-text-control-dotnet-server/digital-signatures/llms-full.txt).

### How TX Text Control Handles PDF

PDF is an output and an input format of the same document engine:

- **Saving.** A document that you create, load or merge is laid out in pages and saved with `StreamType.AdobePDF`, or with `StreamType.AdobePDFA` for archiving. Links, form fields and headers and footers become part of the PDF, and since version 34.0, every PDF carries the tagged structure that accessible documents need.
- **Loading.** A PDF loaded with `StreamType.AdobePDF` becomes a document that TX Text Control reconstructs from the pages. Your code reads its text with positions, its metadata, its form field values and its embedded files. PDF/A is a format for saving only.
- **Where it runs.** Text Control builds the PDF export itself. With the Core package `TXTextControl.TextControl.Core.SDK`, creating PDF documents works on Windows and Linux.

The settings for PDF documents are properties of `SaveSettings` and `LoadSettings`, which you pass to `Save` and `Load`. The elements of a document that end up in the PDF, such as tables, images or headers and footers, are described in [Document Processing](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-processing/llms-full.txt).

### Find the Right Page

| If you want to | Read |
|---|---|
| Protect a PDF with passwords and permissions, run JavaScript when it opens or control its fonts | [PDF Creation](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/creation/llms-full.txt) |
| Convert DOCX, HTML, XLSX or Markdown to PDF, or PDF documents to editable formats | [PDF Conversion](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/conversion/llms-full.txt) |
| Create documents for long-term archiving and electronic invoices | [PDF/A](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/pdf-a/llms-full.txt) |
| Give a PDF a title, headings and descriptions for screen readers | [PDF/UA](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/pdf-ua/llms-full.txt) |
| Create interactive forms, import and export their data or flatten them | [PDF Forms](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/llms-full.txt) |
| Embed files such as the XML of an electronic invoice and extract them again | [Attachments](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/attachments/llms-full.txt) |
| Read the text of a PDF page by page, search it or read a value from an area of a page | [Text Extraction](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/text-extraction/llms-full.txt) |
| Write and read the title, author, keywords and custom properties | [Document Metadata](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/metadata/llms-full.txt) |
| Put "DRAFT" or "CONFIDENTIAL" behind the text of every page | [Watermarks](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/watermarks/llms-full.txt) |
| Check PDF documents against PDF/UA and stop documents that fail | [PDF Validation](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/validation/llms-full.txt) |
| Sign PDF documents with a certificate | [Digital Signatures](https://docs.textcontrol.com/tx-text-control-dotnet-server/digital-signatures/llms-full.txt) |

### Where to Start

1. [Getting Started: PDF Processing](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/pdf/llms-full.txt): a first PDF, if you haven't created one with TX Text Control yet.
2. [PDF Creation](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/creation/llms-full.txt): what a PDF keeps from the document and how you protect it.
3. [PDF/A](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/pdf-a/llms-full.txt) or [PDF/UA](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/pdf-ua/llms-full.txt), when your documents must meet a standard. A document can comply with both.
4. [PDF Validation](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/validation/llms-full.txt): check the result before the documents leave your application.

### Related Sections

- [Digital Signatures](https://docs.textcontrol.com/tx-text-control-dotnet-server/digital-signatures/llms-full.txt): sign PDF documents, add timestamps and validate signatures.
- [Document Processing](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-processing/llms-full.txt): build and change documents before you save them as PDF.
- [Mail Merge and Reporting](https://docs.textcontrol.com/tx-text-control-dotnet-server/mail-merge/llms-full.txt): create PDF documents from templates and data.
- [Document Viewer](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-viewer/llms-full.txt): show PDF documents in the browser and let users fill in and sign them.

---

## In This Section

- [Attachments](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/attachments/llms-full.txt): Embed and extract files in PDF and PDF/A-3 with EmbeddedFile: MIME types and relationships, e-invoice XML, Attachments.GetFromFile and attachments on re-save.
- [PDF Conversion](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/conversion/llms-full.txt): Convert DOCX, HTML, XLSX and Markdown to PDF with ServerTextControl, change page formats and styles on the way and turn PDF documents into editable text.
- [PDF Creation](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/creation/llms-full.txt): Create PDFs with ServerTextControl: passwords and access permissions, document-level JavaScript, links and form fields, fonts, AdaptFont and email attachments.
- [PDF Forms](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/llms-full.txt): Work with interactive PDF forms in TX Text Control .NET Server: create AcroForms, import form data, export XFDF and flatten filled forms for archiving.
- [Document Metadata](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/metadata/llms-full.txt): Write, update and read the title, author, subject and keywords of PDFs with SaveSettings, LoadSettings and DocumentSettings, and custom properties in DOCX.
- [PDF/A](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/pdf-a/llms-full.txt): Create PDF/A-3a documents for long-term archiving with AdobePDFA: PDF/A levels, font embedding and AdaptFont, restrictions, e-invoices, PDF/UA and signatures.
- [PDF/UA](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/pdf-ua/llms-full.txt): Create accessible PDF/UA documents with tagged PDF: a document title, headings with structure levels, header rows and DescriptiveText for images and tables.
- [Text Extraction](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/text-extraction/llms-full.txt): Extract text from PDF documents with the Lines and ContentLine classes: text per page, regular expressions, values in an area, coordinates and ASP.NET Core.
- [PDF Validation](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/validation/llms-full.txt): Validate PDF/UA documents with the TXTextControl.PDF.Validation package: PdfUaValidator, report status and findings, JSON reports, encrypted and signed PDFs.
- [Watermarks](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/watermarks/llms-full.txt): Add image and text watermarks behind the text of every page with ServerTextControl: SVG images in headers, centering, first pages, sections and removal.

---

## Nearby

- **Previous:** [Template Assistant](https://docs.textcontrol.com/tx-text-control-dotnet-server/mail-merge/template-assistant/llms-full.txt)
- **Next:** [PDF Creation](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/creation/llms-full.txt)
