单面打印机双面打印———python pdf拆分重排
单面打印机双面打印———pdf拆分重排
思路
将pdf文件拆分为正序奇数页和倒叙偶数页分别打印
代码
from PyPDF2 import PdfFileReader, PdfFileWriter
import os
def aprtment(file_name):with open(file_name,'rb') as infile:reader = PdfFileReader(infile)number_of_pages=reader.getNumPages()for i in range(number_of_pages):writer=PdfFileWriter()writer.addPage(reader.getPage(i))out_file_name=file_name[:-4]+str(i)+'.pdf'with open(out_file_name,'wb') as outfile:writer.write(outfile)
def merge(list_info,outfile,add_blank=False):pdf_output=PdfFileWriter()if add_blank:pdf_input = PdfFileReader('blank.pdf')pdf_output.addPage(pdf_input.getPage(0))for infn in list_info:pdf_input=PdfFileReader(infn)pdf_output.addPage(pdf_input.getPage(0))with open(outfile, 'wb') as w:pdf_output.write(w)def manage_deal(file_name):file_name=file_name[:-4]file_list=[]for i in os.listdir():if file_name in i and len(i)>len(file_name)+4:file_list.append(i)file_list_num=range(len(file_list))right_orde=[]reserve_orde=[]if len(file_list)%2!=0:x=2else:x=1for i in range(0,len(file_list),2):right_orde.append(file_name+str(file_list_num[i])+'.pdf')for i in range(len(file_list)-x,-1, -2):reserve_orde.append(file_name+str(file_list_num[i])+'.pdf')return [right_orde,reserve_orde]
def delect_file(file_list):for i in file_list:os.remove(i)
for file_name in os.listdir():if '.pdf' in file_name :with open(file_name, 'rb') as infile:reader = PdfFileReader(infile)number_of_pages = reader.getNumPages()if number_of_pages>1:aprtment(file_name)[right_orde,reserve_orde]=manage_deal(file_name)merge(right_orde, '正序'+file_name)if len(right_orde)>len(reserve_orde):merge(reserve_orde, '倒序' + file_name,add_blank=True)else:merge(reserve_orde, '倒序' + file_name, add_blank=False)delect_file(right_orde+reserve_orde)
运行后会将当下文件夹内页数大于1的pdf进行拆分,生成一个正序一个倒序两个文件。
注意:
运行的文件夹里需要有空白页文件“blank.pdf”
下载地址:
https://gibsjjs-my.sharepoint.com/:u:/g/personal/1375626371_365edu_co/EVZz7tLQBMFLvuDvF6eg5kYBsaENz7I6pt0bLViSdMR7fQ?e=cl926O
单面打印机双面打印———python pdf拆分重排相关推荐
- android pdf重排软件,PDF拆分重排(paper for kindle)
PDF拆分重排(paper for kindle)将原有的PDF文件, 拆成适合Kindle的小页PDF. 这样做, 用电脑处理保证了处理速度和准确度; 生成的PDF文件内容仍然为文本, 可以进行标注 ...
- 鸿蒙系统电脑适配双面打印机,win10系统实现打印机双面打印的操作方法
win10系统实现打印机双面打印的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统实现打印机双面打印的的现象,根据小编的调查并不是所有的朋友都知道win10系统实现打印机双面打印的 ...
- PDF虚拟打印机怎么打印成PDF文件
在日常工作当中我们在处理文件的时候,需要使用打印机将文件打印成pdf文件,可是身边又没有打印机,这时候就需要用到虚拟打印机了,那么PDF虚拟打印机怎么打印成PDF文件呢? 小编在这里给大家介绍PDF虚 ...
- 509实验室打印机双面打印的方法
1.首先IP地址为:10.20.105.145 方法1: 1.用wps有个双面打印,然后打印完需要把打印完单面的纸给纵向翻转,让有字体的那一面朝上,并且字的朝向为右,最后一步就是把这些纸的最上面的挪到 ...
- 打印机怎么选择双面打印,支持双面打印资料的平台
使用打印机怎么选择双面打印?双面打印在我们日常打印时都是比较常用的,选择双面打印可以节省打印的费用,提高打印纸张的利用率,但是并不是每一个打印店都支持为大家双面打印资料,有些打印平台是不支持双面打印的 ...
- python打印机打印图片_python连接打印机实现打印文档、图片、pdf文件等功能
引言 python连接打印机进行打印,可能根据需求的不同,使用不同的函数模块. 如果你只是简单的想打印文档,比如office文档,你可以使用ShellExecute方法,对于微软office的文档.p ...
- 单面打印机打印双面小册子
总结关键点: 1.页数是4的倍数,不是的话在文件的前后同时添加空白页(前后的空白页会组成最外面的纸张): 2.装订全部选择左/短边(尽管实际上是中线装订,并非靠边装订): 3.进纸盒里要准备至少文档四 ...
- LODOP纸张/打印机/份数/打印方向/双面打印 简短问答
纸张 #如何设置纸张 纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html 纸张的一些优先级 http://blog.sina.co ...
- 打印机手动打印双面的防止顺序
经过一系列浪费大量墨水和纸张的测试以后,得到以下经验: 文章目录 1. 将打印的文档转换成PDF后点击打印 2. 先选择打印奇数页面,不勾选逆序打印. 3. 打印完成后,如果总页数为奇数,那么抽掉最后 ...
- macOS下不支持双面打印功能的惠普打印机如何进行手动双面打印
使用 HP 打印机在纸张的正反两面打印 使用打印驱动程序中的设置,在 HP InkJet 打印机或 LaserJet 打印机上设置双面打印作业. 双面打印 (Windows) 使用 HP 打印机软件在 ...
最新文章
- npm scripts的生命周期管理
- 宏基因组合种华山松、云杉专车3天领证
- 基于SSH实现健身俱乐部管理系统
- 60%的安卓APP存在漏洞,平均每个有39个漏洞
- eclipse全局搜索_Eclipse如何进行全局搜索和单页面搜索?
- 使用lvs搭建负载均衡集群
- android studio怎么输入中文,Android studio 模拟器中输入中文
- MyBatis-Plus Wrapper条件构造器查询
- Keras中CNN联合LSTM进行分类
- BZOJ2134 单选错位
- 数值计算及matlab实现,用MATLAB实现数值计算
- 7-1 十二进制字符串转换成十进制整数(PTA)
- innodb中的行格式——Compact、Dynamic、Compressed、Redundant详解
- 牛顿迭代法求求一个数的算术平方根
- python的list怎么取后几个元素
- python 合成gif与拆分gif为png图片
- gnuplot 使用示例
- 【配送路径规划】蚁群算法求解配送路径最短问题【含Matlab源码 2222期】
- kafka 命令重新启动_命令行基础知识:关闭和重新启动
- 西安天讯:怎样添加百度蜘蛛访问网站日志log日志