97 lines
2.2 KiB
C#
97 lines
2.2 KiB
C#
namespace HtmlToPdfService.Core.Options;
|
|
|
|
/// <summary>
|
|
/// PDF 服务配置选项(主配置)
|
|
/// </summary>
|
|
public class PdfServiceOptions
|
|
{
|
|
/// <summary>
|
|
/// 浏览器池配置
|
|
/// </summary>
|
|
public BrowserPoolOptions BrowserPool { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// 存储配置
|
|
/// </summary>
|
|
public StorageOptions Storage { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// 回调配置
|
|
/// </summary>
|
|
public CallbackOptions Callback { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// PDF 默认转换配置
|
|
/// </summary>
|
|
public DefaultPdfOptions DefaultPdfOptions { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// 转换配置
|
|
/// </summary>
|
|
public ConversionOptions Conversion { get; set; } = new();
|
|
}
|
|
|
|
/// <summary>
|
|
/// PDF 默认转换配置
|
|
/// </summary>
|
|
public class DefaultPdfOptions
|
|
{
|
|
/// <summary>
|
|
/// 纸张格式
|
|
/// </summary>
|
|
public string Format { get; set; } = "A4";
|
|
|
|
/// <summary>
|
|
/// 是否横向
|
|
/// </summary>
|
|
public bool Landscape { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 是否打印背景
|
|
/// </summary>
|
|
public bool PrintBackground { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// 是否优先使用 CSS 定义的页面大小
|
|
/// </summary>
|
|
public bool PreferCSSPageSize { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 页边距
|
|
/// </summary>
|
|
public MarginOptions Margin { get; set; } = new();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 页边距配置
|
|
/// </summary>
|
|
public class MarginOptions
|
|
{
|
|
public string Top { get; set; } = "10mm";
|
|
public string Right { get; set; } = "10mm";
|
|
public string Bottom { get; set; } = "10mm";
|
|
public string Left { get; set; } = "10mm";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 转换配置
|
|
/// </summary>
|
|
public class ConversionOptions
|
|
{
|
|
/// <summary>
|
|
/// 默认转换超时时间(毫秒)
|
|
/// </summary>
|
|
public int DefaultTimeout { get; set; } = 60000;
|
|
|
|
/// <summary>
|
|
/// 默认等待条件
|
|
/// </summary>
|
|
public string DefaultWaitUntil { get; set; } = "networkidle2";
|
|
|
|
/// <summary>
|
|
/// 最大 HTML 内容大小(字节)
|
|
/// </summary>
|
|
public int MaxHtmlSize { get; set; } = 10485760; // 10MB
|
|
}
|
|
|