一、PDF-Writer:

https://github.com/galkahana/...

官网:https://pdfhummus.com/

演示代码:https://github.com/galkahana/PDFWriterSamples

文档:https://github.com/galkahana/...

同作者还有一个模块,node.js,可以将html页面转换成pdf

它使用标准的C ++库编码,支持32位和64位环境。

编译:

只在FreeType项目中提供了VS2010及以下的编译工程,其它几个项目要自行添加工程进行编译。

或者参照它的文档,下载一个CMake,它可以根据每个目录下的CMakeLists.txt文件,生成系统安装的VS编译项目。

下载CMake(https://cmake.org/download/,如果是xp系统,不要下载3.15,它不支持XP32位,是个BUG。下载3.13即可),扩展名.MSI的包,安装后,进入DOS环境,假定解压后的文件位于d:TestPdfWriter:

d:

cd d:TestPdfWriter

md build

cd build

cmake ..    

此时,CMake会自动搜索各个子目录下的CMakeLists.txt,并依照当前安装的VS最高版本,自动建立各个目录的对应的项目文件。

如果想生成低版本VS的项目文件,需要使用类似下列格式的选项:

cmake .. -G "Visual Studio 10 2010"

这样会生成VS2010版本的项目文件。具体帮助信息,参看cmake -h帮助信息。

打开pdfhummus工程,全部编译,则会生成对应的.lib文件。

新建lib目录,把所有.lib文件拷贝到该目录下。

新建include目录及各个库名称的子目录,把所有.h文件分别拷贝到对应的子目录下。

对其它例子PDFWriterSamples,启动VC工程,编译。上述头文件和库文件需要按照工程设定,拷贝到对应位置,或者修改工程属性,使其能够找得到对应文件。

编译选项:

cmake .. -DPDFHUMMUS_NO_TIFF = 1,不需要LibTiff

cmake .. -DPDFHUMMUS_NO_DCT = 1,不需要LibJpeg,解析PDF时不关心DCT解码

cmake .. -DPDFHUMMUS_NO_PNG = 1,不需要LibPng

帮助文档:

草草看了一遍,写的太笼统了,条理性不够好。这个库的代码相当庞大,功能强,但不是很容易掌握。

二、libharu:

官网:http://libharu.org/

文档:https://github.com/libharu/li...

最新版本2.3.0,2013/10/30更新

编译:

与上述项目一类似,也是CMake可以搞定的模式。可直接生成.lib文件,当然,它只有一个文件。

也可以静态链接,把所有.h和.c拷贝到项目目录,修改hpdf_config.h,把所有.c文件设置为不使用预编译头,然后与cpp文件一同编译。

帮助文档:

这个文档写的很不错,简洁,全面,适合初次使用者。

__

上述两个开源项目,都是个人开源的,支持Linux/Win等平台。缺省编译得到的是静态库链接库,这是跨平台项目的共同特点。

在选定一个项目之后,可以将部分或全部函数做成DLL接口,使其支持动态链接。

三、pdflib 9.2

https://www.pdflib.com/

这个差不多有十来年了,目前版本9.2。是一个商业版本,1000多欧。

它分三个部分,功能有差别:

PDFlib:基本款,创建pdf,包含文本,光栅图像和矢量图

PDFlib+PDI:增加了pdf导入

PPS:pdf个人服务器版本

支持的开发语言:

  • C
  • C++
  • COM
  • Java
  • .NET Core and .NET Framework
  • Objective-C
  • Perl
  • PHP
  • Python
  • RPG
  • Ruby

yubsh
1 声望0 粉丝