From 6897272a71f68d8d066f6c135f8d4bd058766d1b Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sun, 5 Jul 2026 18:25:32 +0200 Subject: [PATCH] Added info logs for PDFium --- runtime/src/pdfium.rs | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/runtime/src/pdfium.rs b/runtime/src/pdfium.rs index 98ba4046..7a128dcb 100644 --- a/runtime/src/pdfium.rs +++ b/runtime/src/pdfium.rs @@ -2,7 +2,7 @@ use std::error::Error; use std::sync::Mutex; use once_cell::sync::Lazy; use pdfium_render::prelude::Pdfium; -use log::{error, warn}; +use log::{error, info, warn}; pub static PDFIUM_LIB_PATH: Lazy>> = Lazy::new(|| Mutex::new(None)); static PDFIUM: Lazy>> = Lazy::new(|| Mutex::new(None)); @@ -32,11 +32,22 @@ impl PdfiumInit for Pdfium { fn load_pdfium() -> Result { let lib_path = PDFIUM_LIB_PATH.lock().unwrap().clone(); if let Some(path) = lib_path.as_ref() { - return match Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path(path)) { - Ok(binding) => Ok(Pdfium::new(binding)), + let pdfium_library_path = Pdfium::pdfium_platform_library_name_at_path(path); + + return match Pdfium::bind_to_library(&pdfium_library_path) { + Ok(binding) => { + info!("Loaded PDFium from '{path}'.", path = pdfium_library_path.to_string_lossy()); + Ok(Pdfium::new(binding)) + }, Err(library_error) => { match Pdfium::bind_to_system_library() { - Ok(binding) => Ok(Pdfium::new(binding)), + Ok(binding) => { + info!( + "Loaded PDFium from the system library after failing to load '{path}'.", + path = pdfium_library_path.to_string_lossy(), + ); + Ok(Pdfium::new(binding)) + }, Err(system_error) => { let error_message = format!( "Failed to load PDFium from '{path}' and the system library. Developer action (from repo root): run the build script once to download the required PDFium version: `cd app/Build` and `dotnet run build`. Details: library error: '{library_error}'; system error: '{system_error}'." @@ -52,7 +63,10 @@ fn load_pdfium() -> Result { warn!("No custom PDFium library path set; trying to load PDFium from the system library."); match Pdfium::bind_to_system_library() { - Ok(binding) => Ok(Pdfium::new(binding)), + Ok(binding) => { + info!("Loaded PDFium from the system library."); + Ok(Pdfium::new(binding)) + }, Err(system_error) => { let error_message = format!( "Failed to load PDFium from the system library. Developer action (from repo root): run the build script once to download the required PDFium version: `cd app/Build` and `dotnet run build`. Details: '{system_error}'."