未找到 MigraDoc 图像

MigraDoc image not found

我在文件夹 'root' 中有一个脚本可以说。我在根目录中有一个名为 'Images' 的文件夹,在图像中有一个名为 'logo.png'.

的图像

我有以下代码来创建一个部分:

Document document = new Document();

Section section = document.AddSection();

我试过这个:

section.AddImage("../../Images/logo.png");

还有这个:

section.AddImage("Images/logo.png");

尝试添加图像,但是 return 'image not found'。

我已经尝试将 MigraDoc 更新到 v1.5,但它似乎没有用。

"script" 被编译,你得到一个被执行的程序集。您使用的是相对路径,默认情况下,将相对于进程的工作目录搜索图像,这很可能是相对于包含程序集的文件夹。使用 ASP.NET 事情可能会更加复杂。

提示:DocumentRenderer class 有一个 WorkingDirectory 属性。如果您设置它,那么将相对于此工作目录搜索具有相对路径的图像。将其设置为 "root",第二条路径 "Images/logo.png" 应该可以工作。

原谅我,因为我在提供答案之前就知道这个线程的年龄,但我也有同样的问题,接受的答案无法解决。

在 C# 中,您可以使用 HostingEnvironment.MapPath 来引用相对路径。在您的情况下,它看起来像:

section.AddImage(HostingEnvironment.MapPath("~/Images/logo.png"));