看PDF文件多年, 我才知道PDF文件可以这样搜索, 一般来说, 从电子书的角度, PDF文件可以分为这么几类:
1. 扫描版, 本质就是图像, PDF文件本身就不可搜索
2. 文字版, 在Acrobat中可以选择, 可以copy, 可以加高亮等等其它形式的编辑
3. 双层PDF, 即既有图像, 又有文字, 兼有1和2 的好处, 这种文件的来源一般是用 Abbyy 类似的工具, 对扫描版的PDF 进行OCR后另存为PDF文件时, 可以进行选择, 我个人的经验是, 只对纯英文的文档才可行, 而且另存时, 选择图像在上, 文字在下效果最好, 这样完整地再现了原文的风貌, 同时又可以搜索, 选择, copy文字.
对于含有文字的PDF进行搜索, 如果用一般的那个搜索窗口, 速度很慢, 如果对于大文档, 可能是你的耐心不能忍受的, 比网页上的搜索慢很多, 比word中的搜索也慢很多, 更不要提vim, emacs, 或用grep的搜索.
加速这个搜索速度的办法我以前用过一个, 基本原理是从PDF中先抽取所有文字, 再用一般的文本工具进行搜索, 如pdf2txt, 代表性的工具是 PowerGrep, 收钱的, 可以直接搜索PDF和word文档, 但是, 搜索结果是以文本形式呈现在结果窗口中的, 不能得到搜索结果在原文中的观感.
现在, 在看 "The TCP-IP Guide"一书的电子版时, 该书作者在书中提到, 他制作了个.PDX文件, 可以极大地加速搜索速度, 一开始我以为作者是用特殊工具制作的, 所以满世界找这个pdx文件下载, 最后还真找到了, 但是PDF版本不对, 我的Acrobat是9的, 作者制作的是7的, 搜索时出现错误.
注意到网上有文章提到用acrobat catalog工具制作, 下面是我试验后证明好用的流程:
首先注意的是, 制作索引的单位是目录, 它会在目录下找所有的PDF文件, 如果你想单独为一个文件制作, 那就得把它放到一个干净的目录中. 排除干扰.
其次, 如果文档名为a.pdf, 而同目录下有a.pdx 的文件, 则这个索引会在打开PDF文件时自动加载, 如上图中第一幅所示.
使用的结果: 很快. 快到对1600多页的文档进行搜索, 1秒之内出结果.
不足: 倒不是这种办法本身的不足, 而是Acrobat对PDF提供的搜索功能, 不支持正则表达式, 搜索功能太弱.
阅读(3650) | 评论(0) | 转发(0) |