我正在尝试使用pyPDF编写几个

python脚本将PDF页面分成六个单独的页面,正确排序(通常是正面和背面打印,因此每隔一页需要对其子页面进行不同的排序),并删除生成的空白页面输出文档的结尾.

我编写了以下脚本来剪切PDF页面并重新排序.将每个页面分成两列,每列分成三页.我对python不是很有经验,所以请原谅我做得不对的任何事情.

#!/usr/bin/env python

import copy, sys

from pyPdf import PdfFileWriter, PdfFileReader

input = PdfFileReader(sys.stdin)

output = PdfFileWriter()

for i in range(0,input.getNumPages(),2):

p = input.getPage(i)

q = copy.copy(p)

r = copy.copy(p)

s = copy.copy(p)

t = copy.copy(p)

u = copy.copy(p)

(x, y) = p.mediaBox.lowerLeft

(w, h) = p.mediaBox.upperRight

p.mediaBox.lowerLeft = (x, 2 * h / 3)

p.mediaBox.upperRight = (w / 2, h)

q.mediaBox.lowerLeft = (w / 2, 2 * h / 3)

q.mediaBox.upperRight = (w, h)

r.mediaBox.lowerLeft = (x, h / 3)

r.mediaBox.upperRight = (w / 2, 2 * h / 3)

s.mediaBox.lowerLeft = (w / 2, h / 3)

s.mediaBox.upperRight = (w, 2 * h / 3)

t.mediaBox.lowerLeft = (x, y)

t.mediaBox.upperRight = (w / 2, h / 3)

u.mediaBox.lowerLeft = (w / 2, y)

u.mediaBox.upperRight = (w, h / 3)

a = input.getPage(i+1)

b = copy.copy(a)

c = copy.copy(a)

d = copy.copy(a)

e = copy.copy(a)

f = copy.copy(a)

(x, y) = a.mediaBox.lowerLeft

(w, h) = a.mediaBox.upperRight

a.mediaBox.lowerLeft = (x, 2 * h / 3)

a.mediaBox.upperRight = (w / 2, h)

b.mediaBox.lowerLeft = (w / 2, 2 * h / 3)

b.mediaBox.upperRight = (w, h)

c.mediaBox.lowerLeft = (x, h / 3)

c.mediaBox.upperRight = (w / 2, 2 * h / 3)

d.mediaBox.lowerLeft = (w / 2, h / 3)

d.mediaBox.upperRight = (w, 2 * h / 3)

e.mediaBox.lowerLeft = (x, y)

e.mediaBox.upperRight = (w / 2, h / 3)

f.mediaBox.lowerLeft = (w / 2, y)

f.mediaBox.upperRight = (w, h / 3)

output.addPage(p)

output.addPage(b)

output.addPage(q)

output.addPage(a)

output.addPage(r)

output.addPage(d)

output.addPage(s)

output.addPage(c)

output.addPage(t)

output.addPage(f)

output.addPage(u)

output.addPage(e)

output.write(sys.stdout)

然后我使用以下脚本删除空白页.

#!/usr/bin/env python

import copy, sys

from pyPdf import PdfFileWriter, PdfFileReader

input = PdfFileReader(sys.stdin)

output = PdfFileWriter()

for i in range(0,input.getNumPages()):

p = input.getPage(i)

text = p.extractText()

if (len(text) > 10):

output.addPage(p)

output.write(sys.stdout)

问题似乎是,当页面被明显裁剪下来时,文本绘制命令仍然存在.这些页面都不会被扫描,因此如果它们是空白的,则它们实际上是空白的.有没有人对我可以做的不同的事情有任何想法,或者可能采取完全不同的方法来删除空白页?我真的很感激任何帮助.

