libHaru是一个用来生成PDF文件的c语言、跨平台开发开源包,能再Windows、Linux、FreeBSD等等下使用。它支持线条、文本、图片、轮廓、文本注释、链接注释、文档压缩、图片嵌入、TrueType字体、加密PDF、支持多种字符集。libHaru目前的稳定版本是V2.3版。
编译libHaru这个开源库,需要其它的开源作为依赖,下面我们在Windows下编译libHaru。
1,下载zlib库,这个在官方网站上有最新的windows版本bin,不需要编译。
2,下载libpng,这个没有windows版本的二进制库文件,需要编译,最好下载1.2.51版本,因为我们要编译的libharu不是最新版本。
3,编译libpng,从projects目录中用vs2008,选择visualc71,打开工程。从工程中去掉依赖项(zlib,我们这里直接使用编译好的zlib,不需要编译),在设置从属性中的c++设置好头文件路径,和属性的连接设置好zlib的路径和库名字,编译动态库。
4,下载libharu库,注意要下载lib这个版本,其他总是出错。拷贝zlib和libpng的头文件和库(lib,dll)到libharu工程下,修改script目录下的Make,这里我们也是编译为动态库,以便以后使用。将Make中的zlib和libpng指向目录和库名修改正确,在命令行下执行:
nmake -f script\Make即可编译成功。
5,使用编译好的lib和lib。拷贝好库和头文件到使用的工程,包含头文件时如下:
#define HPDF_DLL
#include ";
#pragma comment (lib, "lib")
这里必须定义HPDF_DLL(原因看的头文件),否则找不到那些lib输出的函数,提示入:
: error LNK2001: unresolved external symbol _HPDF_SaveToFile
: error LNK2001: unresolved external symbol _HPDF_Page_ShowText
: error LNK2001: unresolved external symbol _HPDF_Page_MoveTextPos
之类的错误。
如果没有在工程中设置包含lib(属性设置或者使用#pragma comment (lib, "lib")),则会出现如下错误:
: error LNK2001: unresolved external symbol __imp__HPDF_SaveToFile@8
: error LNK2001: unresolved external symbol __imp__HPDF_Page_ShowText@8
: error LNK2001: unresolved external symbol __imp__HPDF_Page_MoveTextPos@12
之类的错误。
注意着两点之后编译成功。
libHaru的使用在sample目录下有文本、图片等常见的使用实例,感兴趣可以去参考一下。
如果对编程感兴趣,想了解更多的编程知识,解决编程问题,以及入门指导,帮你解决编程中遇到的困惑,我们这里有java高手,C++/C高手,windows/Linux高手,android/ios高手,关注微信公众号:程序员互动联盟或者coder_online,关注后输入关键字 zx 获取编程入门手册
本文属原创,禁止转载,谢谢!