You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Function App中nReco PDF生成器字体不生效问题咨询

Azure Function App中nReco PDF生成器字体问题解决方案

一、默认可用字体列表

Azure Function App不同运行环境预装的系统字体,nReco PDF(基于wkhtmltopdf)可直接调用:

  • Windows环境:宋体、黑体、微软雅黑、Arial、Times New Roman、Courier New
  • Linux环境:DejaVu Sans、DejaVu Serif、DejaVu Mono

二、字体不生效的核心原因

nReco PDF底层依赖wkhtmltopdf,它会优先从运行环境的系统字体库中查找指定字体。若HTML中引用的字体不在Azure Function默认字体库内,会被自动替换为 fallback 默认字体(如宋体或DejaVu Sans),导致无论设置何种字体输出效果一致。

三、自定义字体生效方案

  1. 嵌入字体文件到项目

    • 将.ttf/.otf格式的字体文件添加到Function项目,设置文件属性为「复制到输出目录」
    • 在HTML中通过@font-face声明嵌入:
      @font-face {
          font-family: 'CustomFont';
          src: url('./fonts/CustomFont.ttf') format('truetype');
          font-weight: normal;
          font-style: normal;
      }
      
    • 路径需对应字体文件在Function运行目录的实际位置,可通过Environment.CurrentDirectory获取运行路径拼接。
  2. 验证字体名称正确性

    • CSS中font-family的名称必须与字体文件的内部名称一致(非文件名),可通过Windows字体查看器等工具确认。
  3. Linux环境额外处理

    • Linux版Function默认字体较少,可在启动脚本中安装额外字体包:
      apt-get update && apt-get install -y fonts-wqy-microhei
      
    • 注意:Azure Function临时文件系统会在冷启动时重置,若需持久化字体,建议使用预安装字体的自定义镜像。

内容的提问来源于stack exchange,提问作者Angelo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 12:07:01