podofo是一个可读可写的PDF开源类库,再强调一下是可读可写的
官网地址:http://podofo.sourceforge.net/
编译环境:windows7 VS2010
官网记载,要想编译podofo需要一下条件,这些条件都满足的话,那么podofo所自带的example都可以正常编译
Requirements to compilePoDoFo:
cppunit (optional) //可不管
freetype2 //必需
fontconfig (Linux/Unix only) //windows可不管
libjpeg (optional) //必需
libtiff (optional) //必需
libpng (optional) //必需
Lua 5.1 (optional, only for podofoimpose Lua imposition plans) //windows可不管
zlib //必需
添加环境变量PATH:C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin
下载CMake:cmake-2.8.2
http://www.cmake.org/cmake/resources/software.html
在编译过程中必须用到的库有:zlib,jpeg,freetype三个,但是考虑到今后的需要,还包括了png,tiff的库,如果有需要的话也可以包含测试的cppunit库
(这里没有包含这个库,呵呵,是因为这个库编译的都问题o(╯□╰)o)。使用的编译器是VS2010,用Cmake构建。
一、下载及版本
下载PoDoFo :podofo-0.9.0
http://podofo.sourceforge.net/download.html
1、libjpge
下载libjpeg:jpegsr8c
http://www.ijg.org/
假设jpeg解压后的目录
打开Visual Studio Command Prompt,切换到 c:/developer/jpeg目录下:
copy jconfig.vc jconfig.h
要运行一下
vsvars32.bat
nmake /f makefile.vc /a
就会在当前目录()下生成libjpeg.lib。
2、libtiff
下载libtiff:tiff-4.0.0beta6
http://www.libtiff.org/ nmake.exe管理编译
tiff-3.8.2.tar.gz是稳定版推荐下载这个版本
1、设置path变量 加入 virtual studio 的vc \bin路径
2、执行VCVARS32.BAT
3、转到tiff源码根目录
4、nmake /f makefile.vc
会生成lib文件在源目录中的libtiff目录中
//// 3 可以省略//////////////////////////////////////////////////////////////////
3、zlib 在libpng中带有 最后先下libpng看它里面要求什么版本的zlib,我下的libpng要求1.2.4
下载zlib: zlib1.2.8
http://zlib.net/ http://download.chinaunix.net/download/0013000/12241.shtml
1、使用cmd进入所在目录
2、nmake -f win32/Makefile.msc 便在目录中生成
3.Freetype
下载字体引擎ft244.zip:
http://download.savannah.gnu.org/releases/freetype/
http://download.chinaunix.net/download/0004000/3295.shtml
http://www.freetype.org/
假设解压后目录为D:/parsePDF/freetype-2.4.4,在vs中打开builds/win32/visualc/freetype.sln ,
分别在debug multithreaded和release multithreaded模式下生成(生成——>配置管理器——>活动解决方案——>选择)。这时,在
D:/parsePDF/freetype-2.4.4/objs下就会生成debug_mt和release_mt两个文件夹,freetype244MT.lib和freetype244MT_D.lib两个库
文件,将两个库文件和debug_mt文件夹中的vc90.pdb(使VC++能够找到freetype的调试信息)文件一起复制到
/freetype-2.4.4/objs/win32/vc2008文件夹下。
5.libpng
下载libpng:libpng-1.5. 2
http://libpng.sourceforge.net/index.html
http://download.chinaunix.net/download/0006000/5976.shtml
http://sourceforge.net/projects/libpng/files/
下载lpng151.zip解压到D:/parsePDF/lpng151
a. 在vs2010中打开D:/parsePDF/lpng151/projects/vstudio/vstudio.sln
b. 使用自己下载的zlib,在解决方案-》属性-》通用属性-》项目依赖项中去掉libpng对zlib的依赖
c. 在libpng项目-》属性-》配置属性-》vc++目录中添加zlib库的lib(库目录)和include路径(包含目录);并在链接器-》输入-》附加依赖性中添加zdll.lib(自己的源文件中的zlib库)
d. 这是libpng对pnglibconf还有依赖,所以先编译pnglibconf,再编译libpng;或者直接编译整个解决方案(这时其他的项目可能有错误,但对libpng不影响),在\libpng-1.5.2
\projects\vstudio\Debug或者projects/vstudio/Release文件夹(取决于生成时的配置:生成->配置管理器)下将生成libpng15.dll和libpng15.lib 和zlib.lib
0、下载podofo源码
1.编译之前,要先安装cmake 安装文档可参考:http://hi.baidu.com/tubo_true/blog/item/b2df35abe76f85dc7dd92ad5.html
2.新建一个目录如buid在PoDoFo下来存放放生成的vs2010工程
3.选择“Advanced” “Grouped"选项,点击下方的configure,第一次的时候会提示选择编译器,这里我们选择VS 2008。
4、配置cmake
libjpeg
TIFF 和 zlib
Freetype
7、生成virtual studio 工程
@1 configure
@Genera
便生成vs2010的工程
所有的都填写好了之后,在次点击configure,下面的输出框提示configure done!且需要的几个库都找到(也在下方的提示框
显示),这时点击generate,就会在build文件夹中产生podofo的解决方案。
8、编译工程
工程生成后vs2010并不能马上无误运行需要,手动修改。
1、 复制头文件
////////////////////源目录及文件/////////////
//******\libpng-1.5.2 目录下
pngconf.h
pnginfo.h
png.h
pnglibconf.h
//****\tiff-3.8.2\libtiff 目录下
tiffio.h
tiffvers.h
tiff.h
tif_config.h
tiffconf.h
///////////////// 复制到达的目的文件夹////////
\podofo-0.8.4\src
///////////////////////////////////////////////
2、修写头文件
在pnginfo.h中加入
#include "png"
#include "pngconf.h"
//////////位置一定不能倒过来//////
3、生成lib
运行工程生成lib 生成如图
Cmake安装一定要添加 路径到环境变量path,并且不能卸载,或卸载便会报 cmd.exe已退出的错误 !!