Expand description
§PDFluent — Pure-Rust PDF SDK
pdfluent is the public API for the PDFluent SDK. It provides a single,
coherent entry point for PDF manipulation: loading, editing, rendering,
merging, signing, encryption, redaction, PDF/A compliance, and more.
§Quick start
use pdfluent::prelude::*;
fn main() -> Result<()> {
let mut doc = PdfDocument::open("invoice.pdf")?;
doc.metadata_mut()
.set_title("Processed Invoice")
.commit()?;
{
let mut form = doc.form_mut();
form.set_text("invoice_number", "INV-2026-0042")?
.set_checkbox("paid", true)?;
}
doc.compress(CompressOptions::strict())?;
doc.save("invoice-processed.pdf")?;
Ok(())
}§Licensing
Provide a license key via any of (highest precedence first):
OpenOptions::with_license_key— per-document override.license::set_license_key— process-global.PDFLUENT_LICENSE_KEYenvironment variable.
Without a license the SDK runs in Tier::Trial mode: all capabilities
accessible, output marked via /Producer metadata.
§Design foundation
The public API is frozen per RFC 0001 (see docs/rfc/0001-sdk-core-api.md).
Breaking changes require a new RFC.
Re-exports§
pub use crate::capability::Capability;pub use crate::capability::CapabilitySet;pub use crate::compliance::PdfAProfile;pub use crate::compliance::PdfAValidationReport;pub use crate::compliance::Violation;pub use crate::decoration::PageDecoration;pub use crate::document::OpenOptions;pub use crate::document::Page;pub use crate::document::Pages;pub use crate::document::PdfDocument;pub use crate::document::PdfVersion;pub use crate::document::SaveOptions;pub use crate::document::TextBlock;pub use crate::encrypt::EncryptOptions;pub use crate::encrypt::EncryptionAlgorithm;pub use crate::encrypt::Permissions;pub use crate::error::Error;pub use crate::error::Result;pub use crate::form::FieldType;pub use crate::form::FormField;pub use crate::form::PdfFormMut;pub use crate::license::license_info;pub use crate::license::set_license_key;pub use crate::license::LicenseInfo;pub use crate::merger::BookmarkMergeStrategy;pub use crate::merger::MergeOptions;pub use crate::merger::PdfMerger;pub use crate::metadata::Metadata;pub use crate::metadata::MetadataMut;pub use crate::parity::CompressOptions;pub use crate::parity::CompressReport;pub use crate::parity::FontSubsetReport;pub use crate::parity::ImageFormat;pub use crate::parity::ImageInsert;pub use crate::parity::ImageInsertReport;pub use crate::parity::InsertImageFormat;pub use crate::parity::ToImagesOptions;pub use crate::parity::ToImagesReport;pub use crate::redact::RedactOptions;pub use crate::signer::PadesProfile;pub use crate::signer::PdfSigner;pub use crate::signer::Pkcs12Signer;pub use crate::signer::SignOptions;pub use crate::signer::SignatureInfo;pub use crate::signer::SignatureStatus;pub use crate::signer::SignatureValidation;pub use crate::signer::SignatureValidationReport;pub use crate::tier::Tier;pub use crate::watermark::Layer;pub use crate::watermark::Position;pub use crate::watermark::Rotation;pub use crate::watermark::WatermarkOptions;
Modules§
- async_
io async-tokio - Async I/O wrappers via Tokio’s blocking pool. Async I/O wrappers built on Tokio.
- capability
- Capability enumeration.
- compliance
- PDF/A compliance types.
- decoration
- Unified page-decoration surface (Epic 3 #1225).
- document
PdfDocumentand lifecycle types.- encrypt
- Encryption, decryption, and permissions.
- error
- Error types for
pdfluent. - form
- Form field reading and mutation.
- license
- License provisioning and capability enforcement.
- merger
PdfMerger— factory builder for merging multiple PDF documents.- metadata
- Document metadata (Info dict + XMP).
- parity
- Options and reports for Epic 3 #1224 parity methods.
- prelude
- Convenient re-exports for common
pdfluentusage. - redact
- Redaction options.
- signer
- Digital signature types.
- tier
- License tiers and the tier → capability mapping.
- watermark
- Watermarking options.
Functions§
- api_
version - The SDK version at compile time. Bindings check this at runtime to ensure
compatibility with the loaded
pdfluentdynamic library.