PDF SDK written in Rust: rendering, extraction, forms, PDF/A, signatures, redaction. Bindings for Rust, Python, Node.js, .NET, Java, C and WebAssembly. AGPL-3.0 or commercial.
https://pdfluent.com/sdk/ β HEALTH ? 88 / Healthy
PDF SDK written in Rust: rendering, extraction, forms, PDF/A, signatures, redaction. Bindings for Rust, Python, Node.js, .NET, Java, C and WebAssembly. AGPL-3.0 or commercial.
https://pdfluent.com/sdk/ β// readme
cargo add pdfluent # Rust
pip install pdfluent # Python and the pdfluent command
npm install @pdfluent/node # Node.js
docs/hero/, and both panels, and the picture itself, come out
of PDFluentβs own rasterizer. The generator refuses to write it if the redacted
text is still extractable or validate_pdfa() disagrees.
PDFluent 1.3.0 ranks above every engine on the published opendataloader-bench leaderboard (as of 3 November 2026)*.
Full tables, all four measures and how to reproduce
use pdfluent::prelude::*;
fn main() -> Result<()> {
let doc = PdfDocument::open("input.pdf")?;
for page in doc.pages() {
println!("{}", page.text()?);
}
let report = doc.validate_pdfa(PdfAProfile::A2b)?;
if report.is_compliant() {
println!("PDF/A-2B β");
}
Ok(())
}
QUICKSTART.md is the same five minutes in each language, andβ¦