puppeteer-sharp 无法使用草书字体

puppeteer-sharp unable to use cursive font

我正在尝试在 puppeteer-sharp 中使用草书字体作为签名。 Puppeteer 在分配时似乎忽略了字体系列。例如:

.signature { font-family: 'Brush Script MT', cursive; }

这是我的 PdfOptions:

               var stream = await page.PdfStreamAsync(new PdfOptions
               {
                  Format = PaperFormat.A4,
                  MarginOptions = new MarginOptions
                  {
                     Top = "0px",
                     Right = "0px",
                     Bottom = "0px",
                     Left = "0px"
                  },
                  PrintBackground = true,
               });

我已经确认这不是代码本身,因为如果我在浏览器中 运行 html,草书字体会按预期工作。有谁知道如何或是否有可能让草书发挥作用?我想我错过了什么。

所以我想通了,有两种方法可以解决我的问题。我是 运行 Debian 中的一个 Docker 容器,它没有安装这种特定的字体。

解决方案一:

  1. 从受信任的站点下载并安装 Brush Script MT。
  2. 将 ttf 文件复制到 /usr/local/share/fonts 您的 Docker 文件中。 例如:
COPY ["font.ttf", "./usr/local/share/fonts/font.ttf"]
RUN fc-cache

有关详细信息,请参阅此 URL:https://wiki.debian.org/Fonts#Adding_fonts

方案二:

这是比较懒的路线,也是我走的路线。找到一个 Google 字体,例如 草书并改用它。

  1. 转到https://fonts.google.com/并找到与您匹配的字体 需要。

  2. 引用字体。 例如:

    <link href='https://fonts.googleapis.com/css?family=Cookie' rel='stylesheet'>

.signature {
    font-family: 'Cookie';
}