PDFsharp не может найти изображение (изображение не найденный)

Я использую PDFsharp в приложении MVC ASP.NET. Я хочу добавить изображение, но какой каталог я вставил его, это, может казаться, не находит его. У меня есть код как это, поскольку я пытаюсь скопировать пример приложения

 Section section = document.AddSection();
 Image image13 = section.AddImage("../../images/logo.png");

Какой каталог я вставил это изображение, когда PDF сгенерирован, я вижу ошибку на PDF, говоря "Изображение, не найденное"

Кто-либо еще видел эту проблему?

10
задан Je suis Monica - or maybe not 30 June 2015 в 09:16
поделиться

3 ответа

Возможно, он ищет полный путь?

Попробуйте

Image image13 = section.AddImage(Server.MapPath("~/images/logo.png"));
10
ответ дан 3 December 2019 в 19:31
поделиться

Я использую pdfsharp в приложении asp.net mvc.

Кстати: вы не используете PDFsharp, вы используете MigraDoc.

MigraDoc ищет изображения относительно текущего каталога. Страницы ASPX компилируются и выполняются из временного каталога, а не из каталога проекта. Следовательно, относительные пути не будут работать должным образом.

Assembly.CodeBase может помочь найти изображения; Assembly.Location указывает временный каталог.

Assembly.CodeBase может использоваться в коде, который используется совместно ASP.NET и .NET. Также можно использовать Server.MapPath (как было предложено Марко), но он работает только в ASP.NET.

5
ответ дан 3 December 2019 в 19:31
поделиться

Объект MigraDoc Document имеет свойство ImagePath, которое позволяет вам указать каталоги, в которых будет производиться поиск изображений (разделяйте несколько каталогов с помощью полуколонки).

Если изображения могут быть найдены относительно местоположения сборки, то для определения местоположения сборки можно использовать Assembly.CodeBase (как упоминалось в моем предыдущем ответе).

3
ответ дан 3 December 2019 в 19:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: