PdgCntEditor系列教程一:基礎知識


一、PdgCntEditor是什么?
二、為什么要用PdgCntEditor?
三、怎么用PdgCntEditor?

一、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等電子文檔格式中的大綱、導航、書簽、目錄的統稱,具體表現形式就是在瀏覽器左側顯示的樹形章節列表,點擊就可以跳到指定的章節。

二、為什么要用PdgCntEditor?

目前對於PDF、DjVu、PDG都有獨立的目錄編輯器,但同時支持這幾種格式的目前似乎只有PdgCntEditor,以后也大概不會再有。所以使用PdgCntEditor的理由也就很充分了:

  1. 一個軟件搞定多種格式,不論是存儲還是學習成本都是最優的。
  2. 便於在不同的電子文檔格式間轉換目錄。例如要把DjVu格式中的目錄復制到PDF中,如果不用PdgCntEditor,就需要用到兩個軟件:先用DjVuToy導出DjVu目錄,然后用FreePic2Pdf把目錄掛到PDF中。而使用PdgCntEditor的操作就簡單得多:
    1. 啟動PdgCntEditor,把需要復制目錄的DjVu文件拖拽進來打開。
    2. Ctrl+A全選,Ctrl+C復制到剪貼板。
    3. 把需要掛目錄的PDF文件拖拽進來打開。
    4. Ctrl+V復制,Ctrl+S保存,搞定收工。

當然在此之前可能還需要問一個問題:為什么要創建或編輯目錄?

先說為什么要編輯目錄。我這個人有點強迫症,一本電子書到手如果沒有目錄就算了(后面會詳細說),但如果有目錄卻把目錄做得亂七八糟,例如沒有層級關系、頁碼不准確等,那是一定要修正過來的。偏偏我見過的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可以單獨使用:

  1. 啟動PdgCntEditor,把需要編輯或創建目錄的文件拖過來打開。如果是PDG文件且還沒有目錄文件,可以從其他有目錄文件的PDG書籍中復制一個bookcontents.dat文件,打開后刪掉原有內容就好。
  2. 編輯完成后按Ctrl+S或工具條上的“保存”按鈕即可。注意在保存前如果文件已經在Acrobat、WinDjView或其他瀏覽器中打開,則需要先關閉瀏覽器再保存,否則可能會因為文件被瀏覽器加鎖而導致文件保存失敗。

強烈建議PdgCntEditor與UV配合使用,即將PdgCntEditor與UV放在同一個文件夾下,用UV打開文件瀏覽,發現需要編輯或創建目錄時點擊UV工具條上的“編輯目錄”按鈕啟動PdgCntEditor進行編輯。這樣配合使用的好處是:

  1. 在UV中看書的的時候,如果發現沒有目錄,或目錄中有問題,隨時可以啟動PdgCntEditor進行編輯,並且在UV中不需要關閉正在看的書籍。 如果PDG中沒有目錄,從UV啟動PdgCntEditor時會自動創建空目錄文件,不需要手工復制。
  2. PdgCntEditor保存以后,在UV中立刻自動刷新目錄顯示,因此可以及時看到目錄編輯效果。

所以我見到的收費項目,就是把PdgCntEditor和D版UV打包一起賣的。

啟動PdgCntEditor后缺省進入的是文字編輯界面,編輯窗口上面一排的頁簽都是給PDG目錄用的,PDF、DjVu只在“正文頁”里操作即可。通常PDG書簽也沒有必要在除了“正文頁”之外的頁簽中輸入內容,因為UV、Pdg2Pic都會自動補充這些項。如果非要輸入,例如想把前言頁中的幾篇前言分開, 則需注意在各編輯窗口中頁碼都是從1開始的,即封面頁的頁碼從1開始,前言頁、目錄頁等的頁碼也都從1開始。

如果只是需要調整目錄項的層級(縮進)關系,在樹形界面中操作可能比文字界面中更直觀一點,所以點擊工具條上的“切換編輯模式”按鈕即可從缺省的文字編輯界面切換到樹形編輯界面,或切換回來。但樹形編輯界面的 其他編輯功能比較弱,我自己都很少用,所以本教程就以文字編輯界面為主。

不論是什么界面,第一次使用PdgCntEditor都建議做以下事情:

  1. 點擊工具條上的“字體”按鈕,根據當前屏幕分辨率選擇合適的字號。缺省的字號在高分辨率屏幕上可能太小。
  2. 點擊工具條上的“使用說明”按鈕,先把PdgCntEditor的使用說明看一遍再說。

 ======================================朴素的分割線===================================

由於空間有限,本系列教程的后續部分就不發到這里了,有需要的可以直接到我的網盤下載CHM格式的完整版本。后續的內容包括:

教程二:編輯已有目錄
  一、基本編輯操作
  二、手工調整目錄級數
  三、自動縮進
  四、利用正則表達式處理縮進
  五、加減頁碼
  六、一個綜合性的練習例子

教程三:從頭創建新目錄
  一、手工錄入創建目錄
  二、通過搜索到的文本生成目錄
  三、通過OCR生成目錄(UV 0.42版之前)
  四、通過OCR生成目錄(UV 0.42版之后)
  五、多欄目錄OCR與OCR時的圖像處理

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM