Внешний CSS при использовании SelectPDF - PullRequest
0 голосов
/ 12 мая 2019

У меня есть следующая функция, которая создает PDF-файл HTML-страницы.

[Authorize]
public FileStreamResult PDFCV(int Id)
{
   var user = _userManager.GetUserAsync(User);
   HtmlToPdf converter = new HtmlToPdf();
   var BaseUrl = HttpContext.Request.Host;
   var Path = Url.Action("PreviewCv", "Cv", new { Id = Id });
   try
   {
       converter.Options.HttpCookies.Add(".AspNetCore.Identity.Application", HttpContext.Request.Cookies[".AspNetCore.Identity.Application"]);
   }
   catch (Exception e)
   {
      Console.WriteLine(e);
   }
   string url = "";
   try
   {
      url = BaseUrl + Path;
   }
   catch (Exception e)
   {
      Console.WriteLine(e);
   }
   try
   {
      PdfDocument doc = converter.ConvertUrl(url);
      var PdfArray = doc.Save();
      doc.Close();
      return new FileStreamResult(new MemoryStream(PdfArray), "application/pdf");
   }
   catch (Exception e)
   {
     Console.WriteLine(e);
   }

   return new FileStreamResult(new MemoryStream(), "application/pdf");
}

Эта функция позволяет мне получить PDF-файл HTML-страницы.

Однако кажется, что он не может добавить внешний CSS.

Я добавил его в начало HTML-файла.

<head>
   <link href="https://fonts.googleapis.com/css?family=Montserrat" 
</head>

Когда я получаю прямой доступ к странице "/ PDFPreview", я получаю правильный CSS.

Какие-либо предложения о том, как заставить SelectPDF использовать правильный CSS?

1 Ответ

0 голосов
/ 13 мая 2019

Попробуйте добавить задержку перед преобразованием, чтобы разрешить загрузку файлов шрифтов:

// specify the number of seconds the conversion is delayed
converter.Options.MinPageLoadTime = 2;
...