1、PdgCntEditor是什么?
2、为何要用PdgCntEditor?
3、怎么用PdgCntEditor?正则表达式
这是一个目录编辑器,能够建立、编辑PDF、DjVu、PDG的目录,其中PDG支持图像版PDG目录(bookcontents.dat)和文字版PDG目录(catalog.dat),而且对于zip、uvz文件能够不解压直接编辑、保存其中的PDG目录。浏览器
固然这里首先要明确一下“目录”指的是什么。在纸质书中这个概念自己应该没有什么歧义,指的是在书籍正文以前的索引,用树形结构列出书中的章节号及其所对应的页码 。这样一方面能够看出书中的大概内容(大纲),另外一方面若是想直接翻到某章节则按照所对应的页码翻就好了。但在PDF、Djvu等电子文档中,对于一样的东西却有不一样的名称和做用。编辑器
对于PDF,在《PDF Reference》中与“目录”赞成的词是Outline(大纲),但在中文版Acrobat界面中用的词是“书签”(bookmark),即Acrobat左侧的导航窗口,点击能够跳到本文档中的指定位置,甚至是另一个文档中的指定位置。至于所跳位置是精确到页码仍是页面中章节号所在的位置,则取决于书签中的目标(Destination)是怎么定义的:若是是页码,则只能跳到章节所在页的开头;若是是命名书签或其余,则可跳到章节号所在位置,以下图所示。工具
对于DjVu,在《Lizardtech DjVu Reference V3》中用的词包括Outline(大纲)、Navigation(导航)和书签(bookmark),在WinDjView界面中则直接是“目录”(contents),以下图所示。但与PDF不一样,DjVu只能跳到制定页码,不能跳到页面中的某个位置。另外理论上说DjVu中的目录是容许跳到另一个文件的,但在PdgCntEditor中对此进行了限制,只能跳到本文档中的指定页码,不能跳到其余文件。学习
对于PDG,文件名中用的contents、catalog都是“目录”的意思,在官方版SSREADER界面中则称为“章节目录”,以下图所示。PDG目录只能跳到同一本书的指定页码,不能跳到另一本书或页面中的某个位置。字体
而在支持PDF、Djvu、PDG等多格式的浏览器UnicornViewer(简称UV)中,统一把以上各类文件的书签、大纲等统称为“目录”,以下图所示。代理
总之,在PdgCntEditor和本系列教程中,“目录”这个词就是对PDF、DjVu、PDG等电子文档格式中的大纲、导航、书签、目录的统称,具体表现形式就是在浏览器左侧显示的树形章节列表,点击就能够跳到指定的章节。blog
目前对于PDF、DjVu、PDG都有独立的目录编辑器,但同时支持这几种格式的目前彷佛只有PdgCntEditor,之后也大概不会再有。因此使用PdgCntEditor的理由也就很充分了:教程
固然在此以前可能还须要问一个问题:为何要建立或编辑目录?索引
先说为何要编辑目录。我这我的有点强迫症,一本电子书到手若是没有目录就算了(后面会详细说),但若是有目录却把目录作得乱七八糟,例如没有层级关系、页码不许确等,那是必定要修正过来的。恰恰我见过的PDG目录,尤为是老一点的PDG书籍的目录,按照个人标准基本上就没有不须要从新编辑的。因此强悍的下载软件在大多数状况下都能帮我下载到目录文件,有时候 却成了一种烦恼。
再说为何必定要有目录,即便没有现成的也要本身建立。这个主要是某些强迫症患者,若是看不到详细目录,不能经过目录跳来跳去,就会以为浑身不舒服,就算为此付出必定代价也行。某些论坛上收费或免费(其实仍是在赚论坛币)的目录制做代理就不说了,我甚至见过在网上把PdgCntEditor、UV打包出售,再收费开课讲怎么用这两个软件作目录的——还真有人为此付钱。因此我才决定免费发布这个系列教程,你们若是真有须要仍是学会自力更生吧,没有必要花那冤枉钱。
至于我本身,由于我一直都用UV看PDG、DjVu等文档,因此若是没有现成的目录文件,我通常状况下也就不折腾了:UV自己是支持同一个文档在多个窗口中打开的,因此打开一本书后若是发现没有目录,就经过“窗口->新建窗口”打开一个新窗口,而后定位到目录页,看看想跳到哪一个章节的页码,再切换到原先的浏览窗口,在右上角的浮动条中输入页码,一回车就跳过去了。
若是用的是最新版UV,并且跳的次数也不是很频繁,则没有必要单独为目录页开一个新窗口:在正常的浏览窗口中先定位到目录页,看看须要跳到哪一页,而后点击左侧目录窗口中的页码跳转(高版本UV会自动按照页码生成目录,用页码作目录项名称),或者在右上角的浮动条中输入页码跳过去。若是跳完后想再跳回到目录页,点击工具条上的“后退”按钮便可。注意v0.41以前的UV版本在后退、前进按钮的实现逻辑上有点问题,因此这种方法只能用于最新版本的UV。
但对于扫描版电子书,则还有一个不得不建立目录的理由:文本搜索。PDF、DjVu格式的扫描版能够内含隐藏文字用于搜索,但扫描版PDG就没有这种好事,因此就只能经过搜索目录文字 、bookinfo.dat文件等来查找内容 ,这也是当年我在readfree大力鼓吹咱们应该尽可能丰富bookinfo.dat文件内容的缘由:对于扫描版PDG,任何可用于搜索的文本都是弥足珍贵的。 在后面的教程中给出的全部PDG版例子中都含信息丰富的bookinfo.dat文件,有兴趣的能够和官方版SSREADER生成的对比一下,其实bookinfo.dat文件自己就是一个ini格式的文本文件,随便找一个文本编辑器都能打开。高版本UV能够对当前正在阅读的文件 的目录进行搜索,也能够对指定文件夹下的全部zip/uvz搜索目录、bookinfo.dat文件中的文字。 我写的免费的FindStr软件则只能对bookinfo.dat文件进行搜索。因此我一直很鄙视那些把bookinfo.dat文件中的信息所有搬到文件名中,搞得文件名超长的行为:亲,明明用很简单的文本搜索就能搞定的事情,何须非要把本身逼上绝路?
PdgCntEditor能够单独使用:
强烈建议PdgCntEditor与UV配合使用,即将PdgCntEditor与UV放在同一个文件夹下,用UV打开文件浏览,发现须要编辑或建立目录时点击UV工具条上的“编辑目录”按钮启动PdgCntEditor进行编辑。这样配合使用的好处是:
因此我见到的收费项目,就是把PdgCntEditor和D版UV打包一块儿卖的。
启动PdgCntEditor后缺省进入的是文字编辑界面,编辑窗口上面一排的页签都是给PDG目录用的,PDF、DjVu只在“正文页”里操做便可。一般PDG书签也没有必要在除了“正文页”以外的页签中输入内容,由于UV、Pdg2Pic都会自动补充这些项。若是非要输入,例如想把前言页中的几篇前言分开, 则需注意在各编辑窗口中页码都是从1开始的,即封面页的页码从1开始,前言页、目录页等的页码也都从1开始。
若是只是须要调整目录项的层级(缩进)关系,在树形界面中操做可能比文字界面中更直观一点,因此点击工具条上的“切换编辑模式”按钮便可从缺省的文字编辑界面切换到树形编辑界面,或切换回来。但树形编辑界面的 其余编辑功能比较弱,我本身都不多用,因此本教程就以文字编辑界面为主。
不管是什么界面,第一次使用PdgCntEditor都建议作如下事情:
======================================朴素的分割线===================================
因为空间有限,本系列教程的后续部分就不发到这里了,有须要的能够直接到个人网盘下载CHM格式的完整版本。后续的内容包括:
教程二:编辑已有目录
1、基本编辑操做
2、手工调整目录级数
3、自动缩进
4、利用正则表达式处理缩进
5、加减页码
6、一个综合性的练习例子
教程三:从头建立新目录 1、手工录入建立目录 2、经过搜索到的文本生成目录 3、经过OCR生成目录(UV 0.42版以前) 4、经过OCR生成目录(UV 0.42版以后) 5、多栏目录OCR与OCR时的图像处理