Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
PDF-Dateien spielen in modernen digitalen Arbeitsabläufen eine entscheidende Rolle, da sie als Standardformat für die Speicherung und den Austausch von Dokumenten dienen. In Python greifen Entwickler häufig auf leistungsfähige Bibliotheken wiewkhtmltopdf und IronPDF zur Erstellung und Bearbeitung von PDF-Dateien. Beide Bibliotheken bieten unterschiedliche Funktionen und Möglichkeiten, die auf unterschiedliche Bedürfnisse im Bereich der PDF-Erstellung eingehen. In diesem Vergleich werden wir die Stärken und Anwendungsfälle der einzelnen Bibliotheken untersuchen, um Entwicklern eine fundierte Entscheidung zu ermöglichen.
wkhtmltopdf ist ein Befehlszeilen-Tool, das die WebKit-Rendering-Engine nutzt, um HTML oder andere Auszeichnungssprachen in PDF-Dateien zu konvertieren. Python-Entwickler verwenden in der Regel diepdfkit bibliothek als einfachen Python-Wrapper um wkhtmltopdf herum, um es nahtlos in ihre Projekte zu integrieren. Nun, diepython3-wkhtmltopdf paket bietet auch einen Python-Wrapper für das Kommandozeilenwerkzeug wkhtmltopdf, was die Verwendung von wkhtmltopdf in Python-Skripten erleichtert. Das Originalwkhtmltopdf Das Python-Paket wird nicht mehr gepflegt.
wkhtmltopdf zeichnet sich durch die Konvertierung von HTML-Inhalten in PDF aus, wobei Stile, Layout und Bilder erhalten bleiben. Dank seines einfachen Ansatzes eignet es sich für Szenarien, in denen die Umwandlung von HTML in PDF die Hauptanforderung ist.
Als Kommandozeilenwerkzeug ist wkhtmltopdf leicht skriptfähig und kann in verschiedene Arbeitsabläufe integriert werden. Es ist besonders nützlich für die Automatisierung von Stapelprozessen bei der PDF-Erstellung.
wkhtmltopdf unterstützt fortschrittliches CSS-Styling und führt JavaScript während des Konvertierungsprozesses aus, was reichhaltige und dynamische Inhalte in den resultierenden PDFs ermöglicht.
wkhtmltopdf bietet Flexibilität in Bezug auf Seitengröße, Ausrichtung und andere Layout-Einstellungen. Die Entwickler können diese Parameter anpassen, um das gewünschte Aussehen der generierten PDF-Dateien zu erreichen.
Das Tool ist unabhängig von externen Bibliotheken und Abhängigkeiten, was die Bereitstellung vereinfacht. Die Benutzer müssen jedoch sicherstellen, dass das wkhtmltopdf-Binary in ihrer Umgebung verfügbar ist.
IronPDF ist eine vielseitige Python-Bibliothek, die die Erzeugung, Bearbeitung und Manipulation von PDF-Dateien erleichtert. Es bietet eine Reihe von Funktionen für die Arbeit mit PDF-Dateien, wie z. B. die Erstellung von PDFs aus HTML, die Konvertierung von HTML in PDF, das Hinzufügen von Text und Bildern zu bestehenden PDFs und die Extraktion von Inhalten aus PDF-Dokumenten. Besonders beliebt ist es im .NET-Framework, und seine Python-Version soll Python-Entwicklern ähnliche Möglichkeiten bieten.
Stellen Sie sicher, dass Python auf Ihrem System installiert ist. Sie können Python von der Websiteoffizielle Python-Website.
Für die Erstellung eines Python-Projekts kann jede IDE verwendet werden, hier werde ich PyCharm, eine bekannte Python-IDE, verwenden. Sie können einfach jede IDE oder sogar einen Texteditor verwenden.
Öffnen Sie PyCharm: Starten Sie PyCharm auf Ihrem Computer.
Neues Projekt erstellen: Klicken Sie auf "Neues Projekt erstellen" auf dem Willkommensbildschirm oder gehen Sie zu Datei > Neues Projekt in der IDE.
Projektstandort festlegen: Geben Sie das Projektverzeichnis an und aktivieren Sie optional "Verzeichnis für das Projekt erstellen"
Interpreter auswählen: Wählen Sie einen vorhandenen Python-Interpreter oder erstellen Sie eine neue virtuelle Umgebung.
Projekt konfigurieren: Projekttyp, Inhaltsstamm und Quellstamm einrichten(standardeinstellungen sind in der Regel in Ordnung).
Klicken Sie auf "Erstellen": Klicken Sie auf die Schaltfläche "Erstellen", um das Projekt zu erstellen.
Besuchen Sie diewkhtmltopdf downloads und laden Sie das entsprechende Installationsprogramm für Ihr Betriebssystem herunter.
Befolgen Sie die Installationsanweisungen für Ihr spezifisches Betriebssystem. Wenn Sie unter Windows arbeiten, fügen Sie die Datei zur Umgebungsvariablen PATH hinzu, um sie von der Befehlszeile aus aufrufen zu können.
:InstallCmd brew install --cask wkhtmltopdf
:InstallCmd sudo apt-get install wkhtmltopdf
Öffnen Sie ein neues Terminal oder eine Eingabeaufforderung und geben Sie wkhtmltopdf ein, um sicherzustellen, dass das Tool korrekt installiert ist. Sie sollten Informationen über die verfügbaren Optionen sehen.
Eine dieser beliebten Python-Bibliotheken für die Interaktion mit wkhtmltopdf heißtpdfkit. Verwenden Sie den folgenden Befehl, um es auf Ihren Produktionsprojekten zu installieren:
pip install pdfkit
Installieren Sie IronPDF über pip: Öffnen Sie ein Terminal oder eine Eingabeaufforderung in PyCharm und führen Sie den folgenden Befehl aus, um IronPDF mit pip zu installieren:
pip installieren ironpdf
Sie können auch das für Ihre Plattform spezifische Python-Paket aus dem Download-Bereich der IronPDF-Website herunterladenhttps://ironpdf.com/python/
In diesem Vergleich sehen wir uns zunächst an, wie man mit der wkhtmltopdf lib und der IronPDF lib ein PDF-Dokument aus HTML erstellt. Wir werden sehen, wie man ein PDF aus den folgenden Daten erzeugt:
HTML-String zu PDF
HTML-Datei zu PDF
URL zu PDF
Außerdem werden wir einige optionale Argumente und Funktionen beider Bibliotheken untersuchen.
Zuerst werden wir uns ansehen, wie IronPDF nahtlos rendertHTML-String, dateiundURL in PDF umgewandelt, unter Verwendung der "ChromePdfRenderer"-Engine.
from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from an HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Export to a file or Stream
pdf.SaveAs("output.pdf")
Hier ist die Ausgabe der in PDF konvertierten HTML-Zeichenkette:
from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("example.html")
# Export to a file or Stream
pdf.SaveAs("output.pdf")
Hier ist die Ausgabe der in PDF konvertierten HTML-Datei:
from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/python")
# Export to a file or Stream
pdf.SaveAs("url.pdf")
Jetzt werden wir uns ansehen, wie wir HTML-Strings, Dateien und URLs mit den Paketen wkhtmltopdf und Pdfkit
in PDF konvertieren. Zuerst müssen Sie den PATH auf die wkhtmltopdf-Bibliotheksinstallation setzen oder die Konfiguration manuell vor dem Code hinzufügen:
config = pdfkit.configuration(wkhtmltopdf='PATH-to-WKHTMLTOPDF-EXECUTABLE-FILE')
import pdfkit
config = pdfkit.configuration(wkhtmltopdf='PATH-to-WKHTMLTOPDF-EXECUTABLE-FILE')
pdfkit.from_string('<h1>Hello World!</h1>', 'out.pdf', configuration=config)
Hier ist die in PDF umgewandelte HTML-Zeichenkette:
import pdfkit
config = pdfkit.configuration(wkhtmltopdf='PATH-to-WKHTMLTOPDF-EXECUTABLE-FILE')
pdfkit.from_file('example.html', 'index.pdf', configuration=config)
Hier ist die in PDF umgewandelte HTML-Datei:
import pdfkit
config = pdfkit.configuration(wkhtmltopdf='PATH-to-WKHTMLTOPDF-EXECUTABLE-FILE')
pdfkit.from_url('https://google.com', 'example.pdf', configuration=config)
Im Rahmen eines Gesamtvergleichs der obigen Codes und der Funktionen, die beide Bibliotheken bieten, folgt nun ein detaillierter Vergleich des Codes und der Funktionen, die sie für die PDF-Erzeugung bieten:
IronPDF bietet eine übersichtliche Python-API, die eine einfache HTML-zu-PDF-Konvertierung ermöglicht. Der Code ist sauber und aussagekräftig.
wkhtmltopdf ist einfach und leicht zu bedienen, aber die Syntax ist im Vergleich zu IronPDF weniger pythonisch. Außerdem ist es in erster Linie ein Kommandozeilenwerkzeug und hängt von einem anderen Python-Paket ab, um wkhtmltopdf erfolgreich in einer Python-Umgebung auszuführen.
IronPDF bietet ein hohes Maß an Flexibilität mit umfangreichen Anpassungsmöglichkeiten für das Rendern, Bearbeiten und Sichern von PDFs. Hier ist ein Codebeispiel, in dem Sie optionale Argumente erstellen können alsHTML-Rendering-Einstellungen:
from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Many rendering options to use to customize!
renderer.RenderingOptions.SetCustomPaperSizeInInches(12.5, 20)
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.Title = "My PDF Document Name"
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(50) # in milliseconds
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
renderer.RenderingOptions.FitToPaperMode = FitToPaperModes.Zoom
renderer.RenderingOptions.Zoom = 100
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
# Supports margin customization!
renderer.RenderingOptions.MarginTop = 40 # millimeters
renderer.RenderingOptions.MarginLeft = 20 # millimeters
renderer.RenderingOptions.MarginRight = 20 # millimeters
renderer.RenderingOptions.MarginBottom = 40 # millimeters
# Can set FirstPageNumber if you have a cover page
renderer.RenderingOptions.FirstPageNumber = 1 # use 2 if a cover page will be appended
# Settings have been set, we can render:
renderer.RenderUrlAsPdf("https://www.wikipedia.org/").SaveAs("my-content.pdf")
wkhtmltopdf ist flexibel für grundlegende Konvertierungsaufgaben, erfordert aber möglicherweise zusätzliche Werkzeuge für fortgeschrittene PDF-Bearbeitung. Hier bietet PDFKit Rendering-Optionen, die diesem Zweck dienen:
import pdfkit
options = {
'page-size': 'Letter',
'orientation': 'Landscape',
'margin-top': '0.75in',
'margin-right': '0.75in',
'margin-bottom': '0.75in',
'margin-left': '0.75in',
'encoding': "UTF-8",
'custom-header': [
('Accept-Encoding', 'gzip')
],
'no-outline': None
}
pdfkit.from_file('index.html', 'index.pdf', options=options)
IronPDF bietet erweiterte Funktionen wie PDF/A-Konformität, Bearbeitung, Zusammenführung und Sicherheitseinstellungen. Hier ist eine Liste vonKennwörter, Sicherheit und Metadaten optionen und Funktionen, die IronPDF bietet:
from ironpdf import *
# Open an Encrypted File, alternatively create a new PDF from Html
pdf = PdfDocument.FromFile("encrypted.pdf", "password")
# Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = Now()
# The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights
# Change or set the document encryption password
pdf.SecuritySettings.OwnerPassword = "top-secret" # password to edit the pdf
pdf.SecuritySettings.UserPassword = "sharable" # password to open the pdf
pdf.SaveAs("secured.pdf")
wkhtmltopdf ist mehr auf die HTML-zu-PDF-Konvertierung ausgerichtet und verfügt nicht über die erweiterten Funktionen von IronPDF.
IronPDF fügt sich nahtlos in Python-Umgebungen ein und lässt sich so leicht einsetzen.
wkhtmltopdf setzt voraus, dass die wkhtmltopdf-Binärdatei verfügbar ist, was zusätzliche Überlegungen bei der Bereitstellung erforderlich machen kann.
IronPDF zeichnet sich durch seine umfassende und benutzerfreundlichedokumentationund richtet sich sowohl an Anfänger als auch an erfahrene Entwickler. Die Dokumentation umfasst detaillierte Anleitungen, API-Referenzen und eine Fülle voncode-Beispieledies erleichtert das Verständnis und die Implementierung der Bibliotheksfunktionen in mehreren Sprachen, wie Python, Java, C# und Node.js.
IronPDF bietet eine Reihe von Support-Optionen, die sicherstellen, dass Entwickler umgehend Unterstützung erhalten. Dazu gehören ein engagiertes Support-Team, das per E-Mail erreichbar ist, die aktive Teilnahme an Entwicklerforen und eine Live-Support-Option auf der Website für Hilfe in Echtzeit.
da es sich bei wkhtmltopdf um ein Open-Source-Projekt handelt, ist die Dokumentation auf dem offiziellen GitHub-Repository und anderen Online-Plattformen verfügbar. Es deckt zwar die grundlegende Nutzung und Installation ab, aber die Dokumentation ist nicht so ausführlich und einsteigerfreundlich wie die einiger kommerzieller Alternativen.
Die Unterstützung für wkhtmltopdf wird in erster Linie von der Gemeinschaft getragen. Benutzer können Probleme melden und über GitHub Issues um Hilfe bitten und sich bei der Problemlösung auf Diskussionen und Foren der Community verlassen. Die Gemeinschaft beteiligt sich aktiv an Diskussionen und tauscht Erfahrungen und Lösungen aus.
wkhtmltopdf folgt einem Open-Source-Lizenzierungsmodell. Es wird unter der GNU Affero General Public License vertrieben(AGPL), eine freie und quelloffene Softwarelizenz. Die AGPL ist eine Copyleft-Lizenz, die verlangt, dass jede modifizierte Version der Software ebenfalls unter der AGPL verbreitet wird. Hier sind die wichtigsten Punkte bezüglich der Lizenzierung von wkhtmltopdf:
wkhtmltopdf ist frei verfügbar und quelloffen, so dass die Benutzer den Quellcode einsehen, verändern und weitergeben können.
Verteilt unter der GNU AGPL, die verlangt, dass alle Änderungen am Code unter der gleichen Lizenz veröffentlicht werden.
Die Benutzer können die Software frei herunterladen, verwenden und verändern, ohne dass Lizenzgebühren anfallen.
Die Copyleft-Bestimmung der AGPL stellt sicher, dass alle abgeleiteten Werke ebenfalls quelloffen sein müssen.
IronPDF verfolgt ein kommerzielles Lizenzierungsmodell. Die Lizenzierung von IronPDF basiert auf verschiedenen Editionen, die jeweils auf spezifische Bedürfnisse und Nutzungsszenarien zugeschnitten sind. Die verfügbaren Ausgaben sind:
Ideal für den Einsatz in Großunternehmen, da es umfangreiche Funktionen ohne Nutzungsbeschränkungen bietet.
IronPDF-Lizenzen sind unbefristet, d. h. sie laufen nicht ab, und Entwickler erhalten Updates und Support auf der Grundlage der gewählten Edition. Das Lizenzierungsmodell bietet Entwicklern die Flexibilität, die Edition zu wählen, die ihren Projektanforderungen entspricht. Weitere Informationen zur Lizenzierung und zu Add-ons finden Sie auf derlizenzseite.
Nach einem gründlichen Vergleich zwischen wkhtmltopdf und IronPDF for Python wird deutlich, dass IronPDF die bessere Wahl für Projekte mit erweiterten PDF-Anforderungen ist. Während wkhtmltopdf für einfache HTML-zu-PDF-Konvertierungsaufgaben aufgrund seiner Einfachheit und der Befehlszeilenschnittstelle gut geeignet ist, kann es bei komplizierteren PDF-Manipulationen versagen und erfordert oft zusätzliche Werkzeuge.
Im Gegenteil, IronPDF erweist sich als eine hervorragende Wahl, insbesondere für Projekte, die ein höheres Maß an Raffinesse erfordern. Es zeichnet sich durch eine benutzerfreundliche API aus, die mit umfangreichen Anpassungsoptionen ausgestattet ist. Dies macht IronPDF zu einer idealen Lösung für Aufgaben, die eine umfassende PDF-Bearbeitung und -Editierung sowie robuste Sicherheitsfunktionen erfordern. Seine Flexibilität geht über die reinen Layout-Einstellungen hinaus und erlaubt es Entwicklern, es nahtlos in verschiedene Python-Umgebungen zu integrieren.
Die Dokumentation von IronPDF zeichnet sich durch ihre Tiefe und Zugänglichkeit aus und bietet eine umfassende Ressource für Entwickler. Im Gegensatz dazu eignet sich wkhtmltopdf, das sich auf die Unterstützung der Community stützt, für Entwickler, die mit Community-Foren und der selbstgesteuerten Problemlösung vertraut sind.
IronPDF ist kostenlos für die Entwicklung, aber mit einem Wasserzeichen auf den erzeugten PDFs und bietet einekostenloser Test um seine vollständige Funktionalität ohne Wasserzeichen im kommerziellen Modus zu testen. Laden Sie die Software herunter vonhier.
9 .NET API-Produkte für Ihre Bürodokumente