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")
PyYAML est une bibliothèque Python qui fonctionne comme un analyseur et un émetteur YAML. YAML(YAML n'est pas un langage de balisage)est un format de sérialisation de données lisibles par l'homme qui s'intègre bien aux applications Python, offre une excellente prise en charge des erreurs, une API d'extension performante, et bien 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. Dans la suite de cet article, nous aborderons les points suivantsIronPDFun paquetage Python de génération de PDF deIron Software.
Principales caractéristiques de PyYAML
Format lisible par l'homme : 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 des données.
Support complet de YAML 1.1 : PyYAML supporte l'intégralité de la spécification YAML 1.1, y compris le support de l'Unicode et les types de données personnalisés.
Intégration avec Python : PyYAML fournit des balises spécifiques à Python qui permettent la représentation d'objets Python arbitraires, ce qui le rend polyvalent pour diverses applications.
Gestion des erreurs : PyYAML propose des messages d'erreur judicieux, qui peuvent être très utiles 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)
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)
PYTHON
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 au 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)
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)
PYTHON
Sortie
Gestion des gros fichiers : PyYAML peut gérer plusieurs documents YAML ou de gros fichiers YAML de manière efficace en utilisant un chargement et un vidage basés sur les 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)
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)
PYTHON
Sortie
Présentation d'IronPDF
IronPDF est une puissante bibliothèque Python conçue pour créer, modifier et signer des PDF à l'aide de HTML, CSS, 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.
Support multiplateforme
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")
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")
PYTHON
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.
Configuration de 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.
Sample YAML Data:
Définit un exemple de chaîne formatée 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.
YAML Operations:
Le script charge les données YAML en utilisant yaml.safe_load() pour le convertir en structures de données Python. Cela permet au script de manipuler et de travailler avec les données de manière programmatique.
Dumping to YAML:
Convertit les structures de données Python au format YAML en utilisant 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(fichier_de_sortie.yaml) en utilisant yaml.dump(). De même, il convertit les données YAML au format JSON et les écrit dans un autre fichier(fichier_de_sortie.json) en utilisant json.dump().
Lecture de JSON et formatage:
Cette opération lit les données JSON du fichier_de_sortie.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érer des PDF avec IronPDF:
Utilise IronPDF(ChromePdfRenderer()) pour transformer 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 dernière étape permet d'enregistrer 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 pour Python offre un service deessai gratuit afin de permettre aux utilisateurs de vérifier ses nombreuses fonctionnalités 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"
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
PYTHON
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 offre une API simple(ChromePdfRenderer) qui permet aux développeurs de générer des PDF de haute qualité à partir de HTML, y compris 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.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT msgpack python (Comment cela fonctionne pour les développeurs)
SUIVANT > sqlite utils Python (Comment ça marche 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