找不到 MigraDoc 映像



我有一个脚本,让我们在文件夹"root"中说。我在根目录中有一个名为"图像"的文件夹,在图像中有一个名为"徽标.png"的图像。

    • 脚本.cs
    • 图像
      • 徽标.png

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

Document document = new Document();
Section section = document.AddSection();

我试过这个:

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

而这个:

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

尝试添加图像,但都返回"找不到图像"。

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

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

提示: DocumentRenderer类具有WorkingDirectory属性。如果设置它,则相对于此工作目录搜索具有相对路径的图像。将其设置为"root",第二个路径"图像/徽标.png"应该可以工作。

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

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

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

最新更新