# coding:utf-8
import os
import fitz # PyMuPDF
def pdf_underline_text(pdf_path, search_text, output_path=None):
"""
在PDF文件中指定的文字下划线,或高亮显示
:param pdf_path: PDF文件路径
:param search_text: 需划线的文字
:param output_path: 输出路径,默认none
:return:
"""
if not output_path:
output_path = f'{os.path.splitext(pdf_path)[0]}_注释{os.path.splitext(pdf_path)[1]}'
# 打开 PDF 文件
pdf_document = fitz.open(pdf_path)
for page_number in range(pdf_document.page_count):
page = pdf_document[page_number]
# 在页面上搜索文本
text_instances = page.search_for(search_text)
# 在找到的文本下划线
for inst in text_instances:
# 添加下划线时可以适当增加bottom的值,避免线条贴着文字显示
inst[3] = inst[3] + 5
page.add_underline_annot(inst) # 文本下划线
# page.add_highlight_annot(inst) # 文本高亮
# 保存修改后的 PDF
pdf_document.save(output_path)
pdf_document.close()
python在PDF文件指定文字下划线
发布时间 2023-12-05 14:40:37作者: cnblogs用户