mod cell_style;
mod error;
mod header_builder;
mod table_builder;
mod table_renderer;
pub use cell_style::{BorderStyle, CellAlignment, CellStyle, Padding};
pub use error::TableError;
pub use header_builder::{HeaderBuilder, HeaderCell};
pub use table_builder::{AdvancedTable, AdvancedTableBuilder, CellData, Column, RowData};
pub use table_renderer::TableRenderer;
use crate::error::PdfError;
use crate::page::Page;
pub trait AdvancedTableExt {
fn add_advanced_table(
&mut self,
table: &AdvancedTable,
x: f64,
y: f64,
) -> Result<f64, PdfError>;
fn add_advanced_table_auto(&mut self, table: &AdvancedTable) -> Result<f64, PdfError>;
}
impl AdvancedTableExt for Page {
fn add_advanced_table(
&mut self,
table: &AdvancedTable,
x: f64,
y: f64,
) -> Result<f64, PdfError> {
let renderer = TableRenderer::new();
renderer.render_table(self, table, x, y)
}
fn add_advanced_table_auto(&mut self, table: &AdvancedTable) -> Result<f64, PdfError> {
let y = 750.0; self.add_advanced_table(table, 50.0, y)
}
}