package cn.iocoder.yudao.module.qcreport.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; /** * PDF 出件配置 *
* 对应 application.yml 中的 yudao.qcreport.pdf 前缀配置。
*/
@Component
@ConfigurationProperties(prefix = "yudao.qcreport.pdf", ignoreUnknownFields = true)
@Data
public class QcReportPdfProperties {
/** 是否启用 PDF 出件。部署环境没有浏览器时关掉它,接口会明确报「未启用」而不是抛 500 */
private Boolean enabled = true;
/**
* 浏览器通道,如 chrome / msedge;留空则用 Playwright 自带的 Chromium
* (后者需要先执行 {@code playwright install chromium} 下载,约 150MB)。
*/
private String channel = "chrome";
/** 浏览器可执行文件路径。配了就优先于 {@link #channel},用于装在非标准位置的浏览器 */
private String executablePath = "";
/** 同时进行的 PDF 渲染上限。Chromium 很吃内存,并发必须设闸 */
private Integer concurrency = 2;
/** 单次渲染超时(毫秒),同时用于等待页面资源与等待并发名额 */
private Long timeoutMs = 30000L;
/** 页脚是否打印「第 N 页 / 共 M 页」 */
private Boolean showPageNumber = true;
/** 额外的浏览器启动参数,如 Linux 以 root 运行需加 --no-sandbox */
private List