一個(gè)目錄文件編輯器,具有下列特點(diǎn):
在文件格式上,支持PDF、DjVu、PDG(包括bookcontents.dat和catalog.dat)。PDF不支持加密PDF。
在編輯界面上,提供文本、樹形兩種編輯模式,以滿足不同的需要。
提供PDG目錄編解碼功能,有興趣的用戶可以用它對PDG目錄文件內(nèi)部數(shù)據(jù)格式進(jìn)行研究。
可以不解包直接編輯zip文件中的PDG目錄文件,編輯結(jié)果直接存入zip。
能夠與UnicornViewer(UV)聯(lián)動,從UV中啟動以編輯當(dāng)前正在閱讀的文件目錄,存盤后會自動通知UV刷新目錄。
支持符合FreePic2Pdf接口文件格式的目錄文件(FreePic2Pdf_bkmk.txt),并能從DjVuToy、FreePic2Pdf中啟動,對PDF、DjVu目錄文件進(jìn)行編輯。
除常規(guī)的查找、替換、編輯等功能外,還提供“總在最上面”、“半透明”等功能,方便對照原文對目錄進(jìn)行編輯。
提供繁體、簡體轉(zhuǎn)換功能,方便海外用戶使用。
文本編輯模式下支持正則表達(dá)式替換,采用微軟為VBScript、JavaScript準(zhǔn)備的正則表達(dá)式引擎,因此語法與ASP、JSP中的正則表達(dá)式語法一致。
為什么要開發(fā)PdgCntEditor?
理由如下:
PDG文件的原版目錄經(jīng)常有錯(cuò),最常見的錯(cuò)誤是:目錄沒有按章節(jié)進(jìn)行分級、目錄中存在錯(cuò)別字、目錄項(xiàng)頁碼錯(cuò)誤。這些錯(cuò)誤均可用PdgCntEditor輕松修正。
很多PDG書籍本身是沒有目錄文件的,這時(shí)可以用PdgCntEditor創(chuàng)建。
DjVuToy、FreePic2Pdf以前一直缺乏一個(gè)好用的目錄編輯器,現(xiàn)在可以用這個(gè)了。
文本編輯模式有什么特點(diǎn)?
A:在文本編輯模式下,用制表符(TAB)構(gòu)成的縮進(jìn)來表示目錄分級關(guān)系。文本編輯器仿照一般IDE設(shè)計(jì),支持TAB、Shift+TAB和回車自動縮進(jìn),熟悉IDE的用戶可能會喜歡。
文本編輯模式比較適合對目錄文字、頁碼進(jìn)行大量錄入、編輯的情況,如為沒有目錄文件的書籍創(chuàng)建目錄。
Q:樹形編輯模式有什么特點(diǎn)?
A:樹形編輯模式用圖形化的界面展示目錄分級關(guān)系,并且可以折疊、展開分級目錄,適合一般人員使用。
樹形編輯模式下調(diào)整目錄分級比較直觀,但是文字、頁碼編輯不如文本模式方便。因此如果是創(chuàng)建新目錄文件,可以先進(jìn)入文本模式,錄入或粘貼文字、頁碼信息,然后再切換到樹形模式調(diào)整目錄分級。
Q:編解碼功能有什么特點(diǎn)?
A:編解碼模式主要有兩個(gè)功能:
1、將目錄文件解碼成文本文件。bookcontents.dat解碼后的內(nèi)容其實(shí)就是正版超星瀏覽器生成的Contents.dat內(nèi)容,catalog.dat解碼后的內(nèi)容則是一個(gè)標(biāo)準(zhǔn)XML文件。
2、將文本文件編碼成目錄文件。文本文件內(nèi)容同上。
這個(gè)功能的作用包括:
1、如果PdgCntEditor生成的目錄文件不幸在超星瀏覽器中打不開,可以解碼后手工修正,然后再編碼成目錄文件。
2、可以供感興趣的人士研究PDG目錄文件的格式。其實(shí)編碼過程就是把文本文件用zlib進(jìn)行壓縮,再加上一個(gè)文件頭;解碼過程則反之。多看上幾次,說不定你自己都能寫一個(gè)PDG目錄編輯器了。
使用說明:
一、軟件安裝/刪除
本軟件安裝非常簡單:創(chuàng)建一個(gè)目錄,用WinZip或WinRAR將下載下來的ZIP包解壓縮到該目錄即可。
本軟件的刪除也很簡單:直接刪除從ZIP包中解壓縮出來的所有文件及運(yùn)行過程中生成的文件即可。
ZIP包中包括下列文件:
PdgCntEditor.exe。這是軟件的主程序。
PdgCntEditor.htm。本幫助文件。
如果您下載到的ZIP包中還包括其它文件,毫無疑問不是我放進(jìn)去的,有廣告或木馬之嫌疑,請立即刪除。
另外程序運(yùn)行過程中還會生成以下文件:
PdgCntEditor.ini。這個(gè)是參數(shù)保存文件,第一次更改參數(shù)后生成。退出PdgCntEditor,刪除此文件,再重啟PdgCntEditor,即可恢復(fù)缺省參數(shù)。
PdgCntEditor.pwd。ZIP文件口令表,純文本文件。
PdgCntEditor.rpx。正則表達(dá)式保存文件,如果在正則表達(dá)式輸入界面中點(diǎn)擊“保存”,則會生成此文件。
二、軟件使用
命令行參數(shù)
軟件命令行參數(shù)如下:
PdgCntEditor [-m:text|tree|codec] [path]
-m: 指定編輯模式,可以是文本(text)、樹形(tree)或編解碼(codec),缺省為文本。
path:要編輯的文件路徑,由盤符、文件夾、文件名三部分構(gòu)成?梢灾苯又付▃ip文件,軟件自動搜索其中的目錄文件。如果路徑中包含空格,需要在路徑前后加半角雙引號。
例如:
PdgCntEditor -m:codec
將以編解碼模式啟動本軟件。
PdgCntEditor -m:tree "D:\mm\Windows Server 2003技術(shù)內(nèi)幕 基礎(chǔ)篇.zip"
將以樹形編輯模式打開指定的zip文件。
一般性說明
1、工具條按鈕提示
本軟件的大部分功能體現(xiàn)在工具條按鈕上,將鼠標(biāo)移動到按鈕上停止不動約1秒,將自動彈出按鈕功能提示。
2、內(nèi)容更改提示
如果目錄內(nèi)容已被改變,窗口標(biāo)題條名稱后面會加一個(gè)星號,在退出時(shí)會提示用戶保存。
3、通用快捷鍵
功能 快捷鍵
退出程序 ESC
Ctrl+O 打開文件
Ctrl+S 保存
Ctrl+T 切換編輯模式
Ctrl+Home 移到文件頭
Ctrl+End 移到文件尾
Shift+箭頭鍵 選擇區(qū)域
Ctrl+A 全選
TAB 所選內(nèi)容右移一欄
Shift+TAB 所選內(nèi)容左移一欄
Del 刪除所選內(nèi)容
Ctrl+F 查找
Ctrl+R 替換
F1 打開本幫助文件
PDF選項(xiàng)
PDF選項(xiàng)對PDF目錄進(jìn)行控制,可以在打開PDF后進(jìn)行設(shè)置,存盤時(shí)生效。由于PdgCntEditor的PDF目錄編輯功能是從FreePic2Pdf搬過來的,因此選項(xiàng)與FreePic2Pdf接口文件中的選項(xiàng)類似,可以參考FreePic2Pdf接口說明。另外PdgCntEditor對PDF的控制能力相對較弱,沒有分段頁碼等功能。如果需要這些功能,請使用FreePic2Pdf。
選項(xiàng) 說明
基準(zhǔn)頁 目錄基準(zhǔn)頁碼。作用見后面敘述,此值必須大于等于1。此值為絕對頁碼:從PDF文件的第一頁(絕對頁碼為1)開始連續(xù)編排。
點(diǎn)擊目錄后頁面縮放 點(diǎn)擊目錄項(xiàng)后,在PDF瀏覽器中頁面的顯示比例。
打開PDF時(shí)顯示目錄 如果此選項(xiàng)被選中,在PDF文件瀏覽器中打開PDF文件即顯示目錄,否則不顯示。
展開所有目錄 如果此選項(xiàng)被選中,在PDF文件瀏覽器中打開PDF文件即所有目錄,否則只顯示頂級目錄。
每個(gè)目錄項(xiàng)均包含目錄項(xiàng)文字和目錄項(xiàng)對應(yīng)頁面。目錄項(xiàng)對應(yīng)頁碼可以是正整數(shù)或負(fù)整數(shù),0視為無效。從PDF選項(xiàng)中“基準(zhǔn)頁”規(guī)定的頁碼值開始算,基準(zhǔn)頁碼及其之后的頁碼為正數(shù),之前的頁碼為負(fù)數(shù)。即如果目錄項(xiàng)對應(yīng)的頁面就是基準(zhǔn)頁,則目錄項(xiàng)對應(yīng)頁碼為1;如果目錄項(xiàng)對應(yīng)的頁面是基準(zhǔn)頁面的后一頁,則目錄項(xiàng)對應(yīng)頁碼為2;如果目錄項(xiàng)對應(yīng)的頁面是基準(zhǔn)頁的前一頁,則目錄項(xiàng)對應(yīng)頁碼為-1。
用基準(zhǔn)頁對目錄項(xiàng)頁碼進(jìn)行調(diào)節(jié),可以方便手工錄入目錄:在錄入的時(shí)候,只需對照實(shí)體書的目錄頁錄入目錄標(biāo)題,目錄項(xiàng)對應(yīng)頁碼直接照書上目錄對應(yīng)頁碼錄入;然后將基準(zhǔn)頁設(shè)置為正文第一頁的絕對頁碼即可。
文本模式
文本模式與一般IDE界面相似,支持Ctrl+A(全選)、Ctrl+C(復(fù)制)、Ctrl+V(粘貼)、Ctrl+Z(撤銷)等快捷鍵,回車后新行自動縮進(jìn)。
文本模式下,用TAB縮進(jìn)表示目錄分級關(guān)系。每個(gè)目錄條目占據(jù)一行,行首TAB數(shù)表示級數(shù),條目文字后再跟一個(gè)TAB,然后是條目對應(yīng)的頁碼。如果沒有對應(yīng)的頁碼,則文字后無TAB。
TAB顯示寬度可以通過點(diǎn)擊“制表符寬度”按鈕進(jìn)行設(shè)置。
為了便于輸入頁碼,文本模式下按照PDG文件類型分成了8個(gè)輸入窗口,分別對應(yīng)封面頁、書名頁、版權(quán)頁、前言頁、目錄頁、正文頁、附錄頁、封底頁。對于有內(nèi)容的窗口,其頁簽上會帶一個(gè)加號作為提示。
樹形模式
樹形模式下,用圖形化的界面展示目錄分級關(guān)系,并且可以折疊、展開分級目錄。左移、右移、左齊折疊起來的條目,該折疊條目下的所有子條目隨之左移、右移、左齊。
樹形模式下每個(gè)目錄條目占據(jù)一行,文字與頁碼之間用半角符號“|”進(jìn)行分隔。
與文本模式不同,樹形模式下所有類型的目錄條目均在一個(gè)框內(nèi)展現(xiàn),非正文頁的頁碼通過加前綴來區(qū)別,前綴同PDG文件前綴,分別是:cov(封面頁)、bok(書名頁)、leg(版權(quán)頁)、fow(前言頁)、!(目錄頁)、att(附錄頁)、bac(封底頁)。前綴后直接是頁碼,不需要補(bǔ)零。
支持的快捷鍵:
功能 快捷鍵
回車 開始編輯所選條目。編輯完成后,按回車確認(rèn),按ESC撤銷編輯
空格 打開、折疊目錄樹
Ctrl+鼠標(biāo)左鍵 選定鼠標(biāo)點(diǎn)擊的條目
Shift+鼠標(biāo)左鍵 選定兩次點(diǎn)擊之間的所有條目
編解碼模式:
一、啟動
編解碼模式只能通過命令行參數(shù)進(jìn)入。可以用批處理,也可以創(chuàng)建快捷方式,然后指定命令行參數(shù),見前面命令行說明。
二、解碼
選擇“編碼后的目錄文件”,可以是bookcontents.dat或catalog.dat,但不能是zip,然后點(diǎn)“解碼”,解碼后生成bookcontents.txt或catalog.txt。
bookcontents.txt就是正版超星瀏覽器生成的Contents.dat,catalog.txt則是一個(gè)XML文件。
三、編碼
選擇“解碼后的文本文件”,文件格式必須符合Contents.dat或XML格式,然后選擇“編碼后的目錄文件”,點(diǎn)“編碼”即可。
應(yīng)用示例:
一、編輯現(xiàn)有目錄,調(diào)整目錄分級
1、運(yùn)行軟件,打開需要編輯的目錄文件。
2、切換到樹形編輯模式。
3、點(diǎn)“全選”,再點(diǎn)“左齊”,將所有條目全部左齊。
4、選擇需要縮進(jìn)的條目,通過“右移一欄”、“左移一欄”調(diào)整分級直到滿意。
5、編輯過程中如果覺得窗口不夠大,可以用鼠標(biāo)拖動窗口右、下邊框進(jìn)行縮放,或直接點(diǎn)右上角的“最大化”按鈕。
6、如果需要對文字或頁碼進(jìn)行編輯,選中需要編輯的條目,按回車開始編輯,按回車或ESC退出編輯。
7、點(diǎn)“保存”保存修改。
8、點(diǎn)右上角的“關(guān)閉”退出。
二、創(chuàng)建新目錄
1、運(yùn)行軟件,進(jìn)入文本編輯模式。
2、手工錄入,或OCR后粘貼,或從網(wǎng)上粘貼目錄內(nèi)容,對照PDG的目錄頁輸入頁碼。輸入頁碼時(shí)可以點(diǎn)“透明度”按鈕,將窗口設(shè)置成半透明(此功能在Windows 95/98/Me下無效)。如果頁碼直接來自O(shè)CR結(jié)果,可以點(diǎn)“全選”,再點(diǎn)“自動切分頁碼”,在行末的頁碼數(shù)字前自動插入一個(gè)TAB;點(diǎn)“自動縮進(jìn)”,自動嘗試對諸如1.1、1.1.1、1.1.2的項(xiàng)目設(shè)置縮進(jìn)。
3、確認(rèn)輸入內(nèi)容無誤后,存盤。
4、切換至樹形界面,準(zhǔn)備調(diào)整目錄分級。
5、通過“右移一欄”、“左移一欄”調(diào)整分級直到滿意。編輯過程中如果覺得窗口不夠大,可以用鼠標(biāo)拖動窗口右、下邊框進(jìn)行縮放,或直接點(diǎn)右上角的“最大化”按鈕。
6、如果需要對文字或頁碼進(jìn)行編輯,選中需要編輯的條目,按回車開始編輯,按回車或ESC退出編輯。
7、點(diǎn)“保存”保存修改。
8、點(diǎn)右上角的“關(guān)閉”退出。
三、創(chuàng)建繁體目錄文件
1、如果原始目錄文件是簡體的,先打開,然后點(diǎn)“繁體、簡體轉(zhuǎn)換”,轉(zhuǎn)換成繁體。
2、如果是Contents.dat,存盤后在簡體中文Windows下 方可顯示;如果是catalog.dat,存盤前先點(diǎn)“catalog.dat字符編碼”,選擇“utf-8”,然后再存盤 ,則可在非簡體中文Windows下也能顯示。
PDF中的特殊目標(biāo)
PDF的書簽(Outline)除了指向頁碼外,還允許指向某個(gè)名稱、動作,甚至某個(gè)外部文件。在本軟件中,采用某些特殊字符加以區(qū)別:
對于“已命名的目標(biāo)”(Named Destinations),直接顯示名稱,但是名稱不能以數(shù)字開頭,否則必須在數(shù)字前加字符“#”。
對于“已命名的動作”(Named Action),動作名稱前面加字符“!”。
對于外部PDF文件,文件名前面加字符“^”,如果還需要指定頁碼,則在文件名后加TAB,再加頁碼。