Это немного длинно, но, возможно, у кого-то могут быть какие-то идеи.
Для справки - см. Изображения не отображаются в формате PDF , аналогичный вопрос.
Я использую библиотеку Htmlrenderer.PdfSharp для создания файлов PDF из содержимого HTML. Все работает отлично, за исключением изображений. Они просто отображают большую красную коробку.
PDF отлично работает при локальном запуске в режиме отладки, но не при развертывании на сервере. У меня есть немного дополнительной информации, которая может помочь - при выполнении команды для создания PDF:
using (MemoryStream ms = new MemoryStream())
{
var pdf = TheArtOfDev.HtmlRenderer.PdfSharp.PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4);
pdf.Save(ms);
res = ms.ToArray();
}
На сервере я получаю несколько следующих ошибок:
Exception thrown: 'System.Security.Authentication.AuthenticationException' in System.dll
Работая локально, я не получаю этих ошибок. У меня такое ощущение, что это как-то связано с тем, что движок .NET не может правильно разрешить URL-адрес изображения. При этом URL-адрес изображения полностью указан. Это, однако, позади HTTPS, если это помогает.
Я не могу идти дальше с отладкой. Если у кого-то есть какие-либо идеи, я бы с удовольствием их услышал - даже если бы у меня было больше мест, я мог бы попытаться найти подсказки.