前言
最近,換了一個新工作,老闆考察我的能力,安排完成一項任務,需要將Word/PPt/Excel等辦公文件轉換成JPG圖片,查資料後發現有很多基於JAVA開發的,可是我們必須使用C/C++開發,查詢了一些資料(很多外國資料,鍛鍊不少英語啊),決定使用OpenOffice來轉換成PDF文件,再使用Mupdf轉換成JPG圖片格式,雖然最終是要部署在Linux系統下的,但是頭要求在Windows嘗試一下能否轉換成功。(吐槽一下,windows的配置屬性太噁心了)。
本文章分爲2部分,
1. 簡單介紹OpenOffice和環境搭建(本節)
2. 實例程序 – 辦公文檔轉換圖片
Windows平臺下的搭建
介紹
先介紹一下OpenOffice,OpenOffice是類似Window下的Microsoft Office的文檔處理軟件,能在Window、Linux、MacOS X(X11)和Solaris等操作系統上運行,並且與各個主要的辦公室軟件套件兼容,目前OpenOffice3.X基本支持Office2007版本的。因爲直接用OpenOffice提供的接口編程,所以不需要編譯OpenOffice的源碼,主要使用SDK即可。OpenOffice使用UNO(類似COM組件)的形式,爲開發人員提供服務的。本人使用的版本是3.4.1,最新版本是4.1.2(準備嘗試一下)。
需要的工具如下(下面有詳細說明和下載鏈接):
開發工具 | 名稱&版本號 |
---|---|
操作系統 | windows 7 |
IDE | VS2013(不能低於2008) |
OpenOffice.org&SDK | 3.4.1 |
OpenOffice環境搭建
軟件下載地址
OpenOffice.org下載地址:http://www.openoffice.org/download/index.html(最新版本4.1.2,本文使用3.4.1,有多個平臺的,咱們下載Windows的即可,語言最好下載English的)圖片如下:
點擊紅框的部分,進入下載界面,選擇如下紅框部分下載即可
SDK下載地址:http://www.openoffice.org/download/other-341.html#tested-sdk(一定下載和org同一個版本的)
安裝OpenOffice
先安裝Apache_OpenOffice_incubating_3.4.1_Win_x86_install_en-US.exe,它會先解壓到指定路徑後(默認是桌面),再啓動真正的安裝程序,所以要修改安裝路徑的話,選擇自定義安裝,指定你想要安裝的路徑。
然後再安裝Apache_OpenOffice_incubating-SDK_3.4.1_Win_x86_install_en-US.exe,它也會先解壓的指定路徑(默認是桌面),再啓動安裝程序,這裏SDK默認的安裝路徑在OpenOffice安裝路徑的Basis文件夾下,名稱叫SDK,如圖
安裝完後,可以把解壓後的文件夾刪除掉(默認在桌面)。然後在SDK文件夾下,可以看見Index.html,打開它,這是幫助索引(英語好的,可以好好看一下),這裏面有很多向導:安裝嚮導(Installation Guid)(非常重要,一定仔細的看)、C++或者JAVA開發環境配置、一些實例(包括Basic版本、C++版本、Java版本)等
生成C/C++使用的頭文件
因爲OpenOffice支持多種平臺多種語言,需要我們生成對應於C/C++開發的頭文件,先在OpenOffice的SDK目錄下創建一個名稱爲includecpp目錄,然後進入sdk目錄下的bin中,找到cppumaker.exe,如圖
打開CMD窗口程序,輸入命令:
cppumaker -BUCR -O < oo_sdk_path >/includecpp < office_programm_dir >/types.rdb
其中< oo_sdk_path >是你sdk的安裝目錄,比如像我的安裝目錄:D:/OpenOffice/OOo3.4.1/Basis/sdk,
< office_programm_dir >是在OpenOffice.org目錄下的\URE\misc目錄,比如我的:D:/OpenOffice/OOo3.4.1/URE/misc
運行結果:
配置VS2013工程屬性
創建一個Console工程,打開屬性面板,依次配置include目錄、lib目錄、預處理命令、依賴的庫文件、延時的DLL文件
頭文件配置:工程名稱右擊 > Properties > Configuration Properties > VC++ Directories > Include Dirctories。具體如圖
lib目錄:工程名稱右擊 > Properties > Configuration Properties > VC++ Directories > Library Dirctories。具體如圖
預處理命令:Configuration Properties > C/C++ > Preprocessor添加WNT和CPPU_ENV=msci宏定義,具體如圖:
依賴庫文件:Configuration Properties > Linker > Input > Additional Dependencies,在其中添加isal.lib;icppu.lib;icppuhelper.lib;isalhelper.lib;ireg.lib;stlport_vc71.lib;winmm.lib;具體如圖:
延時的DLL文件:Configuration Properties > Linker > Input > Delay Loaded Dlls,在其中添加sal3.dll;cppu3.dll;cppuhelper3MSC.dll;具體如圖:
到這裏,Windows下VS2013的OpenOffice的開發環境配置完畢了,下一節,我們繼續配置mupdf的開發環境,以及一個實例程序代碼。
注意事項
- 反斜槓\和斜槓/,注意反斜槓在代碼中需要轉義一下:\
- 配置VS2013的工程屬性時,多個命令之間需要加“;”的
參考鏈接
http://blog.csdn.net/oldmtn/article/details/8596869
http://blog.csdn.net/jwybobo2007/article/details/8490124
http://blog.csdn.net/douyangyang/article/details/4085703
http://www.codeproject.com/Articles/32410/Integrate-the-OpenOffice-org-Power-in-a-WTL-or-Oth
http://blog.csdn.net/shi_zhoubo/article/details/1679053