未找到MigraDoc图片

时间:2018-01-30 15:43:55

标签: c# pdfsharp migradoc

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

    • script.cs
    • 图片
      • logo.png

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

Document document = new Document();

Section section = document.AddSection();

我试过这个:

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

和此:

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

尝试添加图片,但都返回'图片未找到'。

我已经尝试将MigraDoc更新为v1.5,但它似乎无法正常工作。

2 个答案:

答案 0 :(得分:1)

“脚本”被编译,你得到一个执行的程序集。您正在使用相对路径,默认情况下,将相对于流程的工作目录搜索图像,该工作目录很可能与程序集的文件夹相关。使用ASP.NET可能会更复杂。

提示:DocumentRenderer类具有WorkingDirectory属性。如果设置它,则将相对于此工作目录搜索具有相对路径的图像。将其设置为“root”,第二条路径“Images / logo.png”应该有效。

答案 1 :(得分:0)

请原谅我,因为我在提供答案之前就意识到了该线程的年龄,但是我也遇到了同样的问题,即无法接受被接受的答案。

在C#中,您可以使用HostingEnvironment.MapPath来引用相对路径。就您而言,它看起来像:

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