use pdfluent::prelude::*;
pub fn run(src: &std::path::Path, out: &std::path::Path) -> Result<CompressReport> {
let mut doc = PdfDocument::open(src)?;
let report = doc.compress(CompressOptions::strict())?;
doc.save_with(out, SaveOptions::new().with_overwrite(true))?;
Ok(report)
}
#[test]
fn compress_pdf_rust_compiles() {
let _f: fn(&std::path::Path, &std::path::Path) -> Result<CompressReport> = run;
}
#[test]
fn compress_pdf_rust_runs() {
let out = std::env::temp_dir().join("pdfluent-web-example-compressed.pdf");
let _ = std::fs::remove_file(&out);
let report =
run(std::path::Path::new("tests/fixtures/sample.pdf"), &out).expect("compress pipeline");
assert!(report.font_subset.is_some());
assert!(out.exists());
let _ = std::fs::remove_file(&out);
}