我一直在使用TuesPechkin一段时间,今天我去将nuget包更新为新版本2.0.0+,并注意到Factory.Create()不再解析,所以我去了GitHub上阅读了所做的更改并注意到它现在期望dll的路径?
IConverter converter =
new ThreadSafeConverter(
new PdfToolset(
new StaticDeployment(DLL_FOLDER_PATH)));
在过去的几个小时中,我尝试了几乎所有可以想到的路径,例如“ \ bin”,“ \ app_data”,“ \ app_start”等,但似乎找不到或想出它想要的内容路径和什么dll?
我可以在bin文件夹中看到TuesPechkin dll,这是我尝试的第一个路径,但是出现以下错误:
附加信息:无法加载DLL'wkhtmltox.dll':找不到指定的模块。(来自HRESULT的异常:0x8007007E)
该dll在哪里,现在我可以获取它,因为该库似乎不包含它。我尝试安装TuesPechkin.Wkhtmltox.Win32程序包,但仍然找不到该dll。我也在asp.net网站项目中使用了它,所以我认为使用以下方法应该可以获得路径,对吗?
var path = HttpContext.Current.Server.MapPath(@"~\bin\TuesPechkin.dll");
Tuespechkin在“ wkhtmltox.dll”文件的Win32和Win64嵌入式软件包中有一个zip文件作为资源。
当您使用Win32或Win64 Embedded程序包时,它将解压缩文件并将其放置在您指定的目录中。
我一直在将wkhtmltox dll的副本放在Web应用程序目录的根目录中,并使用Web应用程序的服务器物理路径将DLL_FOLDER_PATH指向它。
根据作者的说法,必须将转换器设置在静态字段中才能获得最佳效果。
我这样做了,但是在我使用完转换器后将其设置为null,这似乎可行。
Tuespechkin是wmkhtmlox dll文件的包装器。
原始文件是用C ++编写的,因此不会自动在C#或VB.NET或任何其他托管代码域中使用。
Tuespechkin.dll文件不包含“ wkhtmltox.dll”的副本。从互联网下载后,您要么必须使用其他嵌入式部署模块之一,要么在Web应用程序中安装“ wkhtmltox.dll”的副本。那就是我所做的,而且似乎工作正常。
我正在使用Team Foundation Server,并且在使用Tuespechkin例程后尝试编译代码的尝试将首次失败,因为“ wkhtmltox.dll”文件被锁定了,但是您要做的只是简单地重试构建,它将通过。
我在32位例程无法在64位环境中工作以及64位环境无法在localhost上进行测试时遇到问题。在检查了Tuespechkin的源代码以及Win32和Win64嵌入式部署程序包的源代码之后,我采用了解决方法。
只要您为输入指定网址而不是原始html,它就可以很好地工作。
较旧的软件包不能很好地渲染css。
如果使用的是print.aspx例程,则可以为其创建URL作为相对于主URL的偏移量。
我目前没有与我一起使用的源代码来偏移您的Web应用程序的基本URL,但这只是HttpRequest的一个分支。
您必须使用物理路径来查找.dll,但是可以将Web路径用于打印例程。
我希望这能回答您的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句