Python使用到第三方库PyMuPDF图片与pdf相互转换
使用Python进行图片和pdf之间的相互转换
使用到第三方库PyMuPDF在python环境下对PDF文件的操作。
PDF转为图片
需新建文件夹pdf2png
importfitz
importglob
defrightinput(desc):
flag=True
while(flag):
instr=input(desc)
try:
intnum=eval(instr)
iftype(intnum)==int:
flag=False
except:
print('请输入正整数!')
pass
returnintnum
pdffile=glob.glob("*.pdf")[0]
doc=fitz.open(pdffile)
flag=rightinput("输入:1:全部页面;2:选择页面\t")
ifflag==1:
strat=0
totaling=doc.pageCount
else:
strat=rightinput('输入起始页面:')-1
totaling=rightinput('输入结束页面:')
forpginrange(strat,totaling):
page=doc[pg]
zoom=int(100)
rotate=int(0)
trans=fitz.Matrix(zoom/100.0,zoom/100.0).preRotate(rotate)
pm=page.getPixmap(matrix=trans,alpha=False)
pm.writePNG('pdf2png/%s.png'%str(pg+1))
图片合并为PDF文件
将所需合并的图片放置与文件夹pic2pdf中。
importglob
importfitz
importos
defpic2pdf():
doc=fitz.open()
forimginsorted(glob.glob("pic2pdf/*")):#读取图片,确保按文件名排序
print(img)
imgdoc=fitz.open(img)#打开图片
pdfbytes=imgdoc.convertToPDF()#使用图片创建单页的PDF
imgpdf=fitz.open("pdf",pdfbytes)
doc.insertPDF(imgpdf)#将当前页插入文档
ifos.path.exists("allimages.pdf"):
os.remove("allimages.pdf")
doc.save("allimages.pdf")#保存pdf文件
doc.close()
if__name__=='__main__':
pic2pdf()
好了今天为大家介绍的比较简单,希望大家能明天