前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用c语言做个阅读器?

如何用c语言做个阅读器?

作者头像
程序员互动联盟
发布2018-03-16 10:57:59
1.8K0
发布2018-03-16 10:57:59
举报

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库,注意要下载libharu_2_0_8_win32.zip这个版本,其他总是出错。拷贝zlib和libpng的头文件和库(lib,dll)到libharu工程下,修改script目录下的Makefile.msvc_dll,这里我们也是编译为动态库,以便以后使用。将Makefile.msvc_dll中的zlib和libpng指向目录和库名修改正确,在命令行下执行:

nmake -f script\Makefile.msvc_dll即可编译成功。

5,使用编译好的libhpdf.dll和libhpdf.lib。拷贝好库和头文件到使用的工程,包含头文件时如下:

#define HPDF_DLL

#include "hpdf.h"

#pragma comment (lib, "libhpdf.lib")

这里必须定义HPDF_DLL(原因看hpdf.h的头文件),否则找不到那些libhpdf.lib输出的函数,提示入:

font_demo.obj : error LNK2001: unresolved external symbol _HPDF_SaveToFile

font_demo.obj : error LNK2001: unresolved external symbol _HPDF_Page_ShowText

font_demo.obj : error LNK2001: unresolved external symbol _HPDF_Page_MoveTextPos

之类的错误。

如果没有在工程中设置包含libhpdf.lib(属性设置或者使用#pragma comment (lib, "libhpdf.lib")),则会出现如下错误:

font_demo.obj : error LNK2001: unresolved external symbol __imp__HPDF_SaveToFile@8

font_demo.obj : error LNK2001: unresolved external symbol __imp__HPDF_Page_ShowText@8

font_demo.obj : error LNK2001: unresolved external symbol __imp__HPDF_Page_MoveTextPos@12

之类的错误。

注意着两点之后编译成功。

libHaru的使用在sample目录下有文本、图片等常见的使用实例,感兴趣可以去参考一下。


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档