使用 python 进行图片和pdf之间的相互转换
使用到第三方库 pymupdf 在 python 环境下对 pdf 文件的操作。
pdf 转为图片
需新建文件夹 pdf2png
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import fitz import glob def rightinput(desc): flag = true while (flag): instr = input (desc) try : intnum = eval (instr) if type (intnum) = = int : flag = false except : print ( '请输入正整数!' ) pass return intnum pdffile = glob.glob( "*.pdf" )[ 0 ] doc = fitz. open (pdffile) flag = rightinput( "输入:1:全部页面;2:选择页面\t" ) if flag = = 1 : strat = 0 totaling = doc.pagecount else : strat = rightinput( '输入起始页面:' ) - 1 totaling = rightinput( '输入结束页面:' ) for pg in range (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 中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import glob import fitz import os def pic2pdf(): doc = fitz. open () for img in sorted (glob.glob( "pic2pdf/*" )): # 读取图片,确保按文件名排序 print (img) imgdoc = fitz. open (img) # 打开图片 pdfbytes = imgdoc.converttopdf() # 使用图片创建单页的 pdf imgpdf = fitz. open ( "pdf" , pdfbytes) doc.insertpdf(imgpdf) # 将当前页插入文档 if os.path.exists( "allimages.pdf" ): os.remove( "allimages.pdf" ) doc.save( "allimages.pdf" ) # 保存pdf文件 doc.close() if __name__ = = '__main__' : pic2pdf() |
好了今天为大家介绍的比较简单,希望大家能明天
原文链接:https://blog.csdn.net/XnCSD/article/details/80849996