Table des matières

Les scripts Python sont couramment partagés dans les flux de travail de développement, les pipelines de documentation, les cours de formation et les environnements académiques. La conversion des fichiers Python (.py) en PDF garantit un formatage cohérent, améliore la lisibilité lors de la distribution et fournit une version non modifiable de votre code adaptée à l'archivage, à l'impression ou à la publication.
Ce guide explique toutes les méthodes pratiques pour convertir du code Python en PDF, y compris les outils en ligne, les flux de travail d'impression en PDF depuis un IDE, les conversions automatisées avec Python avec ou sans coloration syntaxique, et les solutions de traitement par lots. Chaque méthode comprend des étapes détaillées, des notes techniques et des instructions d'installation si nécessaire.
Aperçu :
- Convertisseurs Python vers PDF en ligne
- Flux de travail d'impression en PDF depuis l'IDE
- Conversion automatisée de Python en PDF avec Python
- Comparaison des méthodes
- Questions fréquemment posées
1. Convertisseurs Python vers PDF en ligne
Les outils en ligne offrent le moyen le plus rapide de convertir un fichier .py en PDF sans configurer de logiciel. Ils sont pratiques pour les utilisateurs qui ont simplement besoin d'une version PDF lisible de leur code.
Comment fonctionnent les convertisseurs en ligne
Après avoir téléchargé un fichier .py, le service traite le contenu et génère un PDF qui préserve l'indentation du code et le formatage de base. Certaines plateformes offrent des paramètres optionnels tels que la taille de la police, les marges de la page et la numérotation des lignes.
Exemple : Convertir du code Python en PDF avec CodeConvert AI
Étapes
-
Accédez à CodeConvert AI (une plateforme de conversion de code basée sur un navigateur).
-
Téléchargez votre fichier .py ou collez le code dans l'éditeur.
-
Choisissez Générer PDF pour générer le document PDF.

-
Imprimez le document en tant que fichier PDF dans le menu contextuel.

Avantages
- Aucune installation ou configuration requise.
- Fonctionne sur tous les systèmes d'exploitation et appareils.
- Convient pour les conversions rapides et les besoins légers.
Limites
- Évitez de télécharger des scripts confidentiels ou propriétaires.
- Les options de formatage dépendent du service.
- La qualité de la coloration syntaxique varie selon les plateformes.
2. Convertir Python en PDF via l'option "Imprimer en PDF" de l'IDE
La plupart des éditeurs de développement, y compris VS Code, PyCharm, Sublime Text et Notepad++, prennent en charge l'exportation de fichiers au format PDF via le sous-système d'impression du système d'exploitation.
Comment ça marche
Lors de l'impression, l'IDE rend le code à l'aide de son moteur de coloration syntaxique interne et transmet la sortie stylisée au système d'exploitation, qui génère alors un PDF.
Étapes (Exemple avec PyCharm)
-
Ouvrez votre fichier Python.
-
Allez dans Fichier → Imprimer.

-
Ajustez éventuellement la mise en page (marges, orientation, échelle).

-
Choisissez Microsoft Print to PDF comme imprimante et enregistrez le document PDF.

