.NET 8 Web API中Rotativa配置及PDF生成下载问题求助
.NET 8 Web API中Rotativa使用问题排查方案
版本适配问题
Rotativa.AspNetCore 1.3.2是较早版本,完全不兼容.NET 8。你需要升级到支持.NET 6+的新版本,比如2.1.1及以上的稳定版,这类版本已适配.NET 8框架。
Program.cs 补充配置
仅添加RotativaConfiguration.Setup不足以完成初始化,还需要注册Rotativa服务:
builder.Services.AddRotativa();
另外要确认Setup指定的"Rotativa"目录存在于项目根目录,且目录内必须包含对应系统架构的wkhtmltopdf工具文件(Windows下是wkhtmltopdf.exe、wkhtmltoimage.exe;Linux/macOS下是无后缀的可执行文件)。如果工具文件缺失,即使page对象不为空,BuildFile调用时也会触发对象引用错误。
控制器代码细节检查
即使page对象不为空,也需要排查以下点:
- 若用
ViewAsPdf,要确保指定的视图路径正确,视图文件存在,且视图依赖的模型已正确初始化; - 若用
UrlAsPdf,要确认目标URL能正常访问,API项目的路由配置无问题; - 检查page对象的核心属性(如FileName、PageSize等)是否已正确赋值,避免因属性未初始化导致内部逻辑出错。
内容的提问来源于stack exchange,提问作者Pieter Du Toit
相关产品推荐
相关产品推荐

