crates.io · pdfluent

Rust PDF SDK

A pure-Rust PDF library for processing, rendering, signing, and converting PDF documents. Ships today as a Cargo crate under the PDFluent Commercial License. Python and Node.js bindings are in beta. WASM target is experimental. Free for evaluation; production use requires a license.

Installation

Add via cargo:

$cargo add pdfluent

Or edit Cargo.toml directly:

toml
[dependencies]
pdfluent = "1"

Enable optional feature flags (XFA, signatures, OCR, etc.):

toml
[dependencies]
pdfluent = { version = "1", features = ["xfa", "signatures"] }

Quick example

Extract all text from a PDF in five lines:

rust
use pdfluent::PdfDocument;

fn main() -> pdfluent::Result<()> {
    let doc = PdfDocument::from_file("invoice.pdf")?;
    let text = doc.pages().iter()
        .flat_map(|p| p.extract_text())
        .collect::<Vec<_>>()
        .join("\n");
    println!("{text}");
    Ok(())
}

See the full API reference for forms, signatures, rendering, PDF/A conversion, and more.

What's included

AcroForms (production-grade)
XFA form processing — experimental, under active development
PDF/A validation and conversion
AES-256 encryption and digital signatures (PAdES B-LT/B-LTA)
Text extraction and page rendering
WASM target — experimental
Python, Node.js bindings — coming soon
No runtime dependencies — pure Rust
Offline licence validation — no phone-home

Same feature set across all licence tiers. Tiers differ on developer count and the number of products you ship — not on which SDK capabilities you can use. Full feature list →

Licensing

PDFluent uses an offline, signed-file licence. Three modes — pick what fits your stage.

Default

Evaluation (no key)

Use the SDK with no configuration. All features work. Output PDF files are stamped with a Producer watermark.

Free

30-day free trial

Request a signed trial licence. No credit card. The watermark is removed and you get full, clean output for 30 days.

Start 30-day trial →
Perpetual

Paid licence

Pay once, own that version forever. Four tiers based on team size and the number of products you ship — from a solo developer to an unlimited OEM.

View pricing →

The licence key is a signed JSON file. The SDK validates it locally at startup — no network call, no licence server, works air-gapped. Pricing →

Targets & bindings

We are honest about what is shipping today. Rust is live on crates.io. The other bindings are being tracked toward release.

Rust (native)Available — Beta
cargo add pdfluent
Details →
PythonBeta
pip install pdfluent
Details →
WASM / JavaScriptBeta
npm install @pdfluent/sdk-wasm
Details →
.NETBeta
dotnet add package PDFluent
Details →
JavaBeta
com.pdfluent:pdfluent:1.0.0-beta.6
Details →
C APIInternal
Used by language bindings; not separately distributed yet

Documentation·Pricing·Request trial key

Start building today

Full SDK, no watermarks, no credit card. 30-day free trial delivered instantly by email.