easypdf 0.1.1

Easy PDF manipulation library for Rust — builder API for creating, reading, manipulating, and filling PDFs
Documentation
[package]
name = "easypdf"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
readme.workspace = true
description = "Easy PDF manipulation library for Rust — builder API for creating, reading, manipulating, and filling PDFs"
keywords.workspace = true
categories.workspace = true

[dependencies]
# --- Mandatory crates ---
easypdf-core.workspace = true
easypdf-derive.workspace = true
easypdf-reader.workspace = true
easypdf-writer.workspace = true

# --- Optional crates ---
easypdf-markdown = { workspace = true, optional = true }
easypdf-ocr = { workspace = true, optional = true }
easypdf-runtime = { workspace = true, optional = true }

[features]
default = ["markdown"]
html = ["printpdf/html"]

# --- Markdown pipeline ---
markdown = ["dep:easypdf-markdown"]
markdown-table = ["markdown"]
markdown-ocr = ["markdown"]

# --- OCR engines ---
ocr = ["dep:easypdf-ocr", "markdown"]

# --- Rendering ---
render = ["markdown"]

# --- Runtime (MCP + Resident) ---
runtime = ["dep:easypdf-runtime"]
mcp = ["runtime", "easypdf-runtime/mcp"]
resident = ["runtime", "easypdf-runtime/resident"]

# --- Full (everything available) ---
full = ["markdown-table", "ocr", "render", "mcp", "resident"]

# --- Backward-compatible aliases ---
markdown-ocr-http-base = ["ocr"]

[dependencies.printpdf]
workspace = true
optional = true

[[example]]
name = "pdf_to_markdown"
path = "examples/pdf_to_markdown.rs"
required-features = ["markdown"]

[[example]]
name = "markdown_pipeline"
path = "examples/markdown_pipeline.rs"
required-features = ["markdown"]

[dev-dependencies]
tempfile.workspace = true