python 删除pdf页面_Python脚本使用pyPDF删除空白页面相关推荐

  1. Angular页面出不来,显示空白页面。。。

    Angular页面出不来,显示空白页面... ng serve -o --port 8888 启动正常, ng build --prod --base-href ./ 打包也正常, 什么错误信息都没有 ...

  2. python批量删除微信好友_python 脚本查看微信把你删除的好友--win系统版

    PS:目测由于微信改动,该脚本目前不起作用 下面截图来自原作者0x5e 相信大家在微信上一定被上面的这段话刷过屏,群发消息应该算是微信上流传最广的找到删除好友的方法了.但群发消息不仅仅会把通讯录里面所 ...

  3. python读取pdf文件_python读取pdf文件

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 一.安装pdfminer3k模块?二. 读取pdf文件import sysimp ...

  4. python刷网易云_Python脚本用于定时关闭网易云音乐PC客户端

    本文主要讲述如何使用Python在指定的秒数后关闭Windows上运行的程序(此程序以网易云音乐为例).本文的背景是昨晚发现网易云音乐的PC客户端没有定时关闭的功能,可以使用Python编写一个简单的 ...

  5. python读取pdf表格_Python使用Tabula提取PDF表格数据

    今天遇到一个批量读取pdf文件中表格数据的需求,样式大体是以下这样: python读取PDF无非就是三种方式(我所了解的),pdfminer.pdf2htmlEX 和 Tabula.综合考虑后,选择了 ...

  6. 利用python处理pdf文本_Python用于NLP :处理文本和PDF文件

    原标题:Python用于NLP :处理文本和PDF文件 提示:代码图片可以点击全屏查看,双指操作还可以放大缩小. 这是我的Python用于自然语言处理(NLP)系列文章的第一篇文章.在本文中,我们将从 ...

  7. python写入pdf文件_Python用于NLP :处理文本和PDF文件

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 这是我的Python用于自然语言处理(NLP)系列文章的第一篇文章.在本文中,我们将从Python for ...

  8. python处理pdf实例_Python实战-从菜鸟到大牛的进阶之路pdf_Python教程

    资源名称:Python实战-从菜鸟到大牛的进阶之路 pdf 第1章 Python 处理 cassandra 升级后的回滚脚本 第 2 章 多套方案来提高 python web 框架的并发处理能力 第 ...

  9. 用python汇总pdf文件_Python处理PDF文件-简译与总结

    最近看到一篇介绍Python中pyPDF模块的文章,详细介绍了使用pyPDF模块获取PDF文件信息,合并拆分PDF文件等功能.很方便,在此搬运分享以下: 全文介绍了以下几方面的功能 提取文件信息 旋转 ...

最新文章

  1. JWT的使用及登录账号
  2. PacBio Sequel概述
  3. Vivado中debug用法
  4. 我们常用的 Integer 内部为什么会去实现 Comparable 接口?
  5. 岗位推荐 | 阿里巴巴达摩院招聘自然语言处理、机器翻译算法专家
  6. boost::statechart模块实现使用正交状态和 state_downcast 查询正交区域的状态的测试程序
  7. 【QT 数据库专辑】【02】WIN7下搭建本地MYSQL数据库02 - 建立数据库的驱动程序-QT为例-完备版
  8. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制
  9. UVA 10246 Asterix and Obelix
  10. 计算机一级操作题题库在线,全国计算机一级操作题「题库」
  11. CentOS(Linux)安装KETTLE教程 并配置执行定时任务
  12. 三维扫描用于3D打印技术
  13. iTunes 给iPhone制作铃声
  14. 合并两个工作表怎么做?
  15. JAVA-stage3-day03-MybatisMybatisPlus
  16. 迅捷音频转换器如何提取音频文件教程
  17. 轻量化后台管理HTML设计页面
  18. 警告: Request method ‘POST‘ not supported。的原因之一——空格毁一生
  19. 免费好用的IPv6之一个有趣的需求——浅谈Openwrt的VLAN
  20. 【信息检索】链接分析

热门文章

  1. 软件流程图及功能节点图
  2. Android性能优化(三):响应优化
  3. 业内首发 | 区块链数据服务 - BDS
  4. PG系列3-客户端工具使用
  5. C 彩色艺术化二维码样式设计(仅说思路)
  6. 【笔记|C++】最大公约数、最小公倍数的四种求法
  7. 功率谱(PS)和功率谱密度(PSD)是否一样、谱估计谱图纵轴数值为什么为负
  8. 从零开始学CV之二损失函数篇(3)
  9. 微型计算机系统电子时钟程序设计,基于单片机的电子时钟设计 普通单片机电子时钟的设计的分析...
  10. Python 变量赋值和命名规则