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)
相关推荐
zhanghaha13144 分钟前
Python进阶教程:35_PyQt (保姆级零基础教程)
开发语言·python·pyqt
信誓旦旦的程序猿35 分钟前
【Python 量化取数指南 #09】Python 拿港股通数据:港股通成交与港股财报实测
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据api
FYKJ_201036 分钟前
springboot羽毛球场地管理系统00626-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
Wx-bishekaifayuan44 分钟前
django医院营收信息预测系统49414-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
Wx-bishekaifayuan1 小时前
springboot会议室预约管理系统42030-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的房地产交易数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hive·hadoop·python·数据分析·spark·课程设计
Wx-bishekaifayuan1 小时前
springboot生活商城系统21035-计算机课程设计、毕业设计
spring boot·后端·python·spring·elasticsearch·golang·课程设计
FYKJ_20101 小时前
django药饮个性化推荐系统54839-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
天赐范式2 小时前
天赐范式第175天:让活着的成员互相验证——异质互验与重放反伪造
python·数字生命·天赐范式·动态运行时·互验·重放反伪造
Wx-bishekaifayuan2 小时前
springboot贵州旅游系统55916-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游