wkhtmltopdf不使用C#MVC3在Intranet站点上工作

时间:2014-11-05 12:54:28

标签: c# asp.net asp.net-mvc asp.net-mvc-3 pdf

我在将Intranet页面转换为PDF文件时遇到问题。我使用了两种实际可行的解决方案,但有一些问题。

解决方案1: 我用过wkhtmltopdf.exe工具。我能够在我的本地机器上运行它。 但是,当我将它部署到我们的服务器时,它停止工作,直到我发现它不能与Intranet站点一起工作。当我尝试外联网网站时,它正在工作。

解决方案2: 我通过获取该网站的HTML来获取替代解决方案,并让wkhtmltopdf.exe工具使其成为PDF,但是,我试图转换为PDF的页面上的数据是数据库驱动的。因此,当转换为PDF时,不提供包括图像在内的所有信息。

如果有办法让wkhtmltopdf.exe工具在Intranet站点(解决方案1)中运行,请提供帮助 在将其转换为PDF(解决方案2)时,如何检索整个页面,包括数据和图像

非常感谢!

3 个答案:

答案 0 :(得分:0)

  

它停止工作,直到我发现它不能与Intranet站点一起使用。

这不是一份详尽的问题报告。我通过渲染一个字符串的视图然后使用wkhtmltopdf将该字符串转换为pdf来完成它。

将视图呈现为字符串:Render a view as a string

我没有直接包含wkhtmltopdf,而是使用了tuespechkin nuget包:https://github.com/tuespetre/TuesPechkin

答案 1 :(得分:0)

我会说看看可用的权限。 Intranet站点通常具有与面向公众的站点不同的权限级别。可能是面向公众的站点具有已应用于.exe的权限(例如IIS_IUSR帐户)以使其能够与匿名访客帐户一起使用,但缺少Intranet中所需的权限,这通常使用域用户帐户登录用户以验证资源。

答案 2 :(得分:0)

要在您的Intranet服务器上生成pdf的whtmltopdf软件,您需要有2个文件msvcp120.dll& msvrp120.dll与wkhtmltopdf.exe文件在同一文件夹中从服务器端运行。希望这会有所帮助。