use pdfluent::prelude::*;
pub fn run(src: &std::path::Path, pattern: &std::path::Path) -> Result<ToImagesReport> {
let doc = PdfDocument::open_with(
src,
pdfluent::OpenOptions::new().with_license_key("tier:team"),
)?;
doc.to_images(
pattern,
ToImagesOptions::new()
.with_dpi(150)
.with_format(ImageFormat::Jpeg),
)
}
#[test]
fn render_pdf_to_jpeg_rust_compiles() {
let _f: fn(&std::path::Path, &std::path::Path) -> Result<ToImagesReport> = run;
}
#[cfg(not(target_arch = "wasm32"))]
#[test]
fn render_pdf_to_jpeg_rust_runs() {
let dir = std::env::temp_dir().join("pdfluent-web-example-render_jpeg");
let _ = std::fs::remove_dir_all(&dir);
std::fs::create_dir_all(&dir).expect("mkdir");
let pattern = dir.join("page_{page}.jpg");
let report =
run(std::path::Path::new("tests/fixtures/sample.pdf"), &pattern).expect("to_images jpeg");
assert!(!report.paths.is_empty());
let bytes = std::fs::read(&report.paths[0]).expect("read");
assert_eq!(&bytes[..2], &[0xFF, 0xD8]);
let _ = std::fs::remove_dir_all(&dir);
}