一、PDF-Writer:
https://github.com/galkahana/...
演示代码: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:
文档: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
这个差不多有十来年了,目前版本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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。