我最近使用Rotativa nuget包将MVC视图导出为PDF。
这适用于本地以及专用Windows服务器,但不适用于共享主机。
我得到了通用的Rotativa错误。我无权更改可执行文件的权限,托管服务提供商也不会更改权限。
我可以尝试哪些其他解决方案来实现共享托管?
答案 0 :(得分:2)
我遇到了一个适合我的解决方案。
目前在NuGet中的版本是旧版本。
您需要转到http://wkhtmltopdf.org/downloads.html并下载最新的稳定版本。对我来说,它是64位版本,因为共享托管服务器是Windows Server 2008 R2 64位。
这将下载一个EXE。使用7Zip或WinRar等提取EXE。
打开解压缩的文件夹,查找名为bin的文件夹。复制以下内容:
将这些文件FTP到您的实际网站wwwroot - > Rotativa文件夹。您需要覆盖该文件夹中的现有文件。
现在,您的PDF导出操作可以正常用于共享托管。
希望这能为您节省大量时间。
答案 1 :(得分:0)
现在可以使用但是由于Rotativa使用的是代码之外的可执行文件wkhtmltopdf exe,如果您尝试切换到其他环境,可能会再遇到问题。
如果可移植性是个问题,我会使用100%托管的c#代码库(如ITextSharp或HtmlRenderer for PDF)与RazorViewEngine结合使用,以便将视图转换为HTML代码。