单面打印机双面打印———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拆分重排相关推荐

  1. android pdf重排软件,PDF拆分重排(paper for kindle)

    PDF拆分重排(paper for kindle)将原有的PDF文件, 拆成适合Kindle的小页PDF. 这样做, 用电脑处理保证了处理速度和准确度; 生成的PDF文件内容仍然为文本, 可以进行标注 ...

  2. 鸿蒙系统电脑适配双面打印机,win10系统实现打印机双面打印的操作方法

    win10系统实现打印机双面打印的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统实现打印机双面打印的的现象,根据小编的调查并不是所有的朋友都知道win10系统实现打印机双面打印的 ...

  3. PDF虚拟打印机怎么打印成PDF文件

    在日常工作当中我们在处理文件的时候,需要使用打印机将文件打印成pdf文件,可是身边又没有打印机,这时候就需要用到虚拟打印机了,那么PDF虚拟打印机怎么打印成PDF文件呢? 小编在这里给大家介绍PDF虚 ...

  4. 509实验室打印机双面打印的方法

    1.首先IP地址为:10.20.105.145 方法1: 1.用wps有个双面打印,然后打印完需要把打印完单面的纸给纵向翻转,让有字体的那一面朝上,并且字的朝向为右,最后一步就是把这些纸的最上面的挪到 ...

  5. 打印机怎么选择双面打印,支持双面打印资料的平台

    使用打印机怎么选择双面打印?双面打印在我们日常打印时都是比较常用的,选择双面打印可以节省打印的费用,提高打印纸张的利用率,但是并不是每一个打印店都支持为大家双面打印资料,有些打印平台是不支持双面打印的 ...

  6. python打印机打印图片_python连接打印机实现打印文档、图片、pdf文件等功能

    引言 python连接打印机进行打印,可能根据需求的不同,使用不同的函数模块. 如果你只是简单的想打印文档,比如office文档,你可以使用ShellExecute方法,对于微软office的文档.p ...

  7. 单面打印机打印双面小册子

    总结关键点: 1.页数是4的倍数,不是的话在文件的前后同时添加空白页(前后的空白页会组成最外面的纸张): 2.装订全部选择左/短边(尽管实际上是中线装订,并非靠边装订): 3.进纸盒里要准备至少文档四 ...

  8. LODOP纸张/打印机/份数/打印方向/双面打印 简短问答

    纸张 #如何设置纸张 纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html 纸张的一些优先级 http://blog.sina.co ...

  9. 打印机手动打印双面的防止顺序

    经过一系列浪费大量墨水和纸张的测试以后,得到以下经验: 文章目录 1. 将打印的文档转换成PDF后点击打印 2. 先选择打印奇数页面,不勾选逆序打印. 3. 打印完成后,如果总页数为奇数,那么抽掉最后 ...

  10. macOS下不支持双面打印功能的惠普打印机如何进行手动双面打印

    使用 HP 打印机在纸张的正反两面打印 使用打印驱动程序中的设置,在 HP InkJet 打印机或 LaserJet 打印机上设置双面打印作业. 双面打印 (Windows) 使用 HP 打印机软件在 ...

最新文章

  1. npm scripts的生命周期管理
  2. 宏基因组合种华山松、云杉专车3天领证
  3. 基于SSH实现健身俱乐部管理系统
  4. 60%的安卓APP存在漏洞,平均每个有39个漏洞
  5. eclipse全局搜索_Eclipse如何进行全局搜索和单页面搜索?
  6. 使用lvs搭建负载均衡集群
  7. android studio怎么输入中文,Android studio 模拟器中输入中文
  8. MyBatis-Plus Wrapper条件构造器查询
  9. Keras中CNN联合LSTM进行分类
  10. BZOJ2134 单选错位
  11. 数值计算及matlab实现,用MATLAB实现数值计算
  12. 7-1 十二进制字符串转换成十进制整数(PTA)
  13. innodb中的行格式——Compact、Dynamic、Compressed、Redundant详解
  14. 牛顿迭代法求求一个数的算术平方根
  15. python的list怎么取后几个元素
  16. python 合成gif与拆分gif为png图片
  17. gnuplot 使用示例
  18. 【配送路径规划】蚁群算法求解配送路径最短问题【含Matlab源码 2222期】
  19. kafka 命令重新启动_命令行基础知识:关闭和重新启动
  20. 西安天讯:怎样添加百度蜘蛛访问网站日志log日志

热门文章

  1. 模2除法怎么计算,模2除法最简单的理解
  2. 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
  3. pandas教程(上)
  4. 5G关键技术之NFV
  5. dell3900机型安装xp64位操作系统
  6. 3.IIC总线介绍及使用
  7. 阿里云——零基础入门语音识别——食物声音识别——代码跑通及解析
  8. Ti芯片 bq76940锂电池管理系统BMS资料,源程序+PDF原理图,主控stm32f030。
  9. JavaWeb-HTML
  10. android T 前台Service