文档管理中心

PDF广告杀手!(Part I,最小可运行程序) -- 编程小白的Python之旅1.1

学习了Python基本语法之后,总想着用来干点什么,一方面是可以从应用实践中加深对Python的理解,另一方面学了号称能搞定一切的Python不拿来解决点实际问题,有点太浪费了。正所谓“身怀利器,杀心自起”么(笑)。


眼前就有这么一个问题:因为工作关系,我从各种渠道下载保存了很多PDF格式的咨询报告、专题分析文档,有很多从互联网下载的文档都加入了广告页,而且大部分都不是来自原创者,而是分发者添加的,看着很碍眼。能不能把这些广告页都删掉呢?市面上当然有很多PDF编辑软件,但我硬盘上大概保存了几千份PDF文档,逐个打开文件去删也太浪费时间了。


好,那就把这个问题作为人生第一个编程实践,我称之为“PDF广告杀手”。


示例:下图中的第2页就是广告页



用Python编辑PDF要调用第三方库,其中一个是PyPDF2,对于“PDF广告杀手”项目来说足够用了。所以第一步用 pip install PyPDF2 命令在线安装PyPDF2库,库容量不大,几秒钟就装完了。



先针对某个我较常用的互联网渠道试个手,从其下载的PDF文档都在第2页加了广告页,只要把第2页删掉就OK了。实际程序要做的事情是:


  1. 读取原PDF文件;

  2. 把第1页读取到对象;

  3. 跳过第2页,通过for循环将第3页到最后一页添加到对象;

  4. 将存到对象的所有页写到一个新文件,文件名添加modified标记;



这样就实现了将指定PDF文件删除第2页后,保存为一个新文件。


当然,这段代码还没实现批量处理功能,要实现自动化得再加点东西。思路是将当前目录的pdf文件名全部存到一个列表中,然后通过循环读取列表值,依次处理每个文件。


为了处理目录和文件名,需要导入Python内置库os。



至此,我就完成了“PDF广告杀手”的最小可执行程序,初步实现了自动化批处理任务。几十篇PDF文档只需要几秒钟就处理完毕,几千篇文档也就是几分钟的事。


然而,我的PDF文件分类保存在不同目录下,如何实现自动遍历所有子目录并处理所有PDF文件呢?容我想想……


——————————————————


BY:HW-ZQX

点赞
收藏
回复
6
分享
举报
浏览1687 发布于2019-10-28 09:01未知归属地
全部评论
最多点赞
最新发布
最早发布
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。