Install
One command. The package is on NuGet today.
dotnet add package PDFluent --version 1.1.0Smoke test
Open a PDF, print the page count. The example below is the smallest useful program — copy, paste, run.
using PDFluent;
using var doc = PdfDocument.Open("invoice.pdf");
Console.WriteLine($"{doc.PageCount} pages");Structured extraction (Preview)
PreviewIn .NET, structured extraction returns Markdown from doc.ExtractMarkdown, blocks as a JSON string from doc.ExtractBlocks, and Docling JSON from ExtractDocling. Structured extraction ships as Preview: output quality is still improving and the API may change in a minor release.
- Markdown:
doc.ExtractMarkdown(firstPage, pageCount). - Blocks:
doc.ExtractBlocks(...)returns a JSON string. - Docling JSON:
ExtractDocling(firstPage, pageCount, name). - Image extraction is available.
What this is good for
- C# and F# applications on .NET 6 and newer
- Existing .NET document-processing pipelines
- On-premise enterprise back-office workloads
Current limitations
This list is honest, not exhaustive. The site-wide list lives at Known limitations.
- Pin the package version for reproducible builds.
- XFA rendering fidelity is improving alongside the Rust core.
- Native binaries currently ship for common runtimes; some less common RIDs may need a build step.
Licensing
PDFluent is published under the AGPLv3 and is complete under it. A yearly commercial licence removes the obligation to publish your own source; nothing in the build differs and nothing is activated, so a lapsed licence breaks nothing you have shipped. Details on the licensing page.