我有一个脚本,让我们在文件夹"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"));