我有一个脚本可以说在文件夹' root'中。我在根目录中有一个名为' Images'的文件夹,在内部图像中有一个名为' logo.png'的图像。
我有以下代码来创建一个部分:
Document document = new Document();
Section section = document.AddSection();
我试过这个:
section.AddImage("../../Images/logo.png");
和此:
section.AddImage("Images/logo.png");
尝试添加图片,但都返回'图片未找到'。
我已经尝试将MigraDoc更新为v1.5,但它似乎无法正常工作。
答案 0 :(得分:1)
“脚本”被编译,你得到一个执行的程序集。您正在使用相对路径,默认情况下,将相对于流程的工作目录搜索图像,该工作目录很可能与程序集的文件夹相关。使用ASP.NET可能会更复杂。
提示:DocumentRenderer
类具有WorkingDirectory
属性。如果设置它,则将相对于此工作目录搜索具有相对路径的图像。将其设置为“root”,第二条路径“Images / logo.png”应该有效。
答案 1 :(得分:0)
请原谅我,因为我在提供答案之前就意识到了该线程的年龄,但是我也遇到了同样的问题,即无法接受被接受的答案。
在C#中,您可以使用HostingEnvironment.MapPath来引用相对路径。就您而言,它看起来像:
section.AddImage(HostingEnvironment.MapPath("~/Images/logo.png"));