1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python实现jpg png等图片格式转为PDF

python实现jpg png等图片格式转为PDF

时间:2022-05-01 04:01:12

相关推荐

python实现jpg png等图片格式转为PDF

import globimport osimport fitzdef img2pdf_all2all(img_path,img_type,pdf_path):"""文件夹中指定img类型图片转换为相同名称的PDF文件,保存至指定文件夹:param img_path: 输入图片文件夹路径:param img_type: 图片类型,如jpg、png等:param pdf_path: 指定PDF输出路径:return:"""for img in sorted(glob.glob(img_path+"\*.%s" % img_type)):# 先修改好文件名# os.path.basename 返回path最后的文件名。如果path以 / 或 \ 结尾,就会返回空值filename = os.path.basename(img).replace(img_type, 'pdf')doc = fitz.open()imgdoc = fitz.open(img)pdfbytes = imgdoc.convert_to_pdf()imgpdf = fitz.open('pdf', pdfbytes)doc.insert_pdf(imgpdf)doc.save(pdf_path+'\\'+filename)doc.closedef img2pdf_all2one(img_path,img_type,pdf_path,pdf_name):"""文件夹中指定img类型图片转换为一个指定名称的PDF文件,保存至指定文件夹:param img_path: 输入图片文件夹路径:param img_type: 图片类型,如jpg、png等:param pdf_path: 指定PDF输出路径:param pdf_name: 指定PDF输出文件名:return:"""doc = fitz.open()for img in sorted(glob.glob(img_path+'\*.%s' % img_type)):imgdoc = fitz.open(img)pdfbytes = imgdoc.convert_to_pdf()imgpdf = fitz.open('pdf', pdfbytes)doc.insert_pdf(imgpdf)doc.save(pdf_path+pdf_name)doc.closeif __name__ == '__main__':# 图片文件夹路径img_path = "../../datas/img_input/"# 图片输出文件夹路径pdf_path = "../../datas/img_output/"pdf_name = "1.pdf"# 指定png格式转换对应 同名的PDF文件img2pdf_all2all(img_path,'png',pdf_path)# 指定png格式图片 转换为 1个指定的PDF文件img2pdf_all2one(img_path,'png',pdf_path,'allpng.pdf')

注意:

1、python解释器的版本要求是3.6以及之后的版本。因为pymupdf要求

2、fitz包必须是先从pymupdf库中的,所以需要先确定环境中没有同名的fitz包,删除后,然后下载pymupdf

pip install --upgrade pip

pip install --upgrade pymupdf

运行,实现的效果如下:

最后,如果你还有任何问题,可以随时评论/私信,如果SHOKO看到后,会答复哈~

附录:pymupdf源码

GitHub - pymupdf/PyMuPDF: Python bindings for MuPDF's rendering library.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。