zoukankan      html  css  js  c++  java
  • 使用Python直接把PDF转成图片

    Python中把PDF转成单个或多个图片

    现在有很多在线的pdf转图片工具,但是有些数据是不想联网,更不想把数据上传到别人的服务器进行转换,那么怎么办呢?正常的Java编写一个耗费时间;现在不是有Python吗,人家有库,用起来快有方便,那我们就直接拿来用就好了,多舒服;

    协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/

    版权声明:本文为原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

    一、安装Python环境

    这一步不想说了,这个比较简单。记得配置一下环境变量。不然运行脚本比较费劲!


    二、Python的PDF转PNG代码

    注意:第一步要安装库:pip install pymupdf

    #安装库 pip install pymupdf
    import os
    import fitz
    pdf_dir=[]
    
    def get_file():
    	docunames = os.listdir()
    	for docuname in docunames:
    		if os.path.splitext(docuname)[1]=='.pdf': #目录下包含.pdf的文件
    			pdf_dir.append(docuname)
    def conver_img():
    	for pdf in pdf_dir:
    		doc = fitz.open(pdf)
    		#pdf_name = os.path.splitext(pdf)[0]
    		pdf_name = os.path.splitext(pdf)[0]
    		print("====================================")
    		print("开始转换%s.PDF文档"%pdf_name)
    		print("====================================")
    		print("共",doc.pageCount,"页")
    		for pg in range(0,doc.pageCount):
    			print("
    转换为图片",pg+1,"/",doc.pageCount,end=";")
    			page=doc[pg]
    			rotate = int(0) #旋转角度
    			# 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像
    			zoom_x=2.0
    			zoom_y=2.0
    			print("")
    			trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
    			pm= page.getPixmap(matrix=trans, alpha=False)
    			pm.writePNG(r'./tu'+str(pdf_name)+'-'+'{:02}.png'.format(pg))
    if __name__=='__main__':
    	get_file()
    	conver_img()
    

    脚本和PDF要在同一个文件夹下。该脚本会对文件夹下的所有PDF进行转换。

    不定期会发布一些实用的Java开发文章
  • 相关阅读:
    标准差、方差、协方差的简单说明
    样本的均值和方差的无偏估计
    Network In Network——卷积神经网络的革新
    Rethinking the inception architecture for computer vision的 paper 相关知识
    VIM的自动补全
    substitute 命令与 global 命令
    两个月全马训练参照表
    初跑者秘诀
    python3入门教程
    使用Python3.x抓取58同城(南京站)的演出票的信息
  • 原文地址:https://www.cnblogs.com/lr393993507/p/15123044.html
Copyright © 2011-2022 走看看