import fitz
import re
def process_pdf(pdf_file_path, temp_dir, start_page):
# 正则切出文件信息,以提供给文件命名使用
file_name = re.findall(r'\\(.+).pdf', pdf_file_path)[0].split('\\')[-1]
doc = fitz.open(pdf_file_path)
page_number = start_page
for pg in range(doc.pageCount):
page = doc[pg]
rotate = int(0)
# 每个尺寸的缩放系数为1.3,这将为我们生成分辨率提高2.6的图像。
# 此处若是不做设置,默认图片大小为:792X612, dpi=96
zoom_x = 3.0 # (1.33333333-->1056x816) (2-->1584x1224)
zoom_y = 3.0
mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
pix = page.getPixmap(matrix=mat, alpha=False)
image_path = f'{temp_dir}\\{page_number}-{file_name}.jpg'
pix.writePNG(image_path) # 将图片写入指定的文件夹内
page_number += 1
return page_number
pdf_file_path = r'要拆分的pdf路径'
temp_dir = r'要保存的路径'
start_page = 1 # 页码数
return_content = process_pdf(pdf_file_path, temp_dir, start_page)
print(return_content)
使用python将PDF拆分成图片
最新推荐文章于 2024-07-19 16:36:18 发布