use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PdfExportOptions {
pub page_width_mm: f32,
pub page_height_mm: f32,
pub margin_top_mm: f32,
pub margin_bottom_mm: f32,
pub margin_left_mm: f32,
pub margin_right_mm: f32,
pub font_family: String,
pub font_bytes: Vec<Vec<u8>>,
pub font_size_pt: f32,
pub line_spacing: f32,
pub first_line_indent_mm: Option<f32>,
pub paragraph_spacing_pt: Option<f32>,
pub justify: bool,
pub base_rtl: bool,
pub lang: Option<String>,
pub title: Option<String>,
pub author: Option<String>,
pub include_preamble: bool,
}
impl Default for PdfExportOptions {
fn default() -> Self {
Self {
page_width_mm: 210.0,
page_height_mm: 297.0,
margin_top_mm: 25.0,
margin_bottom_mm: 25.0,
margin_left_mm: 20.0,
margin_right_mm: 20.0,
font_family: String::new(),
font_bytes: Vec::new(),
font_size_pt: 12.0,
line_spacing: 0.65,
first_line_indent_mm: None,
paragraph_spacing_pt: None,
justify: true,
base_rtl: false,
lang: None,
title: None,
author: None,
include_preamble: true,
}
}
}