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)
相关推荐
金銀銅鐵40 分钟前
[Python] 模 n 乘法的逆元计算器
python·数学·游戏
aqi001 小时前
15天学会AI应用开发(十)把文本嵌入模型换成国产模型
人工智能·python·ai编程
金銀銅鐵18 小时前
[Python] 扩展欧几里得算法
python·数学·算法
Duckdblab18 小时前
DuckDB 性能调优终极指南:打造闪电般的分析体验
python
带派擂总19 小时前
Python全栈开发精华版最全合集(包含各种面试题) Day24_异常和错误
python
金銀銅鐵1 天前
n^5 和 n 的个位数是否总相等?
python·数学
aqi001 天前
15天学会AI应用开发(九)利用Chroma持久化向量数据
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵1 天前
借助 Pygame 探索最大公约数的规律
python·数学·游戏