如何批量删除PDF文档中的”www.it-ebooks.info“

      经常在http://www.it-ebooks.info/下载电子教程,但是下载的教程每页都会打上www.it-ebooks.info的标签。之前也没太注意,最近每次看到这些标签都有点小烦躁,想着是不是可以批量去除,首先考虑是在Adobe Acrobat XI Pro下去除水印,但是很遗憾参考很多网上的教程都没有处理掉。萌生了写个脚本批量处理的想法,在谷歌搜到一个外国人写的相关分析和教程,我觉得挺好的,也就依葫芦画瓢演示一遍,算是留个笔记吧。

      大致思路是,用hex编辑器打开PDF文件,找到带有www.it-ebooks.info的文本,然后全部替换成为空即可。

      因为我的ubuntu14.04虚拟机不带Bless Hex编辑器,首先需要安装。命令如下:

apt-get install bless

       在ubuntu14.04中使用bless打开需要处理的PDF文档,如下图所示:

orig 
      接下来,我们来找这里面的www.it-ebooks.com字符串。在两个地方存在www.it-ebooks.com字符串,一个是在link中,一个是在text中。我们来看link中的www.it-ebooks.com。如下图所示:
link 
      图中选中的部分即是link中的www.it-ebooks.com。link中的结构如下:
<<
/Type /Annot
/Subtype /Link
/Rect [ 210 18.5 294 6.5 ]
/Border [ 0 0 0 ]
/A <<
/Type /Action
/S /URI
/URI (http://www.it-ebooks.info/)
>>
>>
      查看了一下《Developing with PDF》这本书,一对双角括号代表一个Dictionary对象,其中包含属性和对象的值。上面得到的就是link中的www.it-ebooks.com。接下来,我们来找text中的www.it-ebooks.com部分。如下图所示:
text 
      text中的结构如下:
BT
1 0 0 1 0 0 Tm
(www.it-ebooks.info)Tj
ET
      我们只要把以上两部分的内容替换为空字符就可以删除整个PDF文档中的www.it-ebooks.com水印了。
      接下来,我们编写一个python脚本来自动化进行这个过程:源码放在GitHub上面。

       参考文献:http://www.rawcoders.com/Thread-How-To-Remove-it-ebooks-info-watermark-from-pdfs
posted @ 2015-02-11 11:40  ShadonSniper  阅读(439)  评论(0编辑  收藏  举报