Avantages
- Formatage propre et lisible.
- Coloration syntaxique généralement préservée.
- Aucune bibliothèque supplémentaire requise.
Limites
- Contrôle minimal sur le retour à la ligne ou la mise en page.
- Non conçu pour les flux de travail par lots.
- La qualité de la sortie varie en fonction du thème de l'IDE.
3. Conversion de PY en PDF basée sur un script Python (automatisée et personnalisable)
Les outils basés sur Python offrent des moyens flexibles de convertir les fichiers .py en PDF, prenant en charge les pipelines automatisés, un formatage cohérent et une coloration syntaxique optionnelle.
Avant d'utiliser les méthodes suivantes, installez les composants requis.
Paquets requis
Free Spire.Doc for Python – gère l'exportation PDF
pip install spire.doc.free
Pygments – génère du HTML avec coloration syntaxique
pip install pygments
3.1 Méthode A : Texte direct vers PDF (sans coloration syntaxique)
Cette méthode lit le fichier .py en tant que texte brut et l'écrit dans un PDF. Elle convient aux exportations simples, aux instantanés de documentation et à l'archivage interne, qui peuvent ne pas nécessiter de coloration syntaxique.
Exemple de code
from spire.doc import Document, FileFormat, BreakType, Color, LineSpacingRule, LineNumberingRestartMode, TextRange
# Lire le code Python en tant que chaîne de caractères
with open("Python.py", "r", encoding="utf-8") as f:
python_code = f.read()
# Créer un nouveau document
doc = Document()
# Ajouter le code Python au document
section = doc.AddSection()
paragraph = section.AddParagraph()
for line_number, line in enumerate(python_code.split("\n")):
tr = paragraph.AppendText(line)
# Définir le format des caractères
tr.CharacterFormat.FontName = "Consolas"
tr.CharacterFormat.FontSize = 10.0
if line_number < len(python_code.split("\n")) - 1:
paragraph.AppendBreak(BreakType.LineBreak)
# Paramètres optionnels
# Définir la couleur d'arrière-plan et l'interligne
paragraph.Format.BackColor = Color.get_LightGray()
paragraph.Format.LineSpacingRule = LineSpacingRule.Multiple
paragraph.Format.LineSpacing = 12.0 # 12pt signifie interligne simple
# Définir la numérotation des lignes
section.PageSetup.LineNumberingStartValue = 1
section.PageSetup.LineNumberingStep = 1
section.PageSetup.LineNumberingRestartMode = LineNumberingRestartMode.RestartPage
section.PageSetup.LineNumberingDistanceFromText = 10.0
# Enregistrer le document dans un fichier PDF
doc.SaveToFile("output/Python-PDF.docx", FileFormat.Docx)
doc.SaveToFile("output/Python-PDF.pdf", FileFormat.PDF)
Comment ça marche
Cette méthode insère le code Python ligne par ligne à l'aide de AppendText(), ajoute des sauts de ligne avec AppendBreak() et exporte le document final via SaveToFile().
Voici l'effet de sortie après application de cette méthode :

Pour plus de détails sur la personnalisation et l'insertion de texte dans un document PDF, consultez notre guide sur l'ajout de texte à des documents PDF avec Python.
3.2 Méthode B : PDF avec coloration syntaxique (HTML → PDF)
Lors de la production de tutoriels ou de documentation lisible, la coloration syntaxique aide à distinguer les mots-clés et améliore la clarté globale. Cette méthode utilise Pygments pour générer du HTML avec des styles en ligne, puis insère le HTML dans un document.
Exemple de code
from spire.doc import Document, FileFormat, ParagraphStyle, IParagraphStyle
from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter
def py_to_inline_html(py_file_path):
with open(py_file_path, "r", encoding="utf-8") as f:
code = f.read()
formatter = HtmlFormatter(noclasses=True, linenostart=1, linenos='inline') # Les numéros de ligne sont optionnels
inline_html = highlight(code, PythonLexer(), formatter)
return inline_html
html_result = py_to_inline_html("Python.py")
doc = Document()
section = doc.AddSection()
paragraph = section.AddParagraph()
# Insérer du HTML formaté
paragraph.AppendHTML(html_result)
doc.SaveToFile("output/Python-PDF-Highlighted.pdf", FileFormat.PDF)
Comment ça marche
Pygments formate d'abord le code en HTML basé sur du CSS en ligne. Le HTML est ajouté via AppendHTML(), et le document terminé est exporté à l'aide de SaveToFile().
Voici le résultat visuel généré par cette méthode HTML stylisée :

