2014-11-05 40 views
0

我在将我的Intranet页面转换为PDF文件时遇到问题。我使用了2个实际可行的解决方案,但有一些问题。wkhtmltopdf无法在使用C#的内联网站点上工作MVC3

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

解决方案2: 我通过获取该网站的HTML替代解决方案,并让wkhtmltopdf.exe工具使其成为PDF也可以工作,但是,我想要转换的网页上的数据以PDF为数据库驱动。所以包括图像在内的所有信息在转换为PDF时都未提供。

请帮助,如果有一种方法,使在Intranet站点的wkhtmltopdf.exe工具的工作原理(溶液1)或 将其转换为PDF时,我如何能够获取包括数据和图像的整个页面(溶液2)

非常感谢!

回答

0

它停止工作,直到我注意到它不与Intranet站点一起工作。

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

渲染视图的字符串:Render a view as a string

我不包括wkhtmltopdf直接,而我用tuespechkin NuGet包:https://github.com/tuespetre/TuesPechkin

0

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

0

对于在您的Intranet服务器上生成pdf的whtmltopdf软件,您需要将2个文件msvcp120.dll & msvrp120.dll放在与要从服务器端运行的wkhtmltopdf.exe文件相同的文件夹中。希望这可以帮助。