import fitz
import traceback
def pdf_to_image(pdf_path,save_path,zoom_x=5,zoom_y=5,rotation_angle=0):
'''
pdf_path file path
save_path save path
zoom_x x direction zoom in
zoom_y y direction zoom in
rotation_angle rotation angle
'''
try:
pdf = fitz.open(pdf_path)
except Exception as e:
print("Error:" + traceback.format_exc().__str__())
return 401
try:
name = pdf_path.split("/")[-1].split(".")[0]
for i in range(0,pdf.pageCount):
page = pdf[i]
trans = fitz.Matrix(zoom_x,zoom_y).preRotate(rotation_angle)
pixmap = page.getPixmap(matrix=trans,alpha=False)
file_name = save_path + name + "_" + str(i+1) + ".png"
pixmap.writePNG(file_name)
print("pdf to image and save done,save to :%s " % file_name )
pdf.close()
except Exception as e:
print("Error:" + traceback.format_exc().__str__())
return 402
if __name__ == "__main__":
pdf_path = "data/files/M123.pdf"
save_path = "data/result"
res = pdf_to_image(pdf_path=pdf_path,save_path=save_path)
print("Result Code:",res)