【Python】PyMuPDF模块将PDF转换为图片
上一篇文章介绍了pdf2image模块+poppler将PDF转换为图片,这篇文章主要介绍另外一个模块PyMuPDF。
PyMuPDF(又名“fitz”):MuPDF的Python绑定,它是一个轻量级的PDF和XPS查看器。该库可以访问PDF,XPS,OpenXPS,epub,漫画和小说书籍格式的文件,并以其顶级性能和高渲染质量而闻名。
第三方库 PyMuPDF 在 python 环境下对 PDF 文件的操作,特别是图片和pdf之间相互转换比较方便,并且能较方便的执行一些如追加删除之类的功能。
文档地址:https://pymupdf.readthedocs.io/en/latest/
github地址:https://github.com/pymupdf/PyMuPDF
# -*- coding: utf-8 -*-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者:cacho_37967865
#博客:https://blog.csdn.net/sinat_37967865
#文件:PyMuPDFModel.py
#日期:2019-10-10
#备注:pip install PyMuPDF
https://github.com/pymupdf/PyMuPDF
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
import fitz
from operator import itemgetter
import os
import time
from saveFile import a_save_txt
# 将pdf转换为图片
def pdf_to_image(pdfPath, imagePath):
pdfDoc = fitz.open(pdfPath)
for pg in range(pdfDoc.pageCount):
page = pdfDoc[pg]
pix = page.getPixmap(alpha=False) # 默认是720*x尺寸
if not os.path.exists(imagePath):
os.makedirs(imagePath)
pix.writePNG(imagePath+'/'+'images_%s.jpg' % pg) #将图片写入指定的文件夹内
# 将pdf转换为txt文字
def pdf_to_text(pdfPath, textPath):
doc = fitz.open(pdfPath)
for page in doc:
text = page.getText()
print(text)
a_save_txt(textPath,text)
def pdf_to_TextBlocks(pdfPath, textPath):
doc = fitz.open(pdfPath)
for page in doc:
blocks = page.getTextBlocks()
sb = sorted(blocks, key=itemgetter(1, 0))
for b in sb:
print(b[4])
def main():
sTime = time.time()
#pdf_to_image('1.pdf', 'F:\image\\output\\')
pdf_to_text('1.pdf', 'F:\image\pdftxt.txt')
#pdf_to_TextBlocks('1.pdf', 'F:\image\pdftxt.txt')
eTime = time.time()
s = eTime - sTime
print('花费的时间为:%.2f秒' % (s))
if __name__ == '__main__':
main()
还没有评论,来说两句吧...