A PDF editor and a PDF SDK on one Rust engine.
The engine is written in Rust with no C or C++ dependencies. The editor is free for everyone, including commercial use, and the SDK is AGPL-3.0 or commercially licensed.
The editor is free for everyone, including commercial use, with no account and no subscription. Documents are processed entirely on your device, and the only automatic network request is an update check you can switch off in Settings.
Download for macOS and Windows · Microsoft Store · Source · Licence
| Platform | Build |
|---|---|
| macOS | Universal binary (Apple Silicon and Intel), notarized |
| Windows | Installer, or the Microsoft Store |
The SDK is licensed under AGPL-3.0, or a commercial licence for anyone who cannot accept the AGPL's obligations. The commercial licence buys the right not to publish your source and unlocks no features; there is no licence key and every feature is in every build.
cargo add pdfluent # Rust
pip install pdfluent # Python
npm install @pdfluent/node # Node.js
npm install @pdfluent/sdk-wasm # Browser (WebAssembly)
dotnet add package PDFluent # .NETJava is com.pdfluent:pdfluent on Maven Central; C and C++ link against the C API.
use pdfluent::prelude::*;
let doc = PdfDocument::open("in.pdf")?;
for page in doc.pages() {
println!("{}", page.text()?);
}from pdfluent import Document
doc = Document("in.pdf")
for page in doc:
print(page.extract_text())const { openPdf } = require('@pdfluent/node');
const doc = openPdf('in.pdf');
console.log(doc.extractText(0));| Capability | Status |
|---|---|
| Text extraction with positions | Production |
| Rendering to PNG and JPEG (native bindings, not WebAssembly) | Production |
| AcroForm fill and flatten | Production |
| Digital signatures (PAdES B-B / B-T / B-LT) | Production |
| PDF/A validation and conversion (PDF/A-1b, 2b, 3b) | Production |
| Redaction that removes the content | Production |
| Merge, split, encryption | Production |
| XFA form flattening | Experimental |
→ Documentation · Cookbook · Examples · Source · Changelog · Commercial licence · How we benchmark
Ask questions in GitHub Discussions, in the Q&A category. Report bugs in the issue tracker of the repository the problem is in. Report security problems by email to security@pdfluent.com, never in a public issue.
| You want to | Go to |
|---|---|
| Ask about the SDK | SDK Discussions → Q&A |
| Ask about the editor | Editor Discussions |
| Show what you built | Discussions → Show and tell |
| Suggest a feature | Discussions → Ideas |
| Report an SDK bug | pdfluent-sdk issues |
| Report an editor bug | pdfluent issues |
| Report a vulnerability | security@pdfluent.com, see SECURITY.md |
| Buy a commercial licence | sales@pdfluent.com |
| Repository | What is in it |
|---|---|
pdfluent-sdk |
The engine and every language binding. AGPL-3.0 or commercial. |
pdfluent |
The desktop editor: Tauri, React and TypeScript. Source-available. |
examples |
Runnable SDK examples in Rust and the browser (WebAssembly). |
hayro |
Mirror of Laurenz Stampfl's pure-Rust PDF interpreter, which the rendering path builds on. |
.github |
This page, and the default issue forms, contributing guide and security policy. |
Built by Innovation Trigger B.V. · pdfluent.com