Working code examples for the PDFluent SDK, a pure-Rust PDF SDK with XFA, PDF/A, digital signatures, and redaction, with bindings for Rust, Python, Node.js, WASM, .NET, and Java.
This repository currently has Rust examples and a browser/WASM demo. For the other languages, see the install snippets and docs linked below.
git clone https://github.com/pdfluent/examples
cd examples
cargo run --example text_extraction -- /path/to/your.pdf| Example | What it demonstrates |
|---|---|
text_extraction |
Open a PDF, extract all text, iterate page by page |
form_fill |
Fill AcroForm text fields and checkboxes, then flatten to static PDF |
merge_pdfs |
Merge multiple PDFs into one with a shared bookmark structure |
pdfa_validate |
Validate PDF/A-1b/2b/3b compliance, list violations |
redact_text |
Search-based redaction: find patterns and permanently remove them |
howto_compress_pdf |
Compress a PDF in Rust — the complete program from the guide, also shown in its video |
howto_encrypt_pdf |
Encrypt a PDF with a password in Rust — the complete program from the guide, also shown in its video |
howto_extract_text_by_page |
Extract text page by page from a PDF in Rust — the complete program from the guide, also shown in its video |
howto_extract_text_pdf |
Extract text from a PDF in Rust — the complete program from the guide, also shown in its video |
howto_read_pdf_metadata |
Read PDF metadata in Rust — the complete program from the guide, also shown in its video |
howto_write_pdf_metadata |
Write PDF metadata in Rust — the complete program from the guide, also shown in its video |
howto_generate_pdf_thumbnails |
Generate page thumbnails from a PDF in Rust — the complete program from the guide, also shown in its video |
howto_get_pdf_page_count |
Get the page count of a PDF in Rust — the complete program from the guide, also shown in its video |
howto_merge_pdfs |
Merge PDFs in Rust — the complete program from the guide, also shown in its video |
howto_render_pdf_to_jpeg |
Render PDF pages to JPEG images in Rust — the complete program from the guide, also shown in its video |
howto_render_pdf_to_png |
Render a PDF page to PNG in Rust — the complete program from the guide, also shown in its video |
wasm/index.html |
Open a PDF and extract its text entirely in the browser via @pdfluent/sdk-wasm — no server, no upload |
The howto_* examples are the programs from the how-to guides on pdfluent.com, byte for byte; each guide page links here and embeds the video in which the same code is typed and run.
All examples run against sample.pdf, a small public test document bundled in this repo.
Add to your Cargo.toml:
[dependencies]
pdfluent = "1.0.0-beta.17"Or with specific features:
[dependencies]
pdfluent = { version = "1.0.0-beta.17", features = ["signing", "pdfa", "redaction"] }The same engine is available outside Rust:
| Language | Package | Docs |
|---|---|---|
| Python | pdfluent on PyPI |
pdfluent.com/docs/python |
| Node.js | @pdfluent/node on npm |
pdfluent.com/docs |
| Browser / WASM | @pdfluent/sdk-wasm on npm |
pdfluent.com/docs/wasm |
| .NET | pdfluent on NuGet |
pdfluent.com/docs/dotnet |
| Java | com.pdfluent:pdfluent on Maven Central |
pdfluent.com/docs/java |
AGPL-3.0 or a commercial licence, at your option. The AGPL is the default and the complete product: there is no licence key, no activation call and no tier, every feature works in every build, and nothing marks the output. If you cannot accept the copyleft obligation, the commercial licence is sold yearly and self-service in four options: Commercial (per organisation), OEM Startup and OEM (per product), and Priority support (an add-on).
- Licence terms and prices: https://pdfluent.com/sdk/pricing
- Full docs: https://pdfluent.com/docs