from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Export to a file or Stream
pdf.SaveAs("output.pdf")
# Advanced Example with HTML Assets
# Load external html assets: Images, CSS and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
PyJWT Python (Wie es funktioniert: Ein Leitfaden für Entwickler)
Jordi Bardia
26. Februar 2025
Teilen Sie:
Einführung
Unter den Python-Bibliotheken,PyJWTist die beliebteste Python-Bibliothek, die eine bequeme Möglichkeit bietet, JSON-Web-Tokens zu kodieren und zu dekodieren(JWTs)in Python-Projekten. JWTs sind ein kompaktes, URL-sicheres Mittel zur Darstellung von Ansprüchen, die zwischen zwei Parteien übertragen werden sollen. Das pyjwt-Paket erleichtert die Implementierung von JSON-Web-Tokens in Python. JWT-Tokens werden häufig für Authentifizierung und Informationsaustausch in Webanwendungen verwendet. Das Paket verfügt über umfangreiche Online-Dokumentation zur Unterstützung von Entwicklern. In diesem Artikel werden wir auch untersuchenIronPDF vonIronSoftwareum später PDF-Dokumente zu erstellen.
Wesentliche Merkmale
JWT-Codierung und -Dekodierung: PyJWT ermöglicht es Ihnen, JWTs einfach zu codieren und zu dekodieren. Sie können ein Token erstellen, indem Sie eine Nutzlast mit einem geheimen Schlüssel und einem Algorithmus kodieren und es später dekodieren, um die Nutzlast zu überprüfen.
Unterstützung für mehrere Algorithmen: PyJWT unterstützt verschiedene Algorithmen zum Signieren von Tokens, einschließlich HMAC(HS256, HS384, HS512)und RSA(RS256, RS384, RS512). Es unterstützt sowohl symmetrische als auch asymmetrische Algorithmen.
Validierung von Ansprüchen: Die Bibliothek bietet integrierte Unterstützung zur Validierung standardmäßiger Ansprüche wie z. B.(Aussteller), sub (Betreff), aud (Publikum), und exp(Ablaufzeit), wie sichere tokenbasierte Authentifizierung.
Für zusätzliche kryptografische Unterstützung können Sie es mit der Krypto-Option installieren:
pip install pyjwt[crypto]
pip install pyjwt[crypto]
PYTHON
Grundlegende Verwendung
Hier ist ein einfaches Beispiel, wie man verwendetPyJWTPython-Implementierung:
import jwt
# Encoding a JWT
payload = {"Message": "IronPDF is Awesome PDF library"}
secret = "your-256-bit-secret"
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)
# Decoding a JWT
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
import jwt
# Encoding a JWT
payload = {"Message": "IronPDF is Awesome PDF library"}
secret = "your-256-bit-secret"
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)
# Decoding a JWT
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
PYTHON
In diesem Beispiel erstellen wir ein JWT, indem wir eine Nutzlast mit einem geheimen Schlüssel unter Verwendung des HS256-Algorithmus kodieren. Wir dekodieren dann das Token, um die ursprüngliche Nutzlast abzurufen.
Ausgabe
Anwendungsfälle
Authentifizierung: JWTs werden häufig zur Authentifizierung in Webanwendungen verwendet. Nachdem sich ein Benutzer eingeloggt hat, generiert der Server ein JWT und gibt das signierte Token an den Client zurück. Der Client kann die Benutzeridentität mit diesem Token überprüfen und das Token in nachfolgenden Anfragen einbeziehen.
Informationsaustausch: Parteien können Informationen sicher mithilfe von JWTs übermitteln. Die Nutzlast kann beliebige Daten enthalten; Die Signatur des Tokens gewährleistet seine Integrität.
Benutzer können HTML-Dateien, HTML-Zeichenfolgen und URLs in PDFs umwandeln. Zum Beispiel,eine Webseite als PDF-Datei wiedergebenVerwendung des Chrome PDF-Renderers von IronPDF aus IronPDF.
Plattformübergreifende Unterstützung
IronPDF ist für Python 3+ Versionen konzipiert und läuft auf Windows, Mac, Linux oder Cloud-Plattformen.
Der Benutzer kann Eigenschaften festlegen, Sicherheit mit Passwörtern und Berechtigungen hinzufügen und digitale Signaturen auf PDFs mit IronPDF anwenden.
Seitenvorlagen und Einstellungen
IronPDF ermöglicht es Ihnen, PDF-Dokumente anzupassen mitkopfzeilen, Fußzeilen, seitenzahlen und einstellbare Ränder. Es unterstützt auch responsive Layouts und benutzerdefinierte Papiergrößen.
Einhaltung von Normen
Das IronPDF-Paket entspricht ebenfalls den PDF-Standards wie PDF/A und PDF/UA. Sie unterstütztUTF-8-Zeichencodierung und verwaltet Assets wie Bilder, CSS und Schriftarten.
Erstellen Sie PDF-Dokumente mit IronPDF und PyJWT
IronPDF-Voraussetzungen
IronPDF verwendet .NET 6.0 als Basistechnologie. Vergewissern Sie sich daher.NET 6.0-Laufzeit auf Ihrem System installiert ist.
Python 3.0+: Sie müssen Python Version 3 oder höher installiert haben.
Pip: Installieren Sie den Python-Paketinstallerpip um das IronPDF-Paket zu installieren.
Beginnen wir, indem wir eine Python-Datei im Projektstammverzeichnis erstellen, um unsere Skripte hinzuzufügen. Für dieses Beispiel verwenden wirVisual Studio-Code als Code-Editor.
Öffnen Sie Visual Studio Code und erstellen Sie eine Datei, pyjwtDemo.py.
IronPDF-Bibliothek installieren:
pip install ironpdf
pip install pyjwt
pip install ironpdf
pip install pyjwt
PYTHON
Fügen Sie dann den unten stehenden Code hinzu, um die Verwendung von IronPDF zu demonstrieren undPyJWTPython-Pakete
import jwt
from ironpdf import *
# Apply your license key
License.LicenseKey = "your key"
# Create a PDF from a HTML string using Python
content = "<h1>Awesome IronPDF with PyJWT</h1>"
content += "<h2> Encoding a JWT</h2>"
# Encoding a JWT
payload = {"Message": "IronPDF is Awesome PDF library"}
secret = "your-256-bit-secret" # private key
token = jwt.encode(payload, secret, algorithm="HS256")
print(token) # public key
content += "<p>Message:IronPDF is Awesome PDF library</p>"
content += "<p>secret:your-256-bit-secret</p>"
content += "<p>Generated Token:"+str(token)+"</p>"
# Decoding a JWT
content += "<h2> Decoding a JWT</h2>"
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
content += "<p>jwt.decode(token, secret, algorithms=[HS256]</p>"
content += "<p>Decoded Token:"+str(decoded_payload)+"</p>"
#Generate PDF using IronPDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file or Stream
pdf.SaveAs("Demo-pyjwt.pdf")
import jwt
from ironpdf import *
# Apply your license key
License.LicenseKey = "your key"
# Create a PDF from a HTML string using Python
content = "<h1>Awesome IronPDF with PyJWT</h1>"
content += "<h2> Encoding a JWT</h2>"
# Encoding a JWT
payload = {"Message": "IronPDF is Awesome PDF library"}
secret = "your-256-bit-secret" # private key
token = jwt.encode(payload, secret, algorithm="HS256")
print(token) # public key
content += "<p>Message:IronPDF is Awesome PDF library</p>"
content += "<p>secret:your-256-bit-secret</p>"
content += "<p>Generated Token:"+str(token)+"</p>"
# Decoding a JWT
content += "<h2> Decoding a JWT</h2>"
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
content += "<p>jwt.decode(token, secret, algorithms=[HS256]</p>"
content += "<p>Decoded Token:"+str(decoded_payload)+"</p>"
#Generate PDF using IronPDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file or Stream
pdf.SaveAs("Demo-pyjwt.pdf")
PYTHON
Code Erläuterung
Dieser Codeausschnitt demonstriert, wie man das `jwt` verwendet(JSON-Web-Token)Bibliothek zusammen mit IronPDF verwenden, um ein PDF-Dokument zu erstellen, das Beispiele für das Kodieren und Dekodieren von JWTs enthält.
Unten finden Sie einen Überblick über die Funktionen der einzelnen Codekomponenten:
Importe und Einrichtung des Lizenzschlüssels:
Importiert die Bibliothek `jwt` für JSON Web Token-Funktionalität und `ChromePdfRenderer` von IronPDF zur PDF-Erstellung.
Legt den Lizenzschlüssel für IronPDF fest, um seine Funktionen zu aktivieren.2. HTML-Inhalts-Einrichtung:
Initialisiert die Variable `content` mit HTML-Markup, das in das PDF-Dokument aufgenommen werden soll. 3. Kodierung eines JWT:
Definiert ein Nutzlast-Dictionary, das Daten enthält, die in das JWT kodiert werden sollen(Payload). Gibt einen geheimen Schlüssel an(Geheimnis)zum Signieren des JWT mit dem HMAC-Algorithmus unter Verwendung von SHA-256(`HS256`). Erzeugt ein JWT-Token mittels `jwt.encode`()` Funktion und gibt es aus.4. Dekodierung eines JWT:
Fügt HTML-Markup zur Darstellung der JWT-Entschlüsselung hinzu. Decodiert den zuvor generierten JWT(`token`)Verwendung von jwt.decode()` Funktion mit demselben Geheimnis und Algorithmus verwenden, der für die Kodierung genutzt wurde.5. PDF-Erstellung:
Es verwendet ChromePdfRenderer, um die `content` HTML-Zeichenkette in ein PDF-Dokument zu rendern und die erzeugte PDF-Datei als "Demo-pyjwt.pdf" zu speichern. Diese Einrichtung ermöglicht die Erstellung eines PDF-Dokuments, das die Verwendung von JWTs mit IronPDF zur Erzeugung von professionellen PDFs zeigt.
Ausgabe
PDF
IronPDF-Lizenz
IronPDFLizenzschlüssel, um Benutzern zu ermöglichen, die umfangreichen Funktionen vor dem Kauf auszuprobieren.
Setzen Sie den Lizenzschlüssel an den Anfang des Skripts, bevor SieIronPDF-Paket:
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
PYTHON
Schlussfolgerung
PyJWT ist eine leistungsstarke und flexible Bibliothek zur Arbeit mit JSON-Web-Tokens in Python. Seine Benutzerfreundlichkeit und Unterstützung für verschiedene Algorithmen machen es zu einer beliebten Wahl für die Implementierung tokenbasierter Authentifizierung und den sicheren Informationsaustausch in Webanwendungen. Andererseits ist IronPDF eine vielseitige und funktionsreiche PDF-Erzeugungsbibliothek, die dabei hilft, die Ergebnisse in standardisierter Weise zu dokumentieren. Diese beiden Bibliotheken können für Entwickler wahre Wunder bewirken, um ihre Fähigkeiten zu verbessern.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
NÄCHSTES > HTTPX Python (Wie es funktioniert: Ein Leitfaden für Entwickler)