Skip to content
Demo示例API 参考文档FAQ

PDF 生成模板编辑器

开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。

查看 GitHub

状态和诊断信息 ​

GetStatus() 返回最近一次操作(转换、导出 HTML 或生成 PDF)的状态,大于或等于 0 表示成功,小于 0 表示失败。IsSuccess() 在结果有效且状态大于或等于 0 时返回 true。

状态(CEmailStatus)说明
EMAIL_SUCCESS成功
EMAIL_SUCCESS_WITH_WARNINGS成功,但存在降级或容错处理,详见诊断信息
EMAIL_ERROR_INVALID_PARAMETER参数无效,例如路径为空、选项无效
EMAIL_ERROR_READ读取输入失败,例如文件不存在
EMAIL_ERROR_PARSE邮件解析失败,包括空输入
EMAIL_ERROR_HTML生成 HTML 失败
EMAIL_ERROR_WRITE写入输出失败,包括目标文件已存在
EMAIL_ERROR_PDF生成 PDF 失败,可通过 GetPdfError() 获取详细错误
EMAIL_ERROR_LICENSE许可证未初始化、无效、过期或无权限,可通过 GetPdfError() 获取详细错误
EMAIL_ERROR_LIMIT超出大小上限或内部结构上限
EMAIL_ERROR_CANCELLED取消回调要求取消
EMAIL_ERROR_OUT_OF_MEMORY内存不足
EMAIL_ERROR_INTERNAL内部错误

转换过程中的降级、容错和错误会记录为诊断信息,建议写入应用日志:

c#
foreach (CEmailDiagnostic diagnostic in result.GetDiagnostics())
{
    Console.WriteLine($"[{(diagnostic.IsError ? "错误" : "警告")}] {diagnostic.Code}:{diagnostic.Detail}({diagnostic.FallbackAction})");
}

判断成败请以状态为准,不要依赖诊断码做业务判断;诊断码中带有 limit 的可用于提示"文件过大"。