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

Python PDF转图片自定义输出

PDF转图片自定义输出

一、引入必要库

1
2
import fitz
import os

也可以检查一下版本就是了:print(fitz.__doc__)

上一篇文章已经介绍过要使用的库,和写代码要用到的思路了。我们直接开始:

二、找到文件

首先是我们要获取用户的输入:也就是说用户输入路径,我们呢只对这路径下面的文件进行处理:使用input()方法即可

1
dir=input("请输入要处理的文件夹或者文件路径")

当然我们可以展开让用户选择是否处理子文件夹,我这里暂且不谈。

那么我们需要判断用户输入的是一个pdf文件还是一个文件夹,这里使用介绍过的os.path.isdir()方法,当然用isfile也是一样,这里不做多余的事情就用这一个即可:

1
2
3
4
5
6
7
8
9
10
11
if os.path.isdir(dir):print("你选择了批处理文件夹",dir)path_list = os.listdir(dir)filelist=[]for filename in path_list:fileway=dir + "\\" + filenameif os.path.isdir(dir+"\\"+filename) == False: #如果不是文件夹filelist.append(fileway) #把文件路径加入列表else:print("你选择了处理单个文件",dir)

找到文件路径之后把他们加入了一个列表,接下来就是对他们的处理,这里我们选择向用户了解处理的方式和输出的方式。

1
2
3
4
severtype = input("请选择处理的方式:\n1.转png\n2.转jpg\n3.仅改名\n4.更多\n")nametype = input("请选择输出的文件命名格式:\n1.原文件相同带页标\n2.生成同名文件夹page加页标\n3.仅编号\n")outway = getoutway()  # 获取输出目录

注意这里的getoutway():

1
2
3
4
5
6
7
def getoutway():#确保路径正确outway=input("接下来选择处理后输出的路径")if os.path.isdir(outway) == False:print("请输入正确路径")outway=getoutway()return outway

然后我们就得到用户的想法了:这时我们需要对文件进行用户想要的操作,也就是一系列选择中找到用户需要的:

我们开始编写文件处理模块:这里默认使用单位矩阵处理pdf生成图像文件,我们可以生成更大的文件或者让用户设定dpi,这里我只实现设定缩放功能,dpi设置放在以后再完善。


http://www.mrgr.cn/news/30327.html

相关文章:

  • 基于LlamaIndex的应用开发中可选择的向量数据库分析
  • 【蓝桥杯 2021 省 B2】特殊年份
  • 008_SSH_Sqlserverl图书管理系统(学生注册 借书 还书)_lwplus87(免费送)
  • JMeter项目实战
  • uniapp使用echarts
  • 数据结构之二叉树前序,中序,后序习题分析(递归图)
  • redis为什么不使用一致性hash
  • 算法:双指针题目练习
  • 使用Postman轻松搞定文件上传测试
  • 文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
  • 内部工具使用
  • Vue学习记录之五(组件/生命周期)
  • python sqlite3数据库介绍(如何使用参数化查询防止SQL注入攻击)(直接通过网络让其他主机访问某台主机上的SQLite数据库是不被直接支持的)
  • sed awk 第二版学习(五)—— 高级 sed 命令
  • 利用反射实现动态代理
  • SQL案例分析:美联储降息前后的复利差距
  • 2024ICPC第一场网络赛补题
  • MATLAB系列09:图形句柄
  • 基于SpringBoot+Vue+MySQL的智能物流管理系统
  • CISP备考题库(八)
  • JavaScript Array 数组对象
  • HubSpot Sales Hub 是什么 | HubSpot Sales Hub:推动业务全球化的智能销售引擎
  • 【60天备战2024年11月软考高级系统架构设计师——第21天:系统架构设计原则——高内聚低耦合】
  • 0.5.4 知识库管理微调
  • 把设计模式用起来!(3)用不好模式?之时机不对
  • 【学习资料】袋中共36个球,红白黑格12个,问能一次抽到3个红4个白5个黑的概率是多少?