当前位置: 首页 > news >正文

datetime转int_Python实例PDF转JPG

本次介绍的Python实例是将目录下的PDF文件批量转换为JPG格式。

演示视频:

拓展包安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyMuPDF

.py封装为exe:

https://blog.csdn.net/qq_32113189/article/details/83109566

背景:本次中考志愿填报以后不能现场确认,需要将下载的文件以图片的形式发给家长,由家长下载打印,然后再拍照发给学校。目前还不知道具体的操作流程,参照往年的经验,需要使用到PDF转JPG软件。

使用说明:

1.PDF文件和本软件需要放置在同一文件夹内。

2ab438ffb8f9035546b729b69ed9f513.png

2.运行软件

设置图片大小,输好以后按Eneter回车键确认。必须大于0,推荐2,数值越大转换速度越慢,画质越清晰。

3.转换结果

如果转换失败,程序会自动关闭。转换成功,显示转换的数量和时间。

3193da9776752af91f594ebabf6757a4.png

570fff0bf84de1244766c591beabb04b.png

点击阅读原文,下载exe程序, 提取码: 8x2r

程序代码:

# -*- coding: utf-8 -*-import sys, fitzimport osimport datetimedef getFileName(path):    ''' 获取指定目录下的所有指定后缀的文件名 '''        global pdfname    pdfname = []    f_list = os.listdir(path)    # print f_list    for i in f_list:        if os.path.splitext(i)[1] == '.pdf':            #print (i)            pdfname.append(i)    ''' PDF转JPG '''def pyMuPDF_fitz(pdfPath, imagePath):        print("正在处理PDF:%s.pdf" % imagePath)    pdfDoc = fitz.open(pdfPath)    for pg in range(pdfDoc.pageCount):        page = pdfDoc[pg]                rotate = int(0)        zoom_x = level        zoom_y = level               mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)        pix = page.getPixmap(matrix=mat, alpha=False)                if not os.path.exists(imagePath):#判断存放图片的文件夹是否存在            os.makedirs(imagePath) # 若图片文件夹不存在就创建        pix.writeImage(imagePath+'/'+'images_%s.jpg' % str(int(pg)+1))#将图片JPG格式写入指定的文件夹内        if __name__ == '__main__':    print("PDF文件和转换程序必须放在同一个文件夹里。\n如果有疑问,请联系谭力。")    print("请设置图片大小,输好以后按Eneter回车键确认。")    print("数值越大速度越慢,必须大于0,推荐2")    global level    level =float(1)    level = float(input(">"))    try:        error = 1/level    except:        print("请输入大于0的数字")        quit()        startTime_pdf2img = datetime.datetime.now()#开始时间    path = os.getcwd()    getFileName(path)    for pdfPath in pdfname:        sumpdf = len(pdfname)        #print(pdfPath)        imagePath = str(pdfPath)        imagePath = imagePath.split(".")        imagePath=str(imagePath[0])        #print(imagePath)        pyMuPDF_fitz(pdfPath, imagePath)    endTime_pdf2img = datetime.datetime.now()#结束时间    print('一共转换%s个PDF文件'% sumpdf)    print('一共用时%s秒:'%(endTime_pdf2img - startTime_pdf2img).seconds)    w = input("程序运行完毕,请关闭窗口")

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 艰难的shader系统
  • visual studio 怎么生成coredump文件_如何在docker容器中生成core dump
  • 对信息系统集成项目管理的一点看法
  • 电子工程师之家_「德语学习」电气、电子、电力什么区别?
  • javascript操作radio的几种方法
  • arcengine遍历属性表_【Python@arcpy】python操作Excel与属性表批处理
  • ExtremeTable的导出问题
  • 运动估计算法的程序实现_光流法--Lucas Kanade算法
  • 网吧系统母盘制作(系统分区整体考虑优化配置篇)
  • 点在多边形内_空间分析:2-4.Python生成泰森多边形
  • struts2的s:param标签使用
  • leetcode 打印_剑指 Offer 32 - I. 从上到下打印二叉树
  • 使用spring的MBeanExporter暴露hibernate的StatisticsService对象方法
  • springboot分页插件_Spring boot整合Mybatis Generator以及PageHelper源码分析
  • ext2.0不能与prototype1.6一起使用
  • JS 中的深拷贝与浅拷贝
  • [译]如何构建服务器端web组件,为何要构建?
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【面试系列】之二:关于js原型
  • download使用浅析
  • Linux CTF 逆向入门
  • markdown编辑器简评
  • mysql_config not found
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • win10下安装mysql5.7
  • Zepto.js源码学习之二
  • 后端_ThinkPHP5
  • 机器学习学习笔记一
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 为什么要用IPython/Jupyter?
  • 物联网链路协议
  • 协程
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 译米田引理
  • 责任链模式的两种实现
  • 带你开发类似Pokemon Go的AR游戏
  • # .NET Framework中使用命名管道进行进程间通信
  • (13)Hive调优——动态分区导致的小文件问题
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (多级缓存)缓存同步
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • *p++,*(p++),*++p,(*p)++区别?
  • .DFS.
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET微信公众号开发-2.0创建自定义菜单
  • @RequestBody与@ModelAttribute
  • @拔赤:Web前端开发十日谈
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [ACM独立出版] 2024年虚拟现实、图像和信号处理国际学术会议(VRISP 2024,8月2日-4)
  • [Android] 240204批量生成联系人,短信,通话记录的APK
  • [Android] Amazon 的 android 音视频开发文档
  • [C#]手把手教你打造Socket的TCP通讯连接(一)