use pdfluent::prelude::*;
fn tiny_jpeg_bytes() -> Vec<u8> {
std::fs::read("tests/fixtures/tiny_red.jpg").expect("fixture read")
}
pub fn run(src: &std::path::Path, out: &std::path::Path) -> Result<ImageInsertReport> {
let mut doc = PdfDocument::open(src)?;
let img = ImageInsert::new(
tiny_jpeg_bytes(),
InsertImageFormat::Jpeg,
1,
50.0,
50.0,
100.0,
100.0,
);
let report = doc.insert_image(img)?;
doc.save_with(out, SaveOptions::new().with_overwrite(true))?;
Ok(report)
}
#[test]
fn insert_image_pdf_rust_compiles() {
let _f: fn(&std::path::Path, &std::path::Path) -> Result<ImageInsertReport> = run;
}
#[test]
fn insert_image_pdf_rust_runs() {
let out = std::env::temp_dir().join("pdfluent-web-example-insert_image.pdf");
let _ = std::fs::remove_file(&out);
let report = run(std::path::Path::new("tests/fixtures/sample.pdf"), &out)
.expect("insert_image pipeline");
assert_eq!(report.pixel_width, 1);
assert_eq!(report.pixel_height, 1);
assert!(out.exists());
let _ = std::fs::remove_file(&out);
}