Rotativa pdf 在部署到服务器上的 IIS 后无法正常工作

Rotativa pdf not working after deploying to IIS on server

我在 asp.net mvc 网站上使用 Rotativa 将 html 转换为 pdf。它在本地运行良好,但在我部署到服务器后,它只是 returns 一个文本 "Rotativa.ViewAsPdf",这是我在 C# 代码中调用的方法名称。没有 exception/errors,日志和事件查看器中没有。

我已经授予 wkhtmltodf.exe 的完全权限,Rotativa 文件夹也是如此。 bin 目录中还存在 Rotativa.dll。另外,我已经在服务器上安装了 MSCVP120.dll,但我无法弄清楚可能是什么问题。请帮忙。

找到解决方案! :) 谢谢

我正在使用 System.Web.Mvc 5.2.3,因此我不得不将 web.config 表单中的绑定重定向从 5.0.0 更改为 5.2.3

<dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.2.3.0"/>
  </dependentAssembly>

c:\inetpub\wwwroot\DummyProject\Rotativa\wkhtmltopdf.exe d:\Pdf\Dummy.html d:\Pdf\Dummy.pdf

你可以尝试运行cmd上的这一行来检查问题

将 "c:\" 路径替换为项目路径,将 HTML 路径替换为您的任何 HTML 文件,并将 pdf 路径替换为您想要替换路径的任何位置

这会让你检查是什么问题

在我的例子中,缺少需要安装的 ddl "msvcp120.dll"

如果和你一样的问题,你可以参考这些步骤来解决

https://www.smarterasp.net/support/kb/a1702/sample-process-to-generate-pdf-with-rotativa-in-asp_net-mvc.aspx