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 (Comment cela fonctionne : Un guide pour les développeurs)
Kannapat Udonpant
février 26, 2025
Partager:
Introduction
Parmi les bibliothèques Python,PyJWTest la bibliothèque Python la plus populaire qui offre un moyen pratique d'encoder et de décoder les JSON Web Tokens(JWTs)dans les projets Python. Les JWT sont un moyen compact et sûr pour les URL de représenter des déclarations à transférer entre deux parties. Le package pyjwt facilite l'implémentation des JSON web tokens en Python. Les jetons JWT sont largement utilisés pour l'authentification et l'échange d'informations dans les applications web. Le package dispose de documents en ligne riches pour soutenir les développeurs. Dans cet article, nous examinerons égalementIronPDF deIronSoftwarepour générer des documents PDF plus tard.
Caractéristiques principales
Encodage et décodage JWT : PyJWT vous permet d'encoder et de décoder facilement des JWT. Vous pouvez créer un jeton en encodant une charge utile avec une clé secrète et un algorithme, puis le décoder plus tard pour vérifier la charge utile.
Prise en charge de plusieurs algorithmes : PyJWT prend en charge divers algorithmes pour signer des jetons, y compris HMAC(HS256, HS384, HS512)et RSA(RS256, RS384, RS512). Il prend en charge à la fois les algorithmes symétriques et les algorithmes asymétriques.
Validation des demandes : La bibliothèque propose une prise en charge intégrée pour valider les revendications standard telles que est(émetteur), sous(sujet), aud(audience), et exp (temps d'expiration), tel que l'authentification sécurisée basée sur des jetons.
Pour un support cryptographique supplémentaire, vous pouvez l'installer avec l'option crypto :
pip install pyjwt[crypto]
pip install pyjwt[crypto]
PYTHON
Utilisation de base
Voici un exemple simple de la manière d'utiliserPyJWTimplémentation Python :
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
Dans cet exemple, nous créons un JWT en encodant une charge utile avec une clé secrète en utilisant l'algorithme HS256. Nous décodons ensuite le jeton pour récupérer la charge utile originale.
Sortie
Cas d'utilisation
Authentification : Les JWT sont couramment utilisés pour l'authentification dans les applications web. Après qu'un utilisateur se connecte, le serveur génère un JWT et renvoie le jeton signé au client. Le client peut vérifier l'identité de l'utilisateur en utilisant ce jeton et inclure le jeton dans les requêtes ultérieures.
Échange d'informations : Les parties peuvent transmettre des informations en toute sécurité en utilisant des JWT. La charge utile peut inclure n'importe quelle donnée ; la signature du jeton garantit son intégrité.
Les utilisateurs peuvent convertir des fichiers HTML, des chaînes HTML et des URL en PDFs. Par exemple,rendre une page web sous forme de PDFen utilisant le moteur de rendu PDF Chrome d'IronPDF de IronPDF.
Support multiplateforme
IronPDF est conçu pour les versions Python 3+ et fonctionne sur Windows, Mac, Linux ou les plateformes cloud.
L'utilisateur peut définir des propriétés, ajouter de la sécurité avec des mots de passe et des autorisations, et appliquer des signatures numériques aux PDF en utilisant IronPDF.
Modèles de page et paramètres
IronPDF vous permet de personnaliser des documents PDF avecles en-têtes, les pieds de page, numéros de page et marges ajustables. Il prend également en charge les mises en page réactives et les formats de papier personnalisés.
Respect des normes
Le package IronPDF respecte également les normes PDF telles que PDF/A et PDF/UA. Il prend en chargeCodage des caractères UTF-8 et gère les actifs tels que les images, les CSS et les polices.
Générez des documents PDF à l'aide de IronPDF et PyJWT
Conditions préalables pour IronPDF
IronPDF utilise .NET 6.0 comme technologie sous-jacente. Veillez donc à ce que.NET 6.0 runtime est installé sur votre système.
Python 3.0+ : Vous devez avoir installé la version 3 de Python ou une version ultérieure.
Pip : Installer le gestionnaire de paquets Pythontuyau pour installer le paquet IronPDF.
Pour commencer, créons un fichier Python à la racine du projet pour ajouter nos scripts. Pour cet exemple, nous utilisonsCode Visual Studio comme éditeur de code.
Ouvrez Visual Studio Code et créez un fichier, pyjwtDemo.py.
Installer la bibliothèque IronPDF :
pip install ironpdf
pip install pyjwt
pip install ironpdf
pip install pyjwt
PYTHON
Ajoutez ensuite le code ci-dessous pour démontrer l'utilisation de IronPDF etPyJWTpackages Python
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
Explication du code
Ce fragment de code montre comment utiliser le `jwt`(Jeton Web JSON)bibliothèque avec IronPDF pour créer un document PDF comprenant des exemples de codage et de décodage de JWT.
Voici un aperçu des fonctions de chaque composant de code :
Importations et Configuration de la Clé de Licence :
Importe la bibliothèque `jwt` pour la fonctionnalité JSON Web Token et `ChromePdfRenderer` de IronPDF pour la génération de PDF.
Définit la clé de licence pour IronPDF afin d'activer ses fonctionnalités. 2. Configuration du contenu HTML :
Initialise la variable `content` avec un balisage HTML à inclure dans le document PDF.3. Encodage d'un JWT :
Définit un dictionnaire de charge utile contenant les données à encoder dans le JWT(`chargement`). Spécifie une clé secrète(secret)pour signer le JWT avec l'algorithme HMAC en utilisant SHA-256(`HS256`). Génère un jeton JWT en utilisant `jwt.encode()\ fonction et l'imprime.4. Décoder un JWT :
Ajoute du balisage HTML pour démontrer le décodage JWT. Décode le JWT précédemment généré(jeton)en utilisant jwt.decode()` fonction avec le même secret et algorithme utilisé pour le codage.5. Génération de PDF :
Il utilise ChromePdfRenderer pour rendre la chaîne HTML `content` en un document PDF et enregistre le fichier PDF généré sous le nom "Demo-pyjwt.pdf." Cette configuration permet la création d'un document PDF qui illustre l'utilisation des JWTs avec IronPDF pour générer des PDF de qualité professionnelle.
Sortie
PDF (EN ANGLAIS)
Licence d'IronPDF
IronPDFclé de licence pour permettre aux utilisateurs d'essayer ses fonctionnalités étendues avant d'acheter.
Placez la clé de licence au début du script avant de l'utiliserPaquet IronPDF:
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
PYTHON
Conclusion
PyJWT est une bibliothèque puissante et flexible pour travailler avec les JSON Web Tokens en Python. Sa facilité d'utilisation et sa prise en charge de divers algorithmes en font un choix populaire pour mettre en œuvre l'authentification par jeton et l'échange d'informations sécurisées dans les applications web. D'autre part, IronPDF est une bibliothèque de génération de PDF polyvalente et riche en fonctionnalités qui aidera à documenter les résultats de manière standard. Ces deux bibliothèques peuvent permettre aux développeurs d'améliorer leurs compétences.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
SUIVANT > HTTPX Python (Comment cela fonctionne : Un guide pour les développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier