我正在使用 Rotativa 生成我的观点的 pdf。在我的本地计算机上这有效。在我的在线服务器上,它说找不到文件或目录。这可能是一个权限问题。知道如何解决吗?
提前感谢
我正在使用 Rotativa 生成我的观点的 pdf。在我的本地计算机上这有效。在我的在线服务器上,它说找不到文件或目录。这可能是一个权限问题。知道如何解决吗?
提前感谢
Rotativa 在其核心使用 wkhtmltopdf,从 >0.12.0.0 开始依赖于可分发的 VC++ 库 (msvcp120.dll)
您可能需要从这里下载安装程序,而不仅仅是将 dll 复制到服务器http://wkhtmltopdf.org/downloads.html
简单测试服务器 wkhtmltopdf 是否有效:
C:\[path to the wkhtmltopdf]\wkhtmltopdf.exe https://google.com test.pdf
第 1 步:转到存储 pdf 文件的服务器文件夹
第 2 步:在文件夹属性上更改安全性,禁用只读复选框并更改为完全控制或给予写入控制。
第 3 步:在 web.config 中更改为
<system.web>
<authentication mode="None" /> /// or bring the suitable authentication
.......................
解决方案是将 Rotativa.Mvc.ActionasPdf() 替换为 Rotativa.Mvc.ViewasPdf
public ActionResult DetailPdf(int? id)
{
Progetto Progetti = db.Progetti.Find(id);
return new Rotativa.MVC.ViewAsPdf("DetailPdf", Progetti);
}
我不知道 ActionAsPdf 的问题是什么
我们在 Windows 服务器上遇到了同样的问题。发现 Reports 被 sql server 报告服务使用。所以我们只需要在我们的应用程序中将所有 Reports 实例重命名为其他名称。