方法一: 使用spire.pdf
%%time
from spire.pdf.common import *
from spire.pdf import *
import os
# setup path
current_dir = os.getcwd()
output_path = os.path.join(current_dir, 'output')
if not os.path.exists(output_path):
os.makedirs(output_path)
pdf_path = os.path.join(current_dir, 'img', 'qrcode_test.pdf')
# create a PdfDcocument object
doc = PdfDocument()
# load pdf file
doc.LoadFromFile(pdf_path)
# convert pdf to html
doc.SaveToFile(os.path.join(output_path, 'PDF2HTML.html'), FileFormat.HTML)
doc.Close()
安装
pip install Spire.PDF
缺点:这个方法会每一页html都会有warning信息Evaluation Warning : The document was created with Spire.PDF for Python.且转换页数不超过10.
方法二: 使用spire.pdf
import fitz
from tqdm import tqdm
import os
def pdf2html(input_path, html_path):
doc = fitz.open(input_path)
print(doc)
html_content = "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"><title>Title</title></head><body style=\"display: flex;justify-content: center;flex-direction: column;background: #0e0e0e;align-items: center;\">"
for page in tqdm(doc):
html_content += page.get_text('html')
print("start print html file")
html_content += "</body></html>"
with open(html_path, 'w', encoding='utf8', newline="") as fp:
fp.write(html_content)
current_dir = os.getcwd()
output_path = os.path.join(current_dir, 'output')
if not os.path.exists(output_path):
os.makedirs(output_path)
pdf_path = os.path.join(current_dir, 'img', 'qrcode_test.pdf')
html_path = os.path.join(output_path, 'output.html')
pdf2html(pdf_path, html_path)
安装
pip install PyMuPDF
pip install tqdm
参考文章:
【Python | PDF】如何使用Python将PDF转换为HTML页面?_python pdf转html-CSDN博客