3.3 Conversion par lots (flux de travail de dossier à PDF)
Pour convertir plusieurs fichiers .py à la fois, il vous suffit d'une courte boucle pour traiter tous les fichiers d'un répertoire et les enregistrer en tant que PDF.
Exemple de code (traitement par lots minimal)
import os
input_folder = "scripts"
output_folder = "pdf-output"
os.makedirs(output_folder, exist_ok=True)
for file in os.listdir(input_folder):
if file.endswith(".py"):
py_path = os.path.join(input_folder, file)
pdf_path = os.path.join(output_folder, file.replace(".py", ".pdf"))
# Appelez votre fonction de conversion choisie ici
convert_py_to_pdf(py_path, pdf_path)
Remarques
- Réutilise la fonction de conversion définie précédemment.
- Enregistre automatiquement chaque fichier .py en tant que PDF avec le même nom de fichier.
- Fonctionne pour les méthodes de texte brut et de coloration syntaxique.
Vous pouvez également consulter notre guide "Convertir directement du HTML en PDF en Python" pour en savoir plus.
4. Tableau comparatif : Choisir la bonne méthode de conversion
| Méthode | Avantages | Inconvénients | Meilleur cas d'utilisation |
|---|---|---|---|
| Convertisseurs en ligne | Rapide, sans installation | Problèmes de confidentialité, formatage limité | Fichiers petits et non sensibles |
| Impression en PDF depuis l'IDE | Facile, préserve la syntaxe (souvent) | Pas d'automatisation | Conversion d'un seul fichier |
| Script Python (Direct/HTML) | Automatisation, traitement par lots, personnalisation | Nécessite des connaissances en script | Documentation, tutoriels, pipelines |
5. Meilleures pratiques pour générer un code PDF clair et lisible
Suivez ces pratiques pour vous assurer que vos PDF de code Python sont faciles à lire, bien formatés et d'aspect professionnel.
Utiliser une police à espacement fixe
Les polices à espacement fixe préservent l'indentation et l'alignement, ce qui rend le code plus facile à lire et à déboguer.
Gérer les lignes longues et le retour à la ligne
Activez le retour à la ligne ou ajustez les marges de la page pour éviter le défilement horizontal et les lignes de code coupées.
Maintenir un formatage cohérent
Gardez des tailles de police, des couleurs, un espacement et une mise en page cohérents sur plusieurs PDF, en particulier lors du traitement par lots.
Préserver les blocs de code logiques
Évitez de diviser les fonctions, les boucles ou les instructions sur plusieurs lignes sur plusieurs pages pour maintenir la lisibilité et la structure.
Organiser la dénomination des fichiers et la structure des dossiers
Utilisez des noms de fichiers et une organisation de dossiers systématiques pour les exportations par lots, la documentation automatisée ou les archives de projet.
6. Conclusion
La conversion de fichiers Python (.py) en PDF offre un moyen fiable de préserver le formatage du code, d'améliorer la lisibilité et de créer des documents partageables ou archivables. Que ce soit pour la documentation, les tutoriels, à des fins éducatives ou pour un usage personnel, ces méthodes permettent aux développeurs, aux équipes et aux utilisateurs individuels de générer des fichiers PDF cohérents et d'aspect professionnel à partir de leur code source Python.
7. Questions fréquemment posées sur la conversion de fichiers Python en PDF
Vous trouverez ci-dessous quelques questions courantes que les développeurs, les éducateurs et les étudiants se posent sur la conversion de fichiers Python en PDF. Ces réponses sont basées sur les méthodes décrites dans ce guide.
Comment transformer un fichier de code Python (.py) en PDF ?
Vous pouvez convertir un fichier Python .py en PDF à l'aide de convertisseurs en ligne comme CodeConvert AI, des fonctions d'impression en PDF de l'IDE, ou des scripts basés sur Python avec Spire.Doc pour un traitement automatisé et par lots. Choisissez la méthode en fonction de votre flux de travail, de vos besoins de formatage et de la nécessité ou non de la coloration syntaxique.
Comment puis-je convertir un notebook Jupyter Python en PDF ?
Pour les notebooks Jupyter (.ipynb), vous pouvez utiliser l'option intégrée Fichier → Télécharger sous → PDF si LaTeX est installé, ou exporter d'abord le notebook en script .py, puis appliquer les méthodes de conversion Python vers PDF décrites dans ce guide.
Comment m'assurer que la coloration syntaxique est préservée dans le PDF ?
Pour conserver les couleurs et le formatage de la syntaxe, convertissez le code en HTML avec des styles CSS en ligne à l'aide de Pygments, puis ajoutez-le à un document PDF à l'aide de AppendHTML(). Cela préserve les mots-clés, les commentaires et l'indentation pour une sortie plus claire et d'aspect professionnel.
Comment convertir un fichier texte en PDF en utilisant Python sous Windows ?
Sous Windows, vous pouvez utiliser des bibliothèques Python gratuites comme Spire.Doc pour lire le fichier .txt ou .py, l'écrire dans un PDF et éventuellement le styliser. L'impression en PDF depuis l'IDE est une autre option pour la conversion d'un seul fichier sans codage. Les scripts par lots peuvent automatiser plusieurs fichiers tout en maintenant un formatage cohérent.