過去,KDE 中包含了各式各樣的用於查看各種文件格式的程序,通過 KDE 的 KParts 技術,這些查看器在需要時可被嵌入到其它 KDE 程序(如 Konqueror 等)中。這些查看器支持的格式有 TIFF、PDF、PostScript、fax、DjVu 等等。Okular 和 Ligature 從那些早期的簡單的查看器的設計中汲取了大量的營養,逐漸步向成熟。
KDE 中早就包含了一個叫作 KGhostView 的軟件,它使用 GhostScript 作為後端,可同時查看 PDF 和 PostScript 格式的文件。 KDE 已經將其作為打印預覽工具。下面就是 KDE 3.5.6 版中 KGhostScript 的一張截圖。請注意圖中有些文字渲染失真的情況可能是與我所用的發行版中所選的字體有關,而不一定是因為 KGhostScript 渲染文件的功能有缺陷。
在 KDE 3 系列中,KGhostView 有了一個可用於查看 PDF 文件的競爭對手。這就是 KPDF,它在功能、速度等很多方面都令 KGhostView 黯然失色。現在許多發行版都將 KPDF 作為 KDE 中默認的 PDF 瀏覽器。下圖就是顯示與上圖同一文件的 KPDF。
就個人體驗來說,KDE 中的 KPDF 表現的令人驚奇。當我點擊網頁中 PDF 文件的鏈接,並指定在瀏覽器中顯示它時,KPDF 可快速而無縫地嵌入到 Konqueror 中,它表現地如此之好以至於我幾乎會忘記當前頁面不是 HTML 格式了。
還有一些高級功能如文本搜索,PDF 文件的拷貝與粘貼等 KGhostView 從來沒真的實現過。在圖層渲染,特別是加載的 PDF 文件中包含了大量矢量圖像的時候,KPDF 要快上很多。在工作中,我用到大量的地圖,這些地圖大都是 PDF 格式的,使用 KGhostView 查看時慢的一塌糊塗,您甚至可以逐條地看到地圖上那些矢量圖慢慢地顯現出來。而 KPDF 加載相同的地圖時可以做到立即顯現,這令我節省了大量的時間。
KPDF 不久前決定擴大它的文件支持範圍,而不再僅僅支持 PDF 格式了,這得感謝 Google 公司的「代碼之夏」活動的贊助。他們決定在 KPDF 中進行擴展而不是另起爐灶做個全新的軟件的主要原因是 KPDF 已經具備了大量高級功能,而在查看其它格式的文件時這些功能就不需要重新實現了。為了更準確地反映 KPDF 演化為一個可以支持眾多文件格式的查看器,它就被改名為「Okular」。
KDE 4 的用戶們面臨一個使用上的選擇,即究竟是用 Okular 還是選用 Ligature,因為兩者都被設計為支持大量的文件格式(有時它們的功能是重複的)。但因為它們都可被嵌入到其它應用程序中,無論用戶用到哪一個都會同 樣覺得高興。我將首先談談 Okular,因為我手上掌握了關於它的大量信息。在原本功能都很完備的 KPDF 的基礎上,Okular 中有了引人注目的巨大改進。目前,它看來是 KDE 4 中最好的應用程序之一。
Pin Toscano (irc.freenode.org 上他叫 pinotree) 是 Okular 的開發領袖。目前它在 KDE SVN 中開發,有興趣的朋友可以在 /trunk/playground/graphics/okular 下找到它的源代碼。它在 KDE 4 已相當穩定——實際上它是我所試用過的最穩定的 KDE 4 軟件之一。它也已被納為 KDE/Mac 軟件包的一部分。 Benjamin Reed 提交了下面這張在 Mac 中運行的 Okular 的截圖:
他提到:「真爽啊,Okular 在 OS X 中運行的很快。我可以把 Acrobat 扔掉了!:)」
我沒有測試所有它支持的文件,但根據 Okular 網站中所列出的支持格式, 它已能完全或部分支持以下 11 種文件格式:PDF、PS、TIFF、CHM、DjVu、DVI、XPS、OOo、FictionBook、ComicBook 和 s 標準圖形文件。為了所有這些格式都可完美地支持,開發工作仍在繼續中,更多的格式支持也已列上日程。Okular 將與 KDE 4 同時發佈,屆時不一定所有格式支持都啟用,這取決於那時它們的穩定程度,當然您所用的發行版也可能會作出增刪的決定。
下面這張圖是查看 ComicBook 格式的 Okular,這種格式通常用於在線發行漫畫。考慮到今後 KDE 4 可運行多個平台,Okular 甚至有可能成為最受歡迎的 ComicBook 查看程序。
Pino 很樂意與易用性小組的夥伴們共同工作以改進 Okular 的易用性,這也是 Season of Usability 項目的一部分。在 KDE 4.0 發佈之前,它的很多界面部分都將會得到幾乎是徹底地精細檢查,以使得它可以做的更好。
KDE 4 中一個可作為競爭對手的文檔查看器是 Ligature,其前身是 KViewShell。它存在於 kdegraphics 模塊中,所以它目前是它所支持的各種格式的默認查看器。但對於那些更喜歡 Okular 的人們來說,這個默認隨時都可以被推翻。我所能找到的可以使 Ligature 繼續在 kdegraphics 模塊中存在的唯一理由是「歷史因素」:其前身 KViewShell 過去本來就是 kdegraphics 的一部分。但這也不意味著 Okular 就不會被 KDE 接受:如雖然 Amarok 從不曾放在正式的 kdemultimedia 包中,但 Amarok 仍是 KDE 最好的軟件之一。
目前 Ligature 本身支持 PDF、PostScript、EPS、fax、Tiff、DjVu 等文件格式,同時 SVN 中也有支持 TeX 格式的插件。在我印象中「fax」格式與 TIFF 圖片格式有很深的關係。Ligature 的前身 KViewShell 在其主 kdegraphics 分支中還不支持上述格式中的某幾種,但在 KDE 3.5.x 分支中已加入了對上述幾種格式的支持。
我試圖弄一張顯示 PDF 文件的 Ligature 的截圖出來,但它卻不能加載 PDF 文件。我試了一個 PostScript 文件,它加載後什麼都沒顯示出來。所以我只好加載了一個實在無趣的 DVI 文件來展示 Ligature 當前的用戶界面,但它的渲染功能也只是一般。
看樣子 Ligature 與 Okular 的用戶界面很相像。這很大程度是由於它們都利用相同的標準 Qt 和 KDE 庫來繪製用戶界面部件。因為 Ligature 還不能顯示一些文檔,所以我就無法將之與 Okular 作實際的易用性對比。不過請注意,當前它還在開發狀態下,出現一些低級失誤也不必過於苛責。
關於 DVI 文件的說明:為了查看 DVI 文件,您需要安裝一些 TeTeX 文件,在我的發行版上加起來總共是 85 Mb 左右——這可能是 DVI 文件不太受歡迎的原因之一吧,雖然它的渲染能力還是很出色的。當 Ligature 在 DVI 文件中找到一個超級鏈接時,它會在文本下顯示一條下劃線以示可被點擊,這在某些場合下是很有用的,不過這種鏈接也使得文件很醜陋。Okular 就沒有加上這種下劃線,但也工作的很好。
Okular 與 Ligature 使用了不同的內部構架,實現了相似的效果,但它們內部所依賴的底層庫是相同的(就像 MPlayer 和 xine 內部千差萬別,但它們都使用相同的底層庫來解碼)。這就意味著它們不太容易合併為一個項目,而對底層庫的跟進開發則可同時使得兩個程序都受益。 Okular 將會被各個發行版單獨打包,而由於現在很多發行版最終都會把 kdegraphics 分解為若干個包,Ligature 就將會是這些軟件包中的一個。當然了,只要也安裝了必要的 KDE 庫,GNOME 用戶們也可以正常地使用 Okular 和 Ligature。但他們也可以使用共享底層庫的 Evince,而 Evince 與 GNOME 環境集成的更好。
本週的內容就是這些。希望可以澄清關於 Okular 和 Ligature 的混亂。
原文:The Road to KDE 4: Okular and Ligature Document Viewers
譯文:通向 KDE 4 之路(七):文檔查看器 Okular 和 Ligature
(Troy Unrau/文)
(yuanjiayj/譯)
轉載自 通向 KDE 4 之路(七):文檔查看器 Okular 和 Ligature
-2007/3/12-------------------------------------------------------------
已經將本篇文章的圖片轉至本Blog上了,圖片已經可正常顯示。
沒有留言:
張貼留言
請注意,在較舊的文章留言並不會馬上出現在回應區!