PDF格式研究簡介檔案結構Stream 編碼轉為XML相關工具OpenPDF訊息相關網站參考文獻最新修改簡體版English |
下載:OpenPDF.doc PDF是廣為人使用的文件格式,但卻是一個封閉的私有格式,很少有程式能將 PDF 文件完全正確的解碼,這阻礙了文件的公開化,許多搜尋引擎無法搜尋PDF 文件的內容,PDF 文件的加值運用 - 例如資訊抽取、自動摘要、全文檢索、引用分析等等 - 也因此而困難重重,有鑑於此、我們成立了 OpenPDF 這個開放原始碼計畫,目標在開發一個將 PDF 文件轉換成 XML 的軟體,以使程式設計人員能夠輕易的處理 PDF 文件,更進一步、我們希望透過 OpenPDF將所有 PDF 文件轉換成 XML 格式,並開發出此種 XML 格式的閱讀程式,使文件資訊徹底公開化。 簡介PDF 是 Adobe 公司所制定的一種格式[cite:1],其前身是該公司的 PostScript (PS)[cite:2] 格式,PS 格式乃是由 Adobe 公司的創辦人 John Warnock 所設計的,並於 1985 年正式發行,接著被 Apple 採用於 Cannon 印表機做為傳輸格式,此後 PS 就成了雷射印表機的內建格式,並因此而成為線上出版業的標準格式。 在 PS 被發明之前,點矩陣印表機是主要的電腦列印設備,雖然有些印表機可以列印圖形,但是其編碼格式並不統一,自從 PS 發明以來,迅速佔據了雷射印表機的市場並成為標準列印格式,該格式使得各種文字與圖形可以快速的傳給印表機並且被列印出來。 1990 年 Adobe 將 PS 簡化後發展出 PDF 格式,當時 Adobe 公司的 Acrobat PDF Reader 是要付費購買的軟體,後來為了與其他同類產品競爭,因而開放 PDF Reader 免費下載使用,從此 PDF 的使用群迅速擴大,而成為網路上最常用的文件格式。 然而、PDF 畢竟是 Adobe 公司的私有格式,而且採用二進位與純文字混合的編碼模式,因此並不像 XML 或 HTML 那樣容易處理,更複雜的是、PDF 並沒有採用 Unicode 等標準字元編碼方式,而是將字元透過 Adobe 公司內建的編碼表進行編碼,使得全文檢索程式無法直接對 PDF 文件進行檢索,因此、許多搜尋引擎都不支援 PDF 的搜尋功能,少數具有PDF搜尋功能的搜尋引擎(像是 Google),也都必須要自行開發程式以便將 PDF 文件轉換成文字檔以便搜尋,但是對大多數的程式設計人員來說,對 PDF 進行加值處理仍然困難重重。 有鑑於此、我們建立了 OpenPDF 專案計畫,其目的乃是將 PDF 轉換成 XML 格式,使得任何程式設計人員都可以輕易的使用 PDF 文件,並對這些文件進行『檢索、摘要、翻譯、註解或轉換』等加值處理,另外、為了方便起見,OpenPDF 也提供將 PDF 轉換為 HTML 與純文字檔的功能。 文獻回顧盡管 PDF 是 Adobe 公司專有的文件格式,然而、由於 Adobe 公司希望能藉助其他程式社群的力量,以擴展市場,因此、將 PDF 的規格與相關資源公開,這使得 PDF 的流傳更為廣泛,也讓許多 PDF 工具紛紛被開發出來,數量達上千種之多,甚至有專門的網站負責蒐集 PDF 相關工具的資訊,Planet PDF 是其中蒐集最完整的網站之一。 Planet PDF 對 PDF 工具的分類,共分為 14 類,如下表所示:
在 Planet PDF 中,我們可以找到許多商用 PDF 軟體,其中有很多工具可以將 XML 文件透過 XSLT 轉換為 PDF 檔案 [註1],也有一些工具可以將 PDF 轉換成純文字檔案 [註2]。 雖然 Adobe 公司將規格公開了,但是卻極力的保護其在 PDF 軟體上的主導權,並確保能從 PDF 上賺回豐厚的利潤,因此、除了 Acrobat PDF Reader 之外,其餘的軟體 - 例如 Acrobat Writer、Acrobat Distiller 等,都是要付費使用的,Adobe 公司甚至更進一步對 PDF 的協力開發廠商收費,像是 PDF Library SDK[cite:4]、Acorbat SDK[cite:5] 等函式庫,也是要花費購買、並且經過 Adobe 公司審查,這顯然是 Adobe 公司為了防止其他廠商進入 Adobe 的核心 PDF 技術所採取的一種方式。 在 PDF 解碼的過程當中,CMap 是一種重要的字元對應表,記載了各類字碼與 PDF 內碼的對應方式,例如:ETenms-B5-H 這個CMap 檔案就記載了倚天版的繁體中文碼對應到 PDF 內碼的方式,而這些檔案的一開始都記載了 All Right Reserved 的版權宣告,這使得 PDF 工具軟體的開發人員除了面對技術困難之外,還要擔心被 Adobe 公司告的問題。 在筆者開始撰寫 OpenPDF 時,並沒有任何工具可以將 PDF 轉換成 XML 文件,這究竟是因為轉換的難度太高,或者是 Adobe 公司管控太嚴,我們無從得知,但是這類工具極為稀少卻是事實。 在開放原始碼的社群當中,也有為數不少的 PDF 工具程式,這些程式通常可以在 SourceForge 網站中找到,其中較知名的有:iText、PDFBox、XPDF 等等。 Acrobat 軟體本身有分免費與付費兩個版本,付費版的 Acrobat 可以加裝一個 XML Plug-In,即可具有將 PDF 文件存檔為 XML 的功能 (本為寫作時為 Beta 2 版本),但是免費版的 Acrobat Reader 則沒有這個功能。 雖然已有這麼多的 PDF 工具,但經過我們測試之後,卻發現下列情況,
因此、為了進行 PDF 文件的加值處理,我們不得不自行撰寫 PDF 文件的解碼程式,因而建立了 OpenPDF 的專案。 前述的 PDF 工具,通常是為了要讓程式設計人員,可以輕鬆的建立 PDF 文件,而不是將資訊從 PDF 文件中抽取出來, 相關軟體比較這些的 PDF 轉換工具當中,有些可以將 PDF 中的文字抽取出來,以下是我們所知的相關工具程式列表:
經過我們的測試 (在 MS Windows XP上),這些轉換工具的在處理各種語言的文件上,表現狀況如下:
但是、雖然 OpenPDF 在中日韓文處理的處理上較具優勢,但在PDF建立與產生、圖形抽取等方面,則付之闕如,其比較表如下:
OpenPDF 的現況*Missing features and possible extensions OpenPDF 專案乃是 Chinese-Paper 專案的子專案,Chinese-Paper 專案企圖建立一個極大量中文論文資料庫,這個資料庫 Chinese-Paper 專案乃是受到 Citeseer 網站的啟發,Citeseer 是一個專門蒐集資訊科學相關論文的資料庫網站, 為了要建立 Chinese-Paper 資料庫,我們撰寫了一個 Crawler 程式(Easy-Crawler),用來自動抓取網路上的 PDF 檔案, Chinese-Paper 專案於 2005 年 7 月開始,9 月初步完成 Crawler 與 Google API 的程式,抓下了一萬篇的 PDF 論文, 2005 年 10 月開始,OpenPDF 的程式連同幾份文件,被放在作者的私人網站上,2006/1/26日,一位華藝數位藝術公司的 然而、由於作者對 PDF 的理解尚不完全,因此、OpenPDF 目前尚無法將影像與圖形的部份抽出,這代表 OpenPDF 尚未 OpenPDF 的未來我們不只希望能夠將 PDF 文件轉換成為 XML 文件,更進一步的希望能開發出 我們希望能有更多人加入 OpenPDF 與 Chinese-Paper 的計劃當中,以建立一個開放自由的論文環境,使得中文論文資源 另外、受到 Wikipedia 的啟發,更長遠來看,我們希望建立 Open-Publish 計畫,以建立更自由開放的出版環境, 參考文獻
|
OpenPDF:一個將PDF轉為XML的開放原始碼軟體
page revision: 7, last edited: 19 Oct 2010 09:27
Post preview:
Close preview