lb_pdf/
lib.rs

1use pdfium_render::prelude::*;
2use std::{fs, path::Path};
3
4pub struct PdfiumWrapper {
5    pub pdfium: Pdfium,
6}
7
8impl PdfiumWrapper {
9    #[cfg(target_os = "windows")]
10    pub fn init(binary_path: &String) {
11        let lib_bytes = include_bytes!("../pdfium-windows/lib/pdfium.dll");
12
13        fs::create_dir_all(Path::new(&binary_path).parent().unwrap()).unwrap();
14        let binary_path = format!("{}/pdfium.dll", binary_path);
15        println!("{:#?}", binary_path);
16        //make sure the path is valid
17        fs::write(binary_path, lib_bytes).unwrap();
18    }
19
20    #[cfg(target_os = "linux")]
21    pub fn init(binary_path: &String) {
22        let lib_bytes = include_bytes!("../pdfium-linux/lib/libpdfium.so");
23
24        fs::create_dir_all(Path::new(&binary_path).parent().unwrap()).unwrap();
25        let binary_path = format!("{}/libpdfium.so", binary_path);
26        //make sure the path is valid
27        fs::write(binary_path, lib_bytes).unwrap();
28    }
29}