Python3 使用 PyMuPDF 库提取pdf中的字体文件

先安装 PyMuPDF 库:

pip install PyMuPDF

 

示例:

复制代码
import fitz

def extract_fonts(pdf_path):
    with fitz.open(pdf_path) as doc:
        num_pages = doc.page_count
        fonts = []

        for page_number in range(num_pages):
            font_info = doc.get_page_fonts(page_number, True)
            for font_tuple in font_info:
                # 打印所有字体信息
                # print(font_tuple)

                font_xref = font_tuple[0]
                font_ext  = font_tuple[1]
                font_type = font_tuple[2]
                font_name = font_tuple[3]

                if font_type != 'Type3':
                    if fonts.count(font_name) == 0:
                        font_data = doc.extract_font(font_xref)
                        # print(font_data)
                        with open(f"{font_name}.{font_ext}", 'wb') as font_file:
                            font_file.write(font_data[3])
                            fonts.append(font_name)
                        
        print(fonts)

pdf_path = 'sample.pdf'
extract_fonts(pdf_path)
复制代码

 

 

 

文档:https://pymupdf.readthedocs.io/en/latest/index.html

 

posted @   kjcy8  阅读(706)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示