Open Source PDF Bibliothek für C / C ++ Anwendung? [geschlossen]


91

Ich möchte in der Lage sein, PDF-Ausgaben von meiner (nativen) C ++ - Windows-Anwendung zu generieren. Gibt es dafür freie / Open-Source-Bibliotheken?

Ich habe mir die Antworten auf diese Frage angesehen , aber sie beziehen sich hauptsächlich auf .Net.

Antworten:


61

LibHaru

Haru ist eine kostenlose plattformübergreifende Open-Source-Softwarebibliothek zum Generieren von in ANSI-C geschriebenen PDF-Dateien. Es kann sowohl als statische Bibliothek (.a, .lib) als auch als gemeinsam genutzte Bibliothek (.so, .dll) verwendet werden.

Ich habe es nicht selbst versucht, aber vielleicht kann es dir helfen


Können wir mit LibHaru PDF-Dateien lesen oder nur erstellen?
Rui Carneiro

5
@Rui: leider nur erstellen.
Mark Ransom

2
FWIW, ich habe einen POCO-Wrapper für libHaru geschrieben ( github.com/pocoproject/poco/tree/master/PDF ). Wir haben es nie veröffentlicht, aber es ist nahezu produktionsfähiger Code.
Alex

Leider unterstützt LibHaru das Lesen und Bearbeiten von PDF nicht. So nutzlos für mich.
Einfrieren

19

Ich habe an einem Projekt gearbeitet, für das ein PDF-Bericht erforderlich war. Nachdem ich online gesucht hatte, fand ich die PoDoFo-Bibliothek. Schien sehr robust. Ich brauchte nicht alle Funktionen, also habe ich einen Wrapper erstellt, um einen Teil der Komplexität zu abstrahieren. War nicht zu schwierig. Die Bibliothek finden Sie hier:

http://podofo.sourceforge.net/

Genießen!


Das Erstellen von PdDoFo auf einem Mac ist ein großer Schmerz, deshalb habe ich es endlich aufgegeben, es zu versuchen. LibHaru zu bauen war sehr einfach.

Podofo bekam 2 Compiler-Probleme, nachdem #include <climits>, <numeric_limits> in zwei Dateien hinzugefügt wurde, konnte das Paket erstellt werden. Aber irgendwie funktioniert das cmake-System unter meinem Linux nicht gut, wo ich zwei Versionen von GCC habe (die alte wurde mit meinem Centos6.5 geliefert und eine neueste Version 5.3, die ich erstellt habe). Das Verknüpfen ist ein Problem. Ich habe es geschafft, die Welt zu verlinken, aber das Testprogramm hat ein leeres Dokument erstellt. Es ist sehr schwer, dieses Problem zu lösen.
Kemin Zhou

1
Podofo erfordert jedoch eine Freetype2-Bibliothek, bei der es sich um eine GPL handelt, nicht um eine LGPL . Sie können keine Software mit freetype2 erstellen, wenn Sie Ihre Quelle nicht veröffentlichen möchten.
18.

@ 18C: Freetype ermöglicht die Aufnahme in kommerzielle Closed-Source-Anwendungen. Siehe dies
Angeborener Optimist

17

Wenn Sie mutig und bereit sind, Ihre eigenen zu erstellen, können Sie mit einer PostScript-Bibliothek beginnen und diese für den Umgang mit PDF erweitern, indem Sie die kostenlose Online-PDF-Referenz von Adobe nutzen .



7

Es hängt ein bisschen von Ihren Bedürfnissen ab. Einige Toolkits können besser zeichnen, andere besser zum Schreiben von Text. Kairo eignet sich gut zum Zeichnen (es unterstützt eine Vielzahl von Bildschirm- und Dateitypen, einschließlich PDF), ist jedoch möglicherweise nicht ideal für eine gute Typografie.


7

PDF Hummus. siehe http://pdfhummus.com/ - enthält alle erforderlichen Funktionen für die Bearbeitung mit PDF-Dateien außer dem Rendern.


1
Ich habe kürzlich einen großen PDF-Export mit Hummus durchgeführt und kann ihn empfehlen. Wahrscheinlich nicht vollständig, um alle Funktionen der aktuellen PDFSpec abzudecken (was ziemlich erschöpfend ist), aber einfach zu verstehen und durch eine Rückrufklasse mit einer Reihe virtueller Funktionen gut erweiterbar ( github.com/galkahana/PDF-Writer/blob/) master / PDFWriter /… ). Enthält die TIFF / JPEG-Behandlung und die Freetype-Bibliothek für die Schriftbehandlung.
RED SOFT ADAIR

Konnten Sie es als dynamisch verknüpfte Bibliothek kompilieren? Oder unterstützt es nur statisch verknüpfte Bibliotheken?
Sam


4
  • LibHaru scheint von vielen benutzt zu werden.

Ein nicht Open-Source-Ansatz ist: PDF Creator Pilot, der weitere Sprachoptionen bietet, darunter C ++, C #, Delphi, ASP, ASP.NET, VB, VB.NET, VBScript, PHP und Python


1

Versuchen Sie es mit wkhtmltopdf

Softwarefunktionen

Plattformübergreifend. Open Source. Konvertieren Sie alle Webseiten mit dem Webkit in PDF-Dokumente. Sie können Kopf- und Fußzeilen hinzufügen. Inhaltsverzeichnisgenerierung. Konvertierungen im Stapelmodus. Kann auf einem Linux-Server mit einem XServer ausgeführt werden (die X11-Client-Bibliotheken müssen installiert sein). Kann direkt von PHP oder Python über Bindungen an libwkhtmltox verwendet werden.


Das ist gut. Da jedoch ein datiertes Webkit verwendet wird, können sich einige Seiten beschweren (z. B. YouTube)
swdev

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.