Skip to content

ComposerChrisF/medpdf

Repository files navigation

medpdf workspace

A Rust workspace for medium-level PDF manipulation, built on lopdf.

Crates

Crate Description crates.io
medpdf Medium-level PDF API -- page copying, overlays, watermarks, font handling crates.io
medpdf-image Image embedding companion -- JPEG, PNG, SVG, and more crates.io
pdf-test-visual Visual regression testing utilities (internal, not published) --

Quick Start

[dependencies]
medpdf = "0.10.0"
medpdf-image = "0.4.1"  # if you need image embedding
use lopdf::Document;
use medpdf::{copy_page, create_blank_page, parse_page_spec, Result};

fn main() -> Result<()> {
    let source = Document::load("input.pdf")?;
    let mut dest = Document::with_version("1.5");

    let pages = parse_page_spec("1-3,5", source.get_pages().len() as u32)?;
    for page in pages {
        copy_page(&mut dest, &source, page)?;
    }

    create_blank_page(&mut dest, 612.0, 792.0)?;
    dest.save("output.pdf")?;
    Ok(())
}

See individual crate READMEs for detailed API documentation.

Building

cargo build --workspace
cargo test --workspace

License

Licensed under either of Apache License, Version 2.0 or MIT License at your option.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors