linux - 如何让 NReco.PdfGenerator.LT 使用 Linux 二进制文件?

标签 linux .net-core

我正在使用 NReco.PdfGenerator.LT从 HTML 页面创建 PDF 文档。如果我只是将它指向 wkhtmltopdf.exe 可执行文件,这在 Windows 上工作正常,但这在 Linux 上没有相同的效果。

HtmlToPdfConverter cvt = new HtmlToPdfConverter();

cvt.PdfToolPath = GetPdfToolPath();
// Windows: <current-dir>\wkhtmltopdf\win32\bin
// Linux: <current-dir>/wkhtmltopdf/linux/bin

cvt.WkHtmlToPdfExeName = GetPdfToolName();
// Windows: wkhtmltopdf.exe
// Linux: wkhtmltopdf

我刚收到这个错误:

Cannot generate PDF: Permission denied

最佳答案

出现此错误的可能原因:

  • 启动 .net 核心程序的 linux 用户无权运行“wkhtmltopdf”。还要确保“wkhtmltopdf”文件被标记为“可执行”(x)。
  • 有时无法访问 Path.GetTempPath() 返回的临时文件夹;可以使用 HtmlToPdfConverter.TempFilesPath 属性指定临时文件的另一个位置

关于linux - 如何让 NReco.PdfGenerator.LT 使用 Linux 二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41700190/

相关文章:

.net-core - 作为 dotnet 构建的一部分,如何将 appsettings.json 复制到 DEBUG 文件夹

javascript - 将 JavaScript 对象传递给 Controller

c# - 是否可以在针对 4.7.1 的 WinForms 项目中使用 Path.GetRelativePath (.NET Core2)?

linux - 将数字转换为千兆字节(sed、awk、sh、bash)

linux - 用于 ubuntu 的稳定和简单的 amqp 服务器

c# - 无法调试 dotnet 核心 GenericHost docker 容器

c# - ASP.NET MVC Core 身份页面中的路由本地化

c++ - CMake 在更改时不会重新编译源文件?

linux - Vim:如何打开名称由运行 shell 命令确定的文件

linux - 如何在 Linux 上获取中断向量号?