Python pdf转换为html

描述:

最近在工作中遇到 pdf转换为html,找了很多个库,最后发现两个好用的pdf转html的库,特此记录

1.方法一:使用Spire.PDF for Python

Spire.PDF是收费的,但是pdf转换为html的效果是最好的

bash 复制代码
 pip install Spire.PDF
python 复制代码
from spire.pdf.common import *
from spire.pdf import *


# spire.pdf pdf转换为html
def spire_convert_html(pdf_path, html_path):
    try:
        # 创建一个 PdfDocument 类的对象
        doc = PdfDocument()
        # 加载一个 PDF 文档
        doc.LoadFromFile(pdf_path)
        # 将文档转换为 HTML 格式并保存
        doc.SaveToFile(html_path, FileFormat.HTML)
        doc.Close()
    except Exception as e:
        print(e)

2.方法二:使用PyMuPDF(fitz) pdf转换为html

PyMuPDF是开源免费的,效果还可以

tqdm是Python进度条库,若不用可以不安装该库

bash 复制代码
pip install PyMuPDF
pip install tqdm  
python 复制代码
import fitz
from tqdm import tqdm


# PyMuPDF(fitz) pdf转换为html
def fitz_convert_html(pdf_path, html_path):
    try:
        doc = fitz.open(pdf_path)
        html_content = ("<!DOCTYPE html><html lang=\"zh-CN\"><head><meta "
                        "charset=\"UTF-8\"><title>Title</title></head><body>")
        # tqdm是Python进度条库, 若不用: for page in doc
        for page in tqdm(doc):
            html_content += page.get_text('html')
            html_content += "</body></html>"
            # 保存html
        with open(html_path, 'w', encoding='utf8') as f:
            f.write(html_content)
    except Exception as e:
        print(e)
相关推荐
外收内放3 分钟前
06 | 优化篇① 游戏改名《鳞光纪》了:这次翻新,把“脸“全换了
python·游戏·pygame
计算机毕业编程指导师6 分钟前
【大数据毕设选题】基于Spark的电信网络诈骗话术语义特征挖掘分析系统源码 毕业设计 选题推荐 数据分析 机器学习 深度学习
大数据·hadoop·python·spark·毕业设计·课程设计·网络诈骗
for_ever_love__11 分钟前
电商订单数据清洗实战——Pandas 处理缺失值、重复单与异常金额
python·数据分析·pandas·数据清洗
计算机毕业编程指导师12 分钟前
计算机大数据毕设怎么选?基于Spark的个体肥胖健康风险评估的数据分析与可视化系统带你通关 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·毕业设计·肥胖风险
坤坤子吖12 分钟前
Python基础语法学习:函数
开发语言·笔记·python·学习
玖石书13 分钟前
linux 安装uv(python虚拟环境管理)
linux·python·uv
言乐617 分钟前
Python体现逻辑回归和决策树的区别
开发语言·python·算法·决策树·逻辑回归
LOVE️YOU23 分钟前
Python 类与对象的核心逻辑:从 self、cls 到点号、括号与链式调用
开发语言·python
空心木偶☜36 分钟前
A2A2A(多智能体协作)
开发语言·python·ai·ai编程
Cc.Y38 分钟前
Java零基础入门:类与对象深度掌握 —— 从“零散变量“到“打包管理“
java·开发语言·python