Introduction
PyYAML est une bibliothèque Python qui fonctionne comme un parseur et émetteur YAML. YAML (YAML Ain’t Markup Language) est un format de sérialisation de données lisible par l'homme qui s'intègre bien avec les applications Python, offre un excellent support des erreurs, une API d'extension capable, et plus encore. YAML est souvent utilisé pour les fichiers de configuration et l'échange de données entre des langages ayant des structures de données différentes, dans un souci de lisibilité pour l'homme. Plus loin dans cet article, nous examinerons IronPDF, un package Python pour la génération de PDF de Iron Software.
Principales caractéristiques de PyYAML
Format Lisible pour les Humains : YAML est conçu pour être facile à lire et à écrire, ce qui le rend idéal pour les fichiers de configuration complexes et la sérialisation de données.
Prise en charge complète de YAML 1.1 : PyYAML prend en charge la spécification complète de YAML 1.1, y compris le support Unicode et les types de données personnalisés.
Intégration avec Python : PyYAML fournit des tags spécifiques à Python qui permettent la représentation d'objets Python arbitraires, le rendant polyvalent pour diverses applications.
- Gestion des erreurs : PyYAML offre des messages d'erreur clairs, ce qui peut être très utile lors du débogage.
Installation
Pour installer le paquet YAML, vous pouvez utiliser pip :
pip install pyyaml
Utilisation de base
Voici un exemple simple de l'utilisation de PyYAML pour charger et vider un document YAML vers et depuis un objet Python arbitraire.
import yaml
# Sample YAML data
yaml_data = """
name: John Doe
age: 30
children:
- name: Jane Doe
age: 10
- name: Jim Doe
age: 8
"""
# Load YAML data
data = yaml.safe_load(yaml_data)
print(data)
# Dump Python data to YAML
yaml_output = yaml.dump(data, default_flow_style=False)
print(yaml_output)
Sortie

Fonctionnalités avancées
- Types de données personnalisés : PyYAML vous permet de définir des constructeurs et des représentants personnalisés pour gérer des types de données complexes dans le format YAML canonique.
import yaml
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def person_representer(dumper, data):
return dumper.represent_mapping('!Person', {'name': data.name, 'age': data.age})
def person_constructor(loader, node):
values = loader.construct_mapping(node)
return Person(**values)
yaml.add_representer(Person, person_representer)
yaml.add_constructor('!Person', person_constructor)
# Object Serialization
person = Person(name='John Doe', age=30)
yaml_data = yaml.dump(person)
print(yaml_data)
# Deserialize YAML to a Person object
loaded_person = yaml.load(yaml_data, Loader=yaml.FullLoader)
print(loaded_person.name, loaded_person.age)
Sortie

- Gestion des fichiers volumineux : PyYAML peut gérer plusieurs documents YAML ou de grands fichiers YAML de manière efficace en utilisant le chargement et le déversement basés sur le flux.
import yaml
# Load a large YAML file
with open('large_file.yaml', 'r') as file:
data = yaml.safe_load(file)
# Dump data to a large YAML file
with open('output_file.yaml', 'w') as file:
yaml.dump(data, file)
Sortie

Présentation d'IronPDF

