Erstellen von PDF-Dateien zur Laufzeit in c # [geschlossen]

83

Gibt es eine angehängte PDF-Bibliothek, die an .NET 3.5 angehängt werden kann und die die Erstellung von PDF-Dateien zur Laufzeit ermöglicht, dh das Öffnen einer neuen PDF-Datei, das zeilenweise Schreiben, das Einbetten von Bildern usw. und das Schließen der PDF-Datei in C # -Code ?

Ich möchte eine Reihe von Tools und Spezifikationen, mit denen ich einen benutzerdefinierten PDF-Writer in C # implementieren kann, ohne die PDF-Ausgabeoption von Reporting Services zu verwenden.

Lonzo
quelle

Antworten:

39

iTextSharp http://itextsharp.sourceforge.net/

Komplex aber umfassend.

ine
quelle
2
Wow, ich habe gepostet und innerhalb von 60 Sekunden gibt es drei weitere Empfehlungen für dasselbe! Ich denke, es ist beliebt.
Ine
4
Sehr beliebt - etwas mühsam mit IMO zu arbeiten, aber Sie können einige schöne Ergebnisse erzielen. Und es ist kostenlos.
Knobloch
3
neuer Link zur Quelle: sourceforge.net/projects/itextsharp
Travis
4
Es ist nicht frei Jungs! Wo steht das?
Fandango68
2
Die AGPL-Version ist kostenlos. Aber nicht mehr die beste Antwort.
Aggsol
115

iTextSharp ist nicht mehr unter der MIT / LGPL-Lizenz lizenziert. Versionen größer als 4.1.6 sind unter der Affero-GPL lizenziert. Dies bedeutet, dass Sie sie nicht einmal in einem SaaS-Szenario (Software as a Service) verwenden können, ohne Ihren Code unter der GPL oder einer GPL-kompatiblen Lizenz zu lizenzieren.

Andere OpenSource-PDF-Implementierungen in nativem .NET sind:

  • PDF Clown (stellen Sie sicher, dass Sie die Patches auf die neueste Version erhalten)
  • PDFSharp
  • PDFJet Open Source Edition (kommerzielle Version ebenfalls verfügbar, und Sie müssen das JDK installiert haben, um dies zu erstellen)

Es gibt auch einige Java PDF-Bibliotheken (wie PDFBox), die Sie mit IKVM in .NET konvertieren können.

Darkphoenix
quelle
28
+1 für die Referenzierung der Lizenzänderung. Ich muss jetzt eine neue PDF-Bibliothek lernen ...
Mayo
1
Gibt es einen Ort, an dem die Version 4.1.6 von iTextSharp noch heruntergeladen werden kann? Gibt es Probleme, warum diese ältere Version nicht heruntergeladen werden sollte?
Rasto
1
@drasto Ich habe dies über Google gefunden: github.com/itextsharper/iTextSharp-4.1.6 Es scheint auch, dass Sie ältere Versionen über NuGet erhalten können. Ich habe das nicht bestätigt.
Darkphoenix
31

Schauen Sie sich PDFSharp an

Es ist Open Source und in .NET geschrieben. Ich verwende es selbst für die Erstellung von PDF-Rechnungen.

Taner Gedikoğlu
quelle
6
PDFsharp wird mit MIT-Lizenz ausgestellt . (Sehr
freizügig
PDFSharp (MigraDoc) war super einfach zu starten. Ich hatte die gewünschte Ausgabe innerhalb von ein oder zwei Stunden.
Chuck Savage
Leute, können Sie mit PDFSharp ein PDF-Formular erstellen, damit Benutzer Daten direkt in die Formularfelder eingeben und per E-Mail an uns zurücksenden können? Ich konnte so etwas auf der Seite mit den Funktionen nicht sehen, aber es wurde eine eingeschränkte AcroForm-Unterstützung angegeben. Was ist AcroForm? Das gleiche?
Fandango68
Wird dieses Projekt heutzutage nicht mehr unterstützt?
Johnny_D
4

Nun, kostenlos und nicht kostenlos, ich verwende die WebSuperGoo ABCpdf .NET- Komponente, die ich einfach liebe!

nicht kostenlos, weil Sie dafür bezahlen müssen.

kostenlos, denn selbst wenn Sie bezahlen müssen, haben sie eine Testversion und Sie können eine kostenlose Lizenz anfordern, wenn Sie nichts dagegen haben. Zeigen Sie auf Ihrer Website "Diese Website verwendet die WebSuperGoo ABCpdf .NET-Komponente" mit einem Link zu ihrer Website an.

Ich habe das getan und eine kostenlose Lizenz erhalten (Version 5 in dieser Zeit), also kann ich sagen, dass es funktioniert (auch wenn die Website nicht mehr online ist) - ich habe und benutze immer noch die Komponente ~ :)

