学习了Python基本语法之后,总想着用来干点什么,一方面是可以从应用实践中加深对Python的理解,另一方面学了号称能搞定一切的Python不拿来解决点实际问题,有点太浪费了。正所谓“身怀利器,杀心自起”么(笑)。
眼前就有这么一个问题:因为工作关系,我从各种渠道下载保存了很多PDF格式的咨询报告、专题分析文档,有很多从互联网下载的文档都加入了广告页,而且大部分都不是来自原创者,而是分发者添加的,看着很碍眼。能不能把这些广告页都删掉呢?市面上当然有很多PDF编辑软件,但我硬盘上大概保存了几千份PDF文档,逐个打开文件去删也太浪费时间了。
好,那就把这个问题作为人生第一个编程实践,我称之为“PDF广告杀手”。
用Python编辑PDF要调用第三方库,其中一个是PyPDF2,对于“PDF广告杀手”项目来说足够用了。所以第一步用 pip install PyPDF2 命令在线安装PyPDF2库,库容量不大,几秒钟就装完了。
先针对某个我较常用的互联网渠道试个手,从其下载的PDF文档都在第2页加了广告页,只要把第2页删掉就OK了。实际程序要做的事情是:
读取原PDF文件;
把第1页读取到对象;
跳过第2页,通过for循环将第3页到最后一页添加到对象;
将存到对象的所有页写到一个新文件,文件名添加modified标记;
这样就实现了将指定PDF文件删除第2页后,保存为一个新文件。
当然,这段代码还没实现批量处理功能,要实现自动化得再加点东西。思路是将当前目录的pdf文件名全部存到一个列表中,然后通过循环读取列表值,依次处理每个文件。
为了处理目录和文件名,需要导入Python内置库os。
至此,我就完成了“PDF广告杀手”的最小可执行程序,初步实现了自动化批处理任务。几十篇PDF文档只需要几秒钟就处理完毕,几千篇文档也就是几分钟的事。
——————————————————
BY:HW-ZQX





































苏公安网备 32011402010933号