fixed rendering
This commit is contained in:
parent
7c2749aefa
commit
c8003a57cb
@ -19,7 +19,6 @@
|
||||
"@tauri-apps/plugin-dialog": "~2",
|
||||
"@tauri-apps/plugin-fs": "~2",
|
||||
"@tauri-apps/plugin-opener": "^2",
|
||||
"@tauri-apps/plugin-websocket": "~2",
|
||||
"async-mutex": "^0.5.0",
|
||||
"flowbite-svelte": "^0.47.4",
|
||||
"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"
|
||||
crate-type = ["staticlib", "cdylib", "rlib"]
|
||||
|
||||
[render]
|
||||
[build-dependencies]
|
||||
tauri-build = { version = "2", features = [] }
|
||||
|
||||
@ -29,13 +28,8 @@ tauri-plugin-dialog = "2"
|
||||
uuid = { version = "1.12.0", features = ["v4"] }
|
||||
regex = "1.10.3"
|
||||
lazy_static = "1.4.0"
|
||||
base64 = "0.21"
|
||||
|
||||
image = { version = "0.25.5", features = ["jpeg"] }
|
||||
pdf_render = { path = "../../pdf-render/render" }
|
||||
pathfinder_rasterize = { git = "https://github.com/s3bk/pathfinder_rasterizer" }
|
||||
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::{
|
||||
collections::VecDeque,
|
||||
ffi::{OsStr, OsString},
|
||||
io::Cursor,
|
||||
sync::Arc,
|
||||
};
|
||||
|
||||
use image::{DynamicImage, GrayImage, RgbImage, RgbaImage};
|
||||
use image::{DynamicImage, RgbaImage};
|
||||
use pdf::{
|
||||
enc::StreamFilter,
|
||||
file::FileOptions,
|
||||
object::{ColorSpace, ImageXObject, ObjectWrite, PlainRef, Resolve, Stream},
|
||||
object::{ImageXObject, ObjectWrite, PlainRef, Resolve, Stream},
|
||||
primitive::{PdfStream, Primitive},
|
||||
};
|
||||
use pdf::object::Resources;
|
||||
|
||||
@ -515,13 +515,6 @@
|
||||
dependencies:
|
||||
"@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":
|
||||
version "0.6.0"
|
||||
resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user