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

如何使用pymupdf的add_freetext_annot添加粗体文本注释?

在PyMuPDF中为自由文本注释设置粗体文本

要通过add_freetext_annot实现粗体注释文本,核心是指定粗体字体,PyMuPDF支持直接使用内置粗体字体或自定义粗体字体文件,具体操作如下:

使用内置粗体字体

PyMuPDF内置了常见的粗体字体(如Helvetica-Bold、Times-Bold等),直接在参数中指定字体名即可:

import fitz

# 打开目标PDF
doc = fitz.open("input.pdf")
page = doc[0]

# 定义注释区域与文本内容
annot_rect = fitz.Rect(50, 50, 250, 100)
bold_text = "这是粗体注释内容"

# 添加带粗体文本的自由注释
page.add_freetext_annot(
    rect=annot_rect,
    text=bold_text,
    fontname="Helvetica-Bold",  # 指定内置粗体字体
    fontsize=14,
    text_color=fitz.utils.getColor("blue"),
    fill_color=fitz.utils.getColor("#f0f0f0")
)

# 保存修改后的PDF
doc.save("output_bold.pdf")
doc.close()

使用自定义粗体字体文件

如果需要使用特定的自定义粗体字体,先注册字体再调用:

import fitz

# 注册自定义粗体TTF字体
font_path = "your-bold-font.ttf"
# 获取注册后的字体名称
custom_font = fitz.Font(font_path)
font_name = custom_font.name

# 打开PDF并添加注释
doc = fitz.open("input.pdf")
page = doc[0]
annot_rect = fitz.Rect(50, 150, 250, 200)
page.add_freetext_annot(
    rect=annot_rect,
    text="自定义粗体字体注释",
    fontname=font_name,
    fontsize=14
)

doc.save("output_custom_bold.pdf")
doc.close()

注意:部分PDF阅读器可能对某些字体的兼容性有限,测试时建议使用主流阅读器验证显示效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 17:59:54