用于C / C ++应用程序的开源PDF库?[关闭]


91

我希望能够从我的(本机)C ++ Windows应用程序生成PDF输出。是否有任何免费/开源库可以做到这一点?

我看着这个问题的答案,但它们大多与.Net有关。

Answers:


61

LibHaru

Haru是一个免费的跨平台开源软件库,用于生成用ANSI-C编写的PDF。它既可以用作静态库(.a,.lib),也可以用作共享库(.so,.dll)。

我自己没有尝试过,但也许可以帮助您


我们可以使用LibHaru读取pdf文件还是只能创建?
Rui Carneiro

5
@Rui:很遗憾,只能创建。
Mark Ransom

2
FWIW,我为libHaru(github.com/pocoproject/poco/tree/master/PDF)写了一个POCO包装器。我们从未发布过它,但是它是接近生产级的代码。
Alex

不幸的是LibHaru不支持阅读和编辑PDF。所以对我没用。
冻结

19

我从事的项目需要pdf报告。在网上搜索后,我发现了PoDoFo库。看起来非常强大。我并不需要所有功能,所以我创建了一个包装器来抽象一些复杂性。不太困难。您可以在此处找到该库:

http://podofo.sourceforge.net/

请享用!


在Mac上构建PdDoFo十分痛苦,因此我最终放弃了尝试。构建LibHaru非常容易。

在两个文件中添加#include <climits>和<numeric_limits>之后,Podofo遇到了2个编译器问题,从而能够构建该软件包。但是不知何故,在我有两个GCC版本的Linux(我的Centos6.5附带一个旧版本,以及我构建的最新版本5.3)上,cmake系统无法在我的Linux上正常运行。链接是一个问题。我设法链接了helloworld,但是测试程序生成了一个空白文档。解决这个问题非常困难。
周克敏

1
但是podofo需要使用freetype2库,它是GPL而不是LGPL如果不想公开源代码,则不能
18C

@ 18C:Freetype允许包含在商业封闭源代码应用程序中。看到这个
先天乐观主义者


8

PDF鹰嘴豆泥。有关http://pdfhummus.com/的信息,请参见-包含除渲染外所有用于处理PDF文件的必需功能。


1
我最近与Hummus进行了大型PDF导出,可以推荐它。就涵盖当前PDFSpec的所有功能而言,可能还不完整(相当详尽),但通过带有许多虚函数的回调类,易于理解并且可以很好地扩展(github.com/galkahana/PDF-Writer/blob/ master / PDFWriter /…)。包含TIFF / JPEG处理和用于字体处理的freetype库。
RED SOFT ADAIR,2014年

您能够将其编译为动态链接库吗?还是仅支持静态链接库?
山姆


7

这取决于您的需求。一些工具包更擅长绘图,另一些工具更适合编写文本。开罗(Cairo)具有很好的绘图功能(它支持多种屏幕和文件类型,包括pdf),但对于好的排版来说可能不是理想的选择。



4
  • LibHaru似乎被许多人使用。

一种非开源方法是:PDF Creator Pilot,它提供了更多的语言选项,包括C ++,C#,Delphi,ASP,ASP.NET,VB,VB.NET,VBScript,PHP和Python


1

试试wkhtmltopdf

软件功能

跨平台。开源。使用webkit将任何网页转换为PDF文档。您可以添加页眉和页脚。TOC生成。批处理模式转换。可以在带有XServer的Linux服务器上运行(必须安装X11客户端库)。可以通过绑定到libwkhtmltox由PHP或Python直接使用。


很好 但是,由于它使用过时的Webkit,因此某些页面可能会抱怨(例如youtube)
swdev

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.