Bibliothèque PDF open source pour application C / C ++? [fermé]

91

Je souhaite pouvoir générer une sortie PDF à partir de mon application Windows C ++ (native). Existe-t-il des bibliothèques gratuites / open source disponibles pour ce faire?

J'ai regardé les réponses à cette question , mais elles concernent principalement .Net.

ChrisN
la source

Réponses:

61

LibHaru

Haru est une bibliothèque logicielle gratuite, multiplateforme et open source pour générer des PDF écrits en ANSI-C. Il peut fonctionner à la fois comme une bibliothèque statique (.a, .lib) et une bibliothèque partagée (.so, .dll).

Je n'ai pas essayé moi-même, mais peut-être que cela peut vous aider

aku
la source
Pouvons-nous lire des fichiers pdf avec LibHaru ou nous ne pouvons que créer?
Rui Carneiro le
5
@Rui: ne crée que, malheureusement.
Mark Ransom
2
FWIW, j'ai écrit un wrapper POCO pour libHaru ( github.com/pocoproject/poco/tree/master/PDF ). Nous ne l'avons jamais publié, mais il s'agit d'un code proche de la production.
Alex
Malheureusement, LibHaru ne prend pas en charge la lecture et l'édition de PDF. Si inutile pour moi.
geler
19

J'ai travaillé sur un projet qui nécessitait un rapport pdf. Après avoir cherché en ligne, j'ai trouvé la bibliothèque PoDoFo. Semblait très robuste. Je n'avais pas besoin de toutes les fonctionnalités, j'ai donc créé un wrapper pour résumer une partie de la complexité. Ce n'était pas trop difficile. Vous pouvez trouver la bibliothèque ici:

http://podofo.sourceforge.net/

Prendre plaisir!


la source
Construire PdDoFo sur Mac est une énorme douleur, alors j'ai finalement renoncé à essayer. Construire LibHaru était très facile.
Podofo a eu 2 problèmes de compilateur, après avoir ajouté #include <climits>, <numeric_limits> dans deux fichiers, a pu construire le package. Mais d'une manière ou d'une autre, le système cmake ne fonctionne pas bien sur mon Linux où j'ai deux versions de GCC (l'ancienne est venue avec mon Centos6.5, et une dernière version 5.3 que j'ai construite). La liaison est un problème. J'ai réussi à relier le monde hellow, mais le programme de test a produit un document vierge. Il est très difficile de résoudre ce problème.
Kemin Zhou
1
Mais podofo REQUIERT la bibliothèque freetype2 qui est GPL, pas LGPL . Vous ne pouvez pas créer de logiciel avec freetype2 si vous ne voulez pas rendre votre source publique.
18C
@ 18C: Freetype permet l'inclusion dans des applications commerciales à source fermée. Voir ça
Congenital Optimist
17

Si vous êtes courageux et désireux de lancer le vôtre, vous pouvez commencer avec une bibliothèque PostScript et l'augmenter pour gérer le PDF, en tirant parti de la référence PDF en ligne gratuite d'Adobe .

Tyler
la source
8

PDF Houmous. voir pour http://pdfhummus.com/ - contient toutes les fonctionnalités requises pour la manipulation avec des fichiers PDF à l'exception du rendu.

Lidia Mirkin
la source
1
J'ai récemment fait une grande exportation PDF avec Hummus et je peux le recommander. Probablement pas complet en termes de couverture de toutes les fonctionnalités du PDFSpec actuel (qui est assez exhaustif), mais facile à comprendre et bien extensible grâce à une classe de rappel avec un certain nombre de fonctions virtuelles ( github.com/galkahana/PDF-Writer/blob/ master / PDFWriter /… ). Contient la gestion TIFF / JPEG et la bibliothèque freetype pour la gestion des polices.
RED SOFT ADAIR
avez-vous pu le compiler en tant que bibliothèque liée dynamique? Ou prend-il en charge uniquement la bibliothèque liée statique?
Sam le
8

jagpdf semble être l'un d'entre eux. Il est écrit en C ++ mais fournit une API C.

Sangcheol Choi
la source
7

Cela dépend un peu de vos besoins. Certaines boîtes à outils sont meilleures pour dessiner, d'autres sont meilleures pour écrire du texte. Cairo a un assez bon pour le dessin (il prend en charge un large éventail de types d'écran et de fichiers, y compris le pdf), mais il n'est peut-être pas idéal pour une bonne typographie.

Léon Timmermans
la source
4
  • LibHaru semble être utilisé par beaucoup.

Une approche non open source est: PDF Creator Pilot qui fournit plus d'options de langage, notamment C ++, C #, Delphi, ASP, ASP.NET, VB, VB.NET, VBScript, PHP et Python

prakash
la source
1

Essayez wkhtmltopdf

Fonctionnalités du logiciel

Plateforme croisée. Open source. Convertissez toutes les pages Web en documents PDF à l'aide de Webkit. Vous pouvez ajouter des en-têtes et des pieds de page. Génération de TOC. Conversions en mode batch. Peut fonctionner sur un serveur Linux avec un XServer (les bibliothèques client X11 doivent être installées). Peut être directement utilisé par PHP ou Python via des liaisons à libwkhtmltox.

M. Hefny
la source
C'est bon. Mais, comme il utilise un webkit daté, certaines pages peuvent se plaindre (youtube par exemple)
swdev