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時的圖像處理