IronPDF est une bibliothèque Python puissante conçue pour créer, éditer et signer des PDF en utilisant HTML, CSS, des images et JavaScript. Il offre des performances de niveau commercial avec une faible empreinte mémoire. Les principales caractéristiques sont les suivantes :
Conversion de HTML en PDF
Convertissez des fichiers HTML, des chaînes HTML et des URL en PDF. Par exemple, rendre une page web sous forme de PDF à l'aide du moteur de rendu PDF de Chrome.
Compatible avec diverses plateformes .NET, notamment .NET Core, .NET Standard et .NET Framework. Il est compatible avec Windows, Linux et macOS.
Édition et signature
Définissez des propriétés, renforcez la sécurité à l'aide de mots de passe et d'autorisations, et appliquez des signatures numériques à vos PDF.
Modèles de page et paramètres
Personnalisez les PDF avec des en-têtes, des pieds de page, des numéros de page et des marges réglables. IronPDF prend en charge les mises en page réactives et les formats de papier personnalisés.
Respect des normes
IronPDF respecte les normes PDF telles que PDF/A et PDF/UA. Il prend en charge le codage des caractères UTF-8 et gère les ressources telles que les images, les feuilles de style CSS et les polices.
Générer des documents PDF avec IronPDF et PyYaml
import yaml
import json
from ironpdf import *
# Apply your license key
License.LicenseKey = "your license"
# Sample YAML data with standard yaml tags
yaml_data = """
name: IronPDF User1
age: 25
children:
- name: IronPDF User2
age: 23
- name: IronPDF User3
age: 24
"""
# Load YAML data to only basic python objects
data = yaml.safe_load(yaml_data)
print(data)
# Dump Python data to YAML
yaml_output = yaml.dump(data, default_flow_style=False)
print(yaml_output)
# Write YAML to File
with open('output_file.yaml', 'w') as file:
yaml.dump(yaml_output, file)
# Write YAML as JSON
with open('output_file.json', 'w') as json_file:
json.dump(yaml_output, json_file)
# Read Json and Indent
output = json.dumps(json.load(open('output_file.json')), indent=2)
print(output)
# create Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with PYYML</h1>"
content += "<p>YAML data: "+ yaml_data +"</p>"
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file or Stream
pdf.SaveAs("awesome.pdf")
Explication du code
Importations :
- Le script commence par importer les bibliothèques et modules Python nécessaires : yaml, json et ironpdf. Ces bibliothèques sont utilisées pour gérer les formats de données YAML et JSON, ainsi que pour la génération de PDF à l'aide d'IronPDF.
Définir la clé de licence :
- Il y a une étape pour définir une clé de licence (License.LicenseKey = "votre licence") pour IronPDF. Ceci est crucial pour utiliser la bibliothèque IronPDF de manière légale et efficace.
Exemple de données YAML :
- Définit une chaîne formatée en YAML (yaml_data) qui contient des informations sur une personne hypothétique et ses enfants. Ces données servent d'exemple pour démontrer le traitement YAML.
Opérations YAML :
- Le script charge les données YAML en utilisant yaml.safe_load() pour les convertir en structures de données Python. Cela permet au script de manipuler et de travailler avec les données de manière programmatique.
Vidage en YAML :
- Convertit les structures de données Python en format YAML à l'aide de yaml.dump(). Ceci démontre comment sérialiser des objets Python au format YAML pour le stockage ou la transmission.
Écriture dans les fichiers :
- Écrit les données YAML dans un fichier (output_file.yaml) en utilisant yaml.dump(). De même, il convertit les données YAML au format JSON et les écrit dans un autre fichier (output_file.json) en utilisant json.dump().
Lecture du JSON et mise en forme :
- Cette opération lit les données JSON de output_file.json, les analyse et les formate avec une indentation de 2 espaces en utilisant json.dumps(). Cette opération illustre comment lire et formater des données JSON pour une meilleure lisibilité ou un traitement ultérieur.
Génération de PDF avec IronPDF :
- Utilise IronPDF (ChromePdfRenderer()) pour rendre une chaîne de contenu HTML en un document PDF. Le contenu HTML inclut les données YAML d'origine dans le contenu du document.
Sauvegarde du PDF :
- Cette étape finale enregistre le document PDF généré (awesome.pdf) sur le système de fichiers en utilisant pdf.SaveAs(). Il montre comment créer et enregistrer des documents PDF par programme.
Sortie

PDF (EN ANGLAIS)

Licence d'IronPDF
IronPDF fonctionne avec la clé de licence pour Python. IronPDF for Python offre une clé de licence d'essai gratuite pour permettre aux utilisateurs de découvrir ses fonctionnalités étendues avant de l'acheter.
Placez la clé de licence au début du script avant d'utiliser le progiciel IronPDF :
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
Conclusion
PyYAML est une bibliothèque puissante et flexible pour travailler avec YAML en Python. Son format lisible par l'homme, la prise en charge complète de YAML 1.1 et l'intégration avec Python en font un excellent choix pour les fichiers de configuration, la sérialisation des données, etc. Qu'il s'agisse de simples configurations ou de structures de données complexes, PyYAML fournit les outils dont vous avez besoin pour manipuler efficacement les données YAML.
IronPDF est un paquetage Python qui facilite la conversion de contenu HTML en documents PDF. Il propose une API simple (ChromePdfRenderer) pour les développeurs afin de générer des PDF de haute qualité à partir de HTML, incluant la prise en charge des normes web modernes telles que CSS et JavaScript. Cela en fait un outil efficace pour créer et enregistrer dynamiquement des documents PDF directement à partir d'applications Python.