Rewrite org card: brand line, proof points with footnotes, links
Browse files
README.md
CHANGED
|
@@ -5,33 +5,80 @@ colorFrom: gray
|
|
| 5 |
colorTo: gray
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
# PDFluent
|
| 11 |
|
| 12 |
-
PDFluent
|
| 13 |
|
| 14 |
-
|
| 15 |
-
- PDFluent SDK: pure Rust with bindings for Python, Node, WASM, Java, .NET.
|
| 16 |
-
- SDK extracts text, headings, tables, lists, and reading order for RAG and LLM pipelines.
|
| 17 |
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
-
|
| 21 |
|
| 22 |
-
|
| 23 |
-
- Dataset: [PDF document layout ground truth](https://huggingface.co/datasets/PDFluent/pdf-document-layout-ground-truth)
|
| 24 |
-
- Collection: [PDFluent document AI](https://huggingface.co/collections/PDFluent/pdfluent-document-ai-6ae99736adab8c6d90781ab5)
|
| 25 |
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
-
|
| 29 |
|
| 30 |
```bash
|
| 31 |
pip install pdfluent
|
| 32 |
```
|
| 33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
- Website: https://pdfluent.com
|
| 35 |
- Documentation: https://pdfluent.com/docs
|
|
|
|
|
|
|
| 36 |
- Licence: https://pdfluent.com/license
|
| 37 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
colorTo: gray
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
short_description: PDF to Markdown, document parsing and RAG, inside your app
|
| 9 |
+
tags:
|
| 10 |
+
- pdf
|
| 11 |
+
- pdf-to-markdown
|
| 12 |
+
- document-parsing
|
| 13 |
+
- rag
|
| 14 |
---
|
| 15 |
|
| 16 |
+
# PDFluent: PDF to Markdown, document parsing and RAG in your own app
|
| 17 |
|
| 18 |
+
PDFluent, the document engine you can run anywhere.
|
| 19 |
|
| 20 |
+
PDFluent gives you PDF parsing and extraction that runs inside your app, on your machine. It is for developers building RAG, agents and document automation. Turn PDFs into Markdown for your RAG pipeline, redact content or fill XFA forms. PDFluent SDK 1.3.0 scores the highest overall on opendataloader-bench of the engines on its public leaderboard*.
|
|
|
|
|
|
|
| 21 |
|
| 22 |
+
\* Measured with the benchmark's own harness and evaluator on its 200 documents, PDFluent SDK 1.3.0, `quality="auto"` with `keep_furniture=True`, on Linux (CPU only), 29 October 2026: 0.9168 overall against 0.907 for opendataloader [hybrid], 0.885 for nutrient and 0.882 for docling. Competitor figures are taken from the benchmark's public README (read 2 November 2026), not re-run by us (our own re-run of opendataloader [hybrid] on 28 October 2026 gave 0.9068). PDFluent is not on that leaderboard; the results are submitted in a pull request: https://github.com/opendataloader-project/opendataloader-bench/pull/37. Development was optimised for this benchmark among its targets. The scores are measured on the benchmark's own 200 documents. The 19-measure result on our own held-out half and the separate checks are on pdfluent.com/benchmarks. The scores come from a release candidate wheel of 1.3.0 that reported version 1.2.0. Speed is not published. The run keeps page headers and footers, because the benchmark's ground truth counts them as content. The difference is one run without a confidence interval. Run from the PyPI 1.3.0 wheel on Apple M1 Pro, macOS 26.5 (2 November 2026), the same benchmark gives 0.9154 overall.
|
| 23 |
+
|
| 24 |
+
## Why PDFluent
|
| 25 |
+
|
| 26 |
+
### Highest overall score
|
| 27 |
+
|
| 28 |
+
PDFluent SDK 1.3.0 has the highest overall and on 2 of the 3 measures (reading order, headings), second on table structure, on opendataloader-bench.
|
| 29 |
+
|
| 30 |
+
### Highest average, 19 measures
|
| 31 |
+
|
| 32 |
+
Highest average score across 19 extraction measures*, against Docling 2.126.0 and pymupdf4llm 1.28.2.
|
| 33 |
+
|
| 34 |
+
\* Balanced tier with the table model (Preview), on our own held-out half of four public datasets, 17 October 2026: average 0.721 for PDFluent, 0.693 for pymupdf4llm, 0.672 for Docling. The table model was trained on the source datasets of two of them (PubTables-1M, FinTabNet) and most of those held-out pages are in their training split. On the 13 measures without that overlap the ranking is the same (0.650, 0.642, 0.610). Details: pdfluent.com/blog/sdk-1-2-0 and pdfluent.com/benchmarks. PyMuPDF and MuPDF are trademarks of Artifex Software, Inc. PDFluent is an independent product of Innovation Trigger B.V. and is not affiliated with or endorsed by Artifex.
|
| 35 |
+
|
| 36 |
+
### Written in Rust
|
| 37 |
+
|
| 38 |
+
The SDK is written in Rust. The default build has no system libraries to install and nothing to bundle.
|
| 39 |
|
| 40 |
+
Rust build, redaction and XFA filling checked on SDK 1.2.0, 21 October 2026. Redaction describes the SDK, not the desktop editor. XFA filling was shown on a synthetic XFA form, not on real-world forms.
|
| 41 |
|
| 42 |
+
## What you get
|
|
|
|
|
|
|
| 43 |
|
| 44 |
+
- Extract text, headings, tables, lists and reading order for RAG and LLM pipelines.
|
| 45 |
+
- Redact by removing content from the file, not covering it.
|
| 46 |
+
- Fill XFA forms and flatten them to regular PDFs.
|
| 47 |
+
- Use bindings for Python, Node, Rust, Java, .NET and WASM.
|
| 48 |
+
- Edit PDFs with the free desktop editor, including for commercial use: no licence key, no trial, no tier and no subscription.
|
| 49 |
|
| 50 |
+
## Use it in two lines
|
| 51 |
|
| 52 |
```bash
|
| 53 |
pip install pdfluent
|
| 54 |
```
|
| 55 |
|
| 56 |
+
```python
|
| 57 |
+
import pdfluent; print(pdfluent.open("report.pdf").extract_markdown())
|
| 58 |
+
```
|
| 59 |
+
|
| 60 |
+
## On Hugging Face
|
| 61 |
+
|
| 62 |
+
- [Formula recognition (ONNX)](https://huggingface.co/PDFluent/formula-recognition-onnx): math formula images to LaTeX.
|
| 63 |
+
- [PDF heading level classifier](https://huggingface.co/PDFluent/pdf-heading-level-classifier): heading levels 1 to 3 for PDF to Markdown.
|
| 64 |
+
- [PDF document layout ground truth](https://huggingface.co/datasets/PDFluent/pdf-document-layout-ground-truth): annotated pages for evaluating document parsing.
|
| 65 |
+
- [Collection: PDFluent document AI](https://huggingface.co/collections/PDFluent/pdfluent-document-ai-6ae99736adab8c6d90781ab5)
|
| 66 |
+
|
| 67 |
+
## Licence in plain words
|
| 68 |
+
|
| 69 |
+
The PDFluent SDK and both models are licensed AGPL-3.0-only or the PDFluent Commercial Licence at your option. The document layout dataset annotations are CC BY 4.0 and free for commercial use with attribution. Details at https://pdfluent.com/license.
|
| 70 |
+
|
| 71 |
+
## Start with PDFluent
|
| 72 |
+
|
| 73 |
+
Run pip install pdfluent, point it at your PDFs and see the Markdown it produces. The docs are at pdfluent.com/docs and the code at github.com/pdfluent/pdfluent-sdk is open for you to read.
|
| 74 |
+
|
| 75 |
- Website: https://pdfluent.com
|
| 76 |
- Documentation: https://pdfluent.com/docs
|
| 77 |
+
- SDK on PyPI: https://pypi.org/project/pdfluent/
|
| 78 |
+
- SDK source and releases: https://github.com/pdfluent/pdfluent-sdk
|
| 79 |
- Licence: https://pdfluent.com/license
|
| 80 |
+
- Organisation: https://huggingface.co/PDFluent
|
| 81 |
+
- Formula recognition model: https://huggingface.co/PDFluent/formula-recognition-onnx
|
| 82 |
+
- Heading level classifier: https://huggingface.co/PDFluent/pdf-heading-level-classifier
|
| 83 |
+
- Layout ground-truth dataset: https://huggingface.co/datasets/PDFluent/pdf-document-layout-ground-truth
|
| 84 |
+
- Collection: https://huggingface.co/collections/PDFluent/pdfluent-document-ai-6ae99736adab8c6d90781ab5
|