我正在尝试使用生成PDF文件
PuppeteerSharp
其中包括一个外部必需的
*.TFF
字体文件。
CSS:
@font-face {
font-family: 'my-awesome-font';
src: url('<path-to-local-tff-file>');
}
.my-awesome-font {
font-family: 'my-awesome-font';
}
HTML:
<div class="my-awesome-font">Some value</div>
主要的问题是,我如何告诉PuppeteerSharp等待所有外部内容文件?
我已经通过创建一个静态HTML页面手动测试了我的TFF文件,效果很好。
所以我尝试了几个建议
Github issue
.
1.直接添加字体作为内容
await page.AddStyleTagAsync(new AddTagOptions
{
Content = "@font-face { font-family: 'barcode'; src: url('{" + barcodeTFFPath + "}'); }"
});
2.等待外部字体
var session = await page.Target.CreateCDPSessionAsync();
await session.SendAsync("DOM.enable");
await session.SendAsync("CSS.enable");
session.MessageReceived += (sender, e) =>
{
if (e.MessageID == "CSS.fontsUpdated")
{
Console.WriteLine("CSS.fontsUpdated");
}
};
3.调用Goto方法
我没有任何想法来做这件事,因为我得到的HTML
string
通过渲染
*.cshtml
具有动态内容属性的文件。
问候语