use anyhow::{Context, Result}; use printpdf::PdfDocumentReference; use std::fs::File; use std::io::BufWriter; use std::path::PathBuf; pub struct PdfPlugin; impl PdfPlugin { pub fn new() -> Self { Self } pub fn export_pdf(&self, doc: PdfDocumentReference, path: &PathBuf) -> Result<()> { let file = File::create(path).context("Failed to create PDF file for export")?; let mut writer = BufWriter::new(file); doc.save(&mut writer) .context("Failed to save PDF to specified path")?; Ok(()) } } impl Default for PdfPlugin { fn default() -> Self { Self::new() } }