Solutions

PDF processing that never leaves your server.

PDFluent runs entirely in-process. No HTTP calls to external services, no telemetry, no license server checks at runtime. Your documents stay inside your infrastructure.

Code example

rust
use pdfluent::{Sdk, SdkOptions};

fn main() -> pdfluent::Result<()> {
    // All processing is in-process — no network calls at any point
    let sdk = Sdk::with_options(SdkOptions {
        license_key: Some(std::env::var("PDFLUENT_LICENSE_KEY").unwrap()),
        // No phone-home, no telemetry, no cloud dependency
        ..SdkOptions::default()
    })?;

    let doc = sdk.open("patient_record.pdf")?;

    // Process locally — document bytes never leave this machine
    let page_count = doc.page_count();
    let text = doc.extract_text()?;

    println!("Processed {} pages ({} chars) on-premise", page_count, text.len());

    // Redact sensitive fields before storing the result
    let redacted = doc.redact_by_pattern(r"\d{3}-\d{2}-\d{4}")?; // SSN pattern
    redacted.save("patient_record_redacted.pdf")?;

    Ok(())
}

Run cargo add pdfluent to get started.

What it does

Zero network calls at runtime

PDFluent is a pure Rust library. At runtime it makes no outbound HTTP requests. License validation uses a file-based key — no license server is contacted during document processing. You can verify this with a network monitor or in a strictly firewalled environment.

Air-gapped deployment

The Enterprise tier includes explicit support for air-gapped networks. The binary has no hard dependency on any external network resource. Deploy to a machine with no internet access and it works identically.

GDPR and data residency compliance

When you use a SaaS PDF API, your documents travel to a third-party server. With PDFluent, documents are processed in your own process on your own infrastructure. Data residency requirements — EU GDPR, Swiss DPA, HIPAA, FedRAMP — are met by default because no data leaves your environment.

Works in Docker, Kubernetes, AWS VPC

PDFluent runs anywhere a Rust binary runs. In an internal Kubernetes cluster with network egress disabled, on an AWS EC2 instance inside a private VPC with no NAT gateway, or on a bare-metal server with no internet route — the behavior is identical in all cases.

No per-document or per-page pricing

SaaS PDF APIs charge per page or per API call, which makes cost unpredictable at scale and exposes usage metadata to the vendor. PDFluent is licensed per deployment. Process one document or ten million — the cost does not change.

File-based perpetual licence fallback

The license is validated from a key file on startup. There is no recurring check against a remote validation server. If PDFluent is ever discontinued, the perpetual license clause in the Enterprise agreement lets you keep using the last released version.

Deployment options

On-premise Linux serversAir-gapped networksPrivate AWS VPC (no NAT)Docker (no-internet mode)Kubernetes (egress-restricted)Government and classified networksHealthcare systems (HIPAA)On-premise Windows Server

Frequently asked questions