使用SelectPDF时的外部CSS
我有下面的函数来创建HTML页面的PDF使用SelectPDF时的外部CSS,selectpdf,Selectpdf,我有下面的函数来创建HTML页面的PDF [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", n
[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");
}
这个函数允许我获取HTML页面的PDF
但是,它似乎无法添加外部CSS
我已经将它添加到HTML文件的头部
<head>
<link href="https://fonts.googleapis.com/css?family=Montserrat"
</head>
尝试在转换前添加延迟,以允许下载字体文件:
// specify the number of seconds the conversion is delayed
converter.Options.MinPageLoadTime = 2;
尝试在转换前添加延迟,以允许下载字体文件:
// specify the number of seconds the conversion is delayed
converter.Options.MinPageLoadTime = 2;
我做到了,没有任何改变。我甚至尝试了一个不切实际的数字(比如60),PDF仍然是不正确的。看看你的情况是否如此:不受信任的字体被阻止了-如果被阻止,当我直接访问页面时,它们为什么会起作用?或者你的意思是他们在服务器端被阻止,但在客户端被允许?与相同/类似的问题斗争-在selectpdf github repo上发布问题,希望得到答案。更新:实际上我的问题只是我这边的路径问题。。。网页字体在HTML到图像和HTML到PDF模式下似乎工作得很好。我做到了,没有任何变化。我甚至尝试了一个不切实际的数字(比如60),PDF仍然是不正确的。看看你的情况是否如此:不受信任的字体被阻止了-如果被阻止,当我直接访问页面时,它们为什么会起作用?或者你的意思是他们在服务器端被阻止,但在客户端被允许?与相同/类似的问题斗争-在selectpdf github repo上发布问题,希望得到答案。更新:实际上我的问题只是我这边的路径问题。。。web字体在HTML到图像和HTML到PDF模式下似乎工作得很好。