无法加载共享库“libwkhtmltox”或其依赖项之一

问题描述 投票:0回答:1

我正在使用 https://github.com/rdvojmoc/DinkToPdf DinkToPDF 库将 HTML 转换为 PDF。

在本地环境中一切正常。

但是在生产环境中,将html转换为pdf时会抛出一些错误。

System.AggregateException: One or more errors occurred. (Unable to load shared library 'libwkhtmltox' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibwkhtmltox: cannot open shared object file: No such file or directory) ---> System.DllNotFoundException: Unable to load shared library 'libwkhtmltox' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibwkhtmltox: cannot open shared object file: No such file or directory at DinkToPdf.WkHtmlToXBindings.wkhtmltopdf_init(Int32 useGraphics) 

我尝试过以下解决方案,但没有成功。

  1. 我添加了 DinkToPdfCopyDependency 包,但它可以在本地工作,但不能在生产环境中工作

<PackageReference Include="DinkToPdfCopyDependencies" Version="1.0.8" />

  1. 然后我手动复制了包并且
       <None Update="libwkhtmltox.dll">
           <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
           <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
       </None>
       <None Update="libwkhtmltox.dylib">
           <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
           <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
       </None>
       <None Update="libwkhtmltox.so">
           <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
           <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
       </None>
   </ItemGroup> 
</Project>

这在本地环境中也有效,但在生产环境中不起作用。

任何使用 DinkToPDF 的人,请帮我解决这个问题。

有谁知道 .NET 6 中有什么库可以将 html 转换为 pdf (免费并且应该有 MIT 许可证)

请提出一些建议。我已经挣扎了两天多了。

.net html-to-pdf dinktopdf
1个回答
0
投票

我对 libwkhtmltox dll 也有类似的问题(在本地工作,但在服务器上不起作用)。就我而言,这是由于对服务器的某些依赖关系造成的。为了解决这个问题,我所要做的就是运行适当的 VC 更新包,您可以在here找到它。

© www.soinside.com 2019 - 2024. All rights reserved.