PDF Tools
Telerik Document Processing provides a set of fixed (PDF) document APIs exposing document processing capabilities (analysis, transformation, metadata extraction, and manipulation) optimized for consumption in agentic workflows within .NET AI applications.
Learn how to integrate the Agent Tools in your application: Getting Started with DPL Agent Tools.
Repositories
A repository is a place in memory where we keep the documents we currently work with. The available repositories for managing fixed (PDF) documents are:
| Repository | Description |
|---|---|
| IFixedDocumentRepository | Provides a unified interface for managing PDF (Fixed) documents. Extends IDocumentRepository with PDF-specific capabilities. |
| InMemoryFixedDocumentRepository | Repository for multi-document orchestration scenarios. Manages multiple PDF documents in memory with support for creation and import. |
Agent Tools
FixedDocumentFormAgentTools
Provides AI‑assistant–ready operations for inspecting and filling interactive form fields in PDF documents. It is built on top of the Telerik Documents AI Tooling framework and extends FixedDocumentAgentToolsBase to support workflows that involve:
- Reading PDF form structure and metadata
- Extracting field properties for analysis or downstream logic
- Filling form fields programmatically with user‑supplied values
- Saving new PDFs populated with partial or complete form data
This toolset enables intelligent agents, automation systems, and PDF‑processing pipelines to collaborate efficiently with interactive PDF forms.
| Tool | Signature | Description |
|---|---|---|
| GetPdfFormFields | CallToolResult GetPdfFormFields(
string documentId = null) |
Extracts detailed, read‑only metadata about all interactive form fields in a PDF. |
| FillPdfFormFields | CallToolResult FillPdfFormFields(
string documentId,
Dictionary |
Programmatically fills form fields and saves the completed form as a new PDF. Partial completion is supported—only supply the fields you want to set, and all others remain untouched for manual fill‑in later. |
FixedDocumentContentAgentTools
Provides high-level agent tools for creating and manipulating PDF document content via structured content segments. It is designed to add multiple, heterogeneous content types—text, images, tables, and document structure breaks—in a single operation, preserving content flow and layout consistency by using one RadFixedDocumentEditor instance under the hood.
| Tool | Signature | Description |
|---|---|---|
| AddContentSegmentsToPdf | CallToolResult AddContentSegmentsToPdf(
string documentId,
ContentSegment[] contentSegments) |
Adds multiple content segments to an existing PDF document as one cohesive operation. Intended for agent-driven or automation scenarios where the content is provided as an array of segment objects. |
FixedFileManagementAgentTools
Provides document lifecycle management tools for creating, listing, importing, and exporting fixed documents (PDFs). This agent tool sits on top of a repository abstraction and ensures fixed documents are discoverable and usable across tools. Export/import operations bridge between the in‑memory repository and the file system.
| Tool | Signature | Description |
|---|---|---|
| CreateFixedDocument | CallToolResult CreateFixedDocument(
string documentId) |
Creates a new, empty fixed document (PDF) in the repository and returns its document ID. The PDF is not written to disk until ExportFixedDocument is called. |
| ListFixedDocuments | CallToolResult ListFixedDocuments() |
Returns all fixed documents currently known to the repository, including document IDs and associated metadata. |
| ExportFixedDocument | CallToolResult ExportFixedDocument(
string filePath,
string documentId) |
Writes the specified repository document to the file system as a PDF. |
| ImportFixedDocument | CallToolResult ImportFixedDocument(
string filePath,
DocumentFormat format,
string documentName = null) |
Loads a document from the file system and registers it in the repository, returning the assigned document ID. |