Eine wunderbare Sache, die ich daran liebe, ist, dass Sie alles tun können, was Sie können, PDF-Formulare erstellen und dynamisch ausfüllen und per E-Mail an den Benutzer senden oder sie herunterladen lassen, ein PDF von Grund auf neu erstellen und HTML konvertieren können Seiten in PDF, etc etc etc, bitte lesen Sie die Dokumentation, es ist eine wunderbare Komponente.

Balexandre
quelle
2

Ich empfehle dringend: iTextSharp

Przemek
quelle
11
Dies ist ein doppelter Vorschlag
Epotter
3
@epotter Entschuldigung für die verspätete Antwort, aber Tatsache ist, dass fast alle, die iTextSharp vorgeschlagen haben, dies innerhalb einer Minute getan haben
Przemek
3
Ja, aber aus Kostengründen ist es nicht mehr die erste Wahl. Es ist nicht mehr kostenlos
Fandango68
1

Ich habe ( iTextSharp ) in der Vergangenheit mit schönen Ergebnissen verwendet.

Knobloch
quelle
1

Die Docotic.Pdf-Bibliothek kann einfach zum Erstellen von PDF-Dateien zur Laufzeit verwendet werden. Die Bibliothek kann auch vorhandene PDF-Dokumente ändern (Text / Bilder extrahieren, Seiten anhängen, Formularfelder ausfüllen usw.)

Beispiele für allgemeine Aufgaben finden Sie auf der Website der Bibliothek.

Haftungsausschluss: Ich arbeite für Bit Miracle.

Bobrovsky
quelle
0

Wie wäre es mit iTextSharp ?

iText ist eine PDF-Generierungsbibliothek (unter anderem), die ebenfalls nach C # portiert (und synchronisiert) wird.

Francisco Canedo
quelle
0

Zu diesem Zweck habe ich mir überlegt, LaTeX-Apps auszuführen, um ein PDF zu generieren. Obwohl diese Option wahrscheinlich weitaus komplizierter und schwerer ist als die hier aufgeführten.

Simon P.
quelle
0

Hierfür kann auch Amyuni PDF Converter .Net verwendet werden. Außerdem können Sie vorhandene Dateien ändern, OCR auf sie anwenden und Text extrahieren, Rasterbilder erstellen (z. B. zur Erstellung von Miniaturansichten), die Ausgabe-PDF für die Webanzeige optimieren usw.

Es gilt der übliche Haftungsausschluss.

yms
quelle
0

Es gibt ein neues Projekt, RazorPDF, das von ASP.NET MVC verwendet werden kann. Es ist als Nuget-Paket erhältlich (Suche nach RazorPDF).

Hier finden Sie weitere Informationen: http://nyveldt.com/blog/post/Introducing-RazorPDF

WICHTIGES UPDATE Wie @DenNukem betonte, hängt es von iTextsharp ab. Ich habe vergessen, die Antwort zu bearbeiten, als ich das herausfand (als ich versuchte, es zu verwenden). Wenn Ihr Projekt also nicht Open Source ist und für die AGPL-Lizenz berechtigt ist, wird es wahrscheinlich zu teuer sein.

Goran Obradovic
quelle
2
Warnung: hängt von iTextsharp ab, einer AGPL-Komponente, für deren Verwendung eine nicht genannte kommerzielle Lizenz ohne AGPL-Einschränkungen erforderlich ist.
DenNukem
2
Ja, und ich habe nach einem iTextsharp-Angebot für einen Server gefragt, fast 2000 US-Dollar, also ist das kein Problem :(
Goran Obradovic
1
Vielen Dank, dass Sie den Preis herausgefunden haben. Das spart mir ein bisschen Zeit. Ich neige jetzt zu PDFJet, da die kostenlose Version vorerst meinen Anforderungen zu entsprechen scheint.
DenNukem
RazorPDF funktioniert mit der LGPL-Version von iTextSharp. Verwenden Sie einfach das NuGet-Paket nuget.org/packages/iTextSharp-LGPL
Toft