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; }
}