namespace PrintService.Models; /// /// Root configuration loaded from printer-config.json /// public class PrinterConfiguration { public Dictionary DocumentTypes { get; set; } = new(); } /// /// Configuration for a single document type (replaces DocumentConfig for printer/tray mapping) /// public class DocumentTypeConfig { public string Name { get; set; } = string.Empty; public List Pages { get; set; } = new(); // Rendering settings public string FontName { get; set; } = "Courier New"; public float FontSize { get; set; } = 10f; public int HorizontalOffset { get; set; } = 0; public int VerticalOffset { get; set; } = 0; // Post-processing settings public bool ArchiveAfterPrint { get; set; } = true; public string? ArchivePath { get; set; } public string? OutputPath { get; set; } public bool SkipPostProcessing { get; set; } = false; // Text transformation rules public List Transformations { get; set; } = new(); } /// /// Configuration for a single page (printer and tray assignment) /// public class PageConfig { public int PageNumber { get; set; } public string PrinterName { get; set; } = string.Empty; public int TrayNumber { get; set; } public string? TrayLabel { get; set; } }