我最近使用Rotativa nuget包将MVC视图导出为PDF。
这在本地和专用Windows服务器上都有效,但在共享主机上不起作用。
我得到了通用的Rotativa错误。我没有权限更改可执行文件的权限,宿主提供程序也不会更改权限。
我可以尝试在共享主机上使用哪些其他解决方案?
发布于 2015-12-09 15:36:28
我发现了一个对我有效的解决方案。
当前在NuGet中的版本是较旧的版本。
您需要访问http://wkhtmltopdf.org/downloads.html并下载最新的稳定版本。对我来说,它是64位版本,因为共享主机服务器是Windows Server2008 R2 64位。
这将下载一个EXE。使用7Zip或WinRar或类似工具解压可执行文件。
打开解压后的文件夹,查找名为bin的文件夹。复制以下内容:
通过FTP将这些文件传输到您的实时站点wwwroot -> Rotativa文件夹。您需要覆盖该文件夹中的现有文件。
现在,您的PDF导出操作将为共享主机正常工作。
希望这能节省你很多时间。
发布于 2015-12-09 17:17:08
它现在可以工作,但由于Rotativa使用的是wkhtmltopdf exe,这是您的代码外部的可执行文件,如果您尝试切换到另一个环境,您可能会再次遇到问题。
如果可移植性是个问题,我会使用100%托管的c#代码库,比如ITextSharp或HtmlRenderer for PDF,并结合RazorViewEngine将视图转换为html代码。
https://stackoverflow.com/questions/34172969
复制相似问题