PDF文件的讀寫(使用SDK).(一).閒談PDF SDK

         最近需要對PDF文件進行一些簡單操作,因此花費了點時間,研究了一把。

         PDF文件格式很早就由Adobe公司推出來了,到今天已日趨完善,廣泛應用於各行各業。但通常情況下,對於PDF文件的讀操作,都是免費的,而編輯、創建等功能,則是收費的。比如Adobe自己開發的Reader,以及現在廣爲流行的輕量級PDF工具Foxit Reader等等。其實,這些Reader對應地還發布有PDF SDK,只是一般只有編程人員纔會關心這個。上面說的這兩個:Adobe Reader和FoxitReader,其對應的PDF SDK,也只提供免費的view模塊,而edit等其它模塊都是收費的。這個就比較讓人頭大了。

         哪裏有需求,哪裏就有市場。由於PDF文件格式應用實在是太廣泛了,因此很多人都盯住了這塊蛋糕。對於開發人員來說,專門的PDF SDK中,PDFLib應該是一個相當成功的作品,只是它的售價有點偏高了,大約要2000美元……因此,更多像我這樣的人,就喜歡去找點免費的,最好是開源的東西來用用。這方面,則PoDoFo是一個很不錯的選擇。

         事實上,總的來說,PDF SDK還算是比較多的--當然,我們這裏不關心手動去解析PDF文檔,因爲那實在是太費勁了。如果你想要手動解析PDF文檔,也不是沒有辦法,Adobe的官方網站上就有PDF文件格式的詳細說明。不過,有三類人不可以去研究它:一是英文不太好的人--貌似我還沒看到這個文檔的中文翻譯;二是缺乏耐心的人--這個文檔實在是有那麼一點點長,內容有那麼一點點多;三是缺乏時間的人--相對於使用PDF SDK來操縱PDF文件來說,手動解析需要消耗的時間和精力實在是太大了。

         很不幸的事情是,上面說的三條,我全佔了。因此我只好研究下PDF SDK。

 

         經過我手的PDF SDK,倒是不算多,一雙手完全可以數得過來。

         首先,我跑網上找到的是Adobe PDF SDK和Foxit PDF SDK。老大就是老大!資料很齊全,函數功能也很齊全,命名也很優雅,這些都沒的說,但就是缺乏我所需要的編輯和創建模塊。付錢購買?這個我暫時就不考慮了。

         其次,我找的就是PDFLib。它有多個版本:PDFLib lite, PDFLbi,PDFLib + PDI, PPS。對於lite版本,據說PDFLib還提供有源代碼,只是這個版本的功能實在是少得可憐,不提它也罷。而從PDFLib(貌似這個叫標準版?)開始,就要收費了。你在寫程序之前,必須要找PDFLib官方購買一個license,並且在使用PDFLib時,設置這個license,否則PDFLib在使用過程中,一來會在生成的PDF文檔中自動打印一個水印,二來在使用某些功能的時候,會提示沒有授權(此功能會被屏蔽)。唉,又要錢啊……打打醬油算了。

         最後,是關於免費的PDF SDK。事實上,網上免費的PDF SDK也不少,主要是提供給C/C++和JAVA用的,也有提供給PHP等程序用的。只是這些免費的PDF SDK------說實話,都不太好用。比如,上面說的PoDoFo,英文太差的人就不要用了,因爲它是全英文文檔說明,C/C++基礎太差的人,也不要用了,因爲它的前期準備工作實在是有點麻煩。當然,我這裏說它很麻煩,主要是針對於我的需求來說的。PoDoFo是開源的,要考慮到在各個平臺上的應用,因此它本身,以及它所依賴的一些庫,都只提供源代碼,需要自己去編譯。

         其它的PDF SDK我就沒怎麼研究,總的感覺是:JAVA的免費PDF SDK要比C/C++的貌似要多,要好用(這個可能有點主觀了)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章