如何使用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
相关产品推荐
相关产品推荐

