Skip to content

Commit 0b4ea3a

Browse files
committed
feat(sdo-tests): add hayro
1 parent ac1ed90 commit 0b4ea3a

File tree

4 files changed

+281
-3
lines changed

4 files changed

+281
-3
lines changed

Cargo.lock

Lines changed: 248 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/sdo-tests/Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,6 @@ mupdf = { version = "0.5.0", default-features = false }
99
image = { version = "0.25.9", default-features = false, features = ["png"] }
1010
poppler-rs = { version = "0.25.0", default-features = false }
1111
cairo-rs = { version = "0.21.5", default-features = false, features = ["png"] }
12+
13+
[dependencies]
14+
hayro = { version = "0.4.0", default-features = false }

crates/sdo-tests/tests/hayro.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
use std::sync::Arc;
2+
3+
use hayro::{InterpreterSettings, Pdf, RenderSettings, render};
4+
5+
#[test]
6+
fn render_hayro() {
7+
let docs = sdo_tests::docs_path();
8+
let img = docs.join("img");
9+
10+
let path = img.join("PHYSIK.pdf");
11+
12+
let file = std::fs::read(path).unwrap();
13+
let scale = 5.0;
14+
15+
let data = Arc::new(file);
16+
let pdf = Pdf::new(data).unwrap();
17+
18+
let interpreter_settings = InterpreterSettings::default();
19+
20+
let render_settings = RenderSettings {
21+
x_scale: scale,
22+
y_scale: scale,
23+
..Default::default()
24+
};
25+
26+
let page = pdf.pages().iter().next().unwrap();
27+
let pixmap = render(page, &interpreter_settings, &render_settings);
28+
let save = img.join("physik-hayro.png");
29+
std::fs::write(save, pixmap.take_png()).unwrap();
30+
}

docs/img/physik-hayro.png

402 KB
Loading

0 commit comments

Comments
 (0)