#puppeteer-sharp
Вопрос:
Я пытаюсь сгенерировать 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, чтобы он дождался всех файлов внешнего содержимого?
Я уже протестировал свой файл TFF вручную, создав статическую HTML-страницу, и это сработало нормально. Поэтому я попробовал несколько предложений из действительно длинной проблемы на Github.
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
файла со свойствами динамического содержимого.
Приветствия