fixed rendering
This commit is contained in:
parent
7c2749aefa
commit
c8003a57cb
@ -19,7 +19,6 @@
|
|||||||
"@tauri-apps/plugin-dialog": "~2",
|
"@tauri-apps/plugin-dialog": "~2",
|
||||||
"@tauri-apps/plugin-fs": "~2",
|
"@tauri-apps/plugin-fs": "~2",
|
||||||
"@tauri-apps/plugin-opener": "^2",
|
"@tauri-apps/plugin-opener": "^2",
|
||||||
"@tauri-apps/plugin-websocket": "~2",
|
|
||||||
"async-mutex": "^0.5.0",
|
"async-mutex": "^0.5.0",
|
||||||
"flowbite-svelte": "^0.47.4",
|
"flowbite-svelte": "^0.47.4",
|
||||||
"flowbite-svelte-icons": "^2.0.2",
|
"flowbite-svelte-icons": "^2.0.2",
|
||||||
|
|||||||
1136
src-tauri/Cargo.lock
generated
1136
src-tauri/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,6 @@ edition = "2021"
|
|||||||
name = "pdf_forge_lib"
|
name = "pdf_forge_lib"
|
||||||
crate-type = ["staticlib", "cdylib", "rlib"]
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
||||||
|
|
||||||
[render]
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
tauri-build = { version = "2", features = [] }
|
tauri-build = { version = "2", features = [] }
|
||||||
|
|
||||||
@ -29,13 +28,8 @@ tauri-plugin-dialog = "2"
|
|||||||
uuid = { version = "1.12.0", features = ["v4"] }
|
uuid = { version = "1.12.0", features = ["v4"] }
|
||||||
regex = "1.10.3"
|
regex = "1.10.3"
|
||||||
lazy_static = "1.4.0"
|
lazy_static = "1.4.0"
|
||||||
base64 = "0.21"
|
|
||||||
image = { version = "0.25.5", features = ["jpeg"] }
|
image = { version = "0.25.5", features = ["jpeg"] }
|
||||||
pdf_render = { path = "../../pdf-render/render" }
|
pdf_render = { path = "../../pdf-render/render" }
|
||||||
pathfinder_rasterize = { git = "https://github.com/s3bk/pathfinder_rasterizer" }
|
pathfinder_rasterize = { git = "https://github.com/s3bk/pathfinder_rasterizer" }
|
||||||
pathfinder_geometry = { git = "https://github.com/servo/pathfinder" }
|
pathfinder_geometry = { git = "https://github.com/servo/pathfinder" }
|
||||||
show-image = {version = "0.14.0", features = ["image"] }
|
|
||||||
|
|
||||||
[[example]]
|
|
||||||
name = "render_test"
|
|
||||||
path = "examples/render.rs"
|
|
||||||
|
|||||||
@ -1,43 +0,0 @@
|
|||||||
use pdf::file::FileOptions;
|
|
||||||
use pdf_forge_render::render::Renderer;
|
|
||||||
use show_image::{create_window, event};
|
|
||||||
use std::thread::sleep;
|
|
||||||
use std::time::Duration;
|
|
||||||
|
|
||||||
macro_rules! timed {
|
|
||||||
($func_call:expr, $label:expr) => {{
|
|
||||||
let start = std::time::Instant::now();
|
|
||||||
let result = $func_call;
|
|
||||||
let duration = std::time::Instant::now().duration_since(start);
|
|
||||||
println!("{} took {:?}", $label, duration);
|
|
||||||
result
|
|
||||||
}};
|
|
||||||
}
|
|
||||||
|
|
||||||
#[show_image::main]
|
|
||||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
||||||
println!("{:?}", std::env::args());
|
|
||||||
let pdf_path = std::env::args()
|
|
||||||
.nth(1)
|
|
||||||
.expect("Please provide a path to a PDF file as an argument");
|
|
||||||
|
|
||||||
let page_num = std::env::args()
|
|
||||||
.nth(2)
|
|
||||||
.map(|arg| {
|
|
||||||
arg.parse::<u32>()
|
|
||||||
.expect("provide a valid page number as an argument")
|
|
||||||
})
|
|
||||||
.expect("Please provide a ");
|
|
||||||
|
|
||||||
let file = FileOptions::cached().open(pdf_path.as_str())?;
|
|
||||||
let mut renderer = Renderer::new(&file, 75);
|
|
||||||
let window = create_window(format!("page-{}", page_num), Default::default())?;
|
|
||||||
let img = renderer.render(page_num)?;
|
|
||||||
let _ = window.set_image(format!("im-{}", page_num), img)?;
|
|
||||||
for event in window.event_channel()? {
|
|
||||||
if let event::WindowEvent::CloseRequested(event) = event {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
@ -1,15 +1,13 @@
|
|||||||
use std::{
|
use std::{
|
||||||
collections::VecDeque,
|
collections::VecDeque,
|
||||||
ffi::{OsStr, OsString},
|
|
||||||
io::Cursor,
|
io::Cursor,
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
|
|
||||||
use image::{DynamicImage, GrayImage, RgbImage, RgbaImage};
|
use image::{DynamicImage, RgbaImage};
|
||||||
use pdf::{
|
use pdf::{
|
||||||
enc::StreamFilter,
|
|
||||||
file::FileOptions,
|
file::FileOptions,
|
||||||
object::{ColorSpace, ImageXObject, ObjectWrite, PlainRef, Resolve, Stream},
|
object::{ImageXObject, ObjectWrite, PlainRef, Resolve, Stream},
|
||||||
primitive::{PdfStream, Primitive},
|
primitive::{PdfStream, Primitive},
|
||||||
};
|
};
|
||||||
use pdf::object::Resources;
|
use pdf::object::Resources;
|
||||||
|
|||||||
@ -515,13 +515,6 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@tauri-apps/api" "^2.0.0"
|
"@tauri-apps/api" "^2.0.0"
|
||||||
|
|
||||||
"@tauri-apps/plugin-websocket@~2":
|
|
||||||
version "2.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@tauri-apps/plugin-websocket/-/plugin-websocket-2.3.0.tgz#7b7c69db52828aee8ad0efd3cbd684f593ef7e07"
|
|
||||||
integrity sha512-eAwRGe3tnqDeQYE0wq4g1PUKbam9tYvlC4uP/au12Y/z7MP4lrS4ylv+aoZ5Ly+hTlBdi7hDkhHomwF/UeBesA==
|
|
||||||
dependencies:
|
|
||||||
"@tauri-apps/api" "^2.0.0"
|
|
||||||
|
|
||||||
"@types/cookie@^0.6.0":
|
"@types/cookie@^0.6.0":
|
||||||
version "0.6.0"
|
version "0.6.0"
|
||||||
resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz"
|
resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user