pdfrs 0.1.4

A CLI tool to read/write PDFs and convert to/from markdown
Documentation
use pdfrs::optimization::{optimize_pdf_bytes, OptimizationProfile};
use std::fs;

fn main() -> anyhow::Result<()> {
    let input_path = "examples/output/basic.pdf";
    let output_path = "examples/output/optimized_web.pdf";

    let pdf_data = fs::read(input_path)?;
    let original_size = pdf_data.len();

    let settings = OptimizationProfile::Web.settings();
    let optimized = optimize_pdf_bytes(&pdf_data, settings)?;

    fs::write(output_path, &optimized)?;

    let new_size = optimized.len();
    let savings = if original_size > 0 {
        ((original_size - new_size) as f64 / original_size as f64) * 100.0
    } else {
        0.0
    };

    println!(
        "Optimized {} -> {} ({} bytes -> {} bytes, {:.1}% reduction)",
        input_path,
        output_path,
        original_size,
        new_size,
        savings
    );
    Ok(())
}