Tabla de Contenidos

Los scripts de Python se comparten comúnmente en flujos de trabajo de desarrollo, procesos de documentación, cursos de formación y entornos académicos. Convertir archivos de Python (.py) a PDF asegura un formato consistente, mejora la legibilidad durante la distribución y proporciona una versión no editable de tu código adecuada para archivar, imprimir o publicar.
Esta guía explica todos los métodos prácticos para convertir código de Python a PDF, incluyendo herramientas en línea, flujos de trabajo de impresión a PDF desde IDE, conversiones automatizadas con Python con o sin resaltado de sintaxis, y soluciones de procesamiento por lotes. Cada método incluye pasos detallados, notas técnicas y guías de instalación cuando es necesario.
Resumen:
- Conversores de Python a PDF en Línea
- Flujos de Trabajo de Impresión a PDF desde IDE
- Conversión Automatizada de Python a PDF con Python
- Comparación de Métodos
- Preguntas Frecuentes
1. Conversores de Python a PDF en Línea
Las herramientas en línea ofrecen la forma más rápida de convertir un archivo .py a PDF sin necesidad de configurar software. Son convenientes para usuarios que simplemente necesitan una versión legible en PDF de su código.
Cómo Funcionan los Conversores en Línea
Después de subir un archivo .py, el servicio procesa el contenido y genera un PDF que conserva la sangría del código y el formato básico. Algunas plataformas ofrecen configuraciones opcionales como el tamaño de fuente, los márgenes de página y la numeración de líneas.
Ejemplo: Convertir Código de Python a PDF con CodeConvert AI
Pasos
-
Navega a CodeConvert AI (una plataforma de conversión de código basada en navegador).
-
Sube tu archivo .py o pega el código en el editor.
-
Elige Generar PDF para generar el documento PDF.

-
Imprime el documento como un archivo PDF en el menú emergente.

Ventajas
- No se requiere instalación ni configuración.
- Funciona en todos los sistemas operativos y dispositivos.
- Adecuado para conversiones rápidas y necesidades ligeras.
Limitaciones
- Evita subir scripts confidenciales o propietarios.
- Las opciones de formato dependen del servicio.
- La calidad del resaltado de sintaxis varía entre plataformas.
2. Convertir Python a PDF mediante “Imprimir a PDF” del IDE
La mayoría de los editores de desarrollo, incluidos VS Code, PyCharm, Sublime Text y Notepad++, admiten la exportación de archivos a PDF a través del subsistema de impresión del sistema operativo.
Cómo Funciona
Al imprimir, el IDE renderiza el código utilizando su motor interno de resaltado de sintaxis y pasa la salida con estilo al sistema operativo, que luego genera un PDF.
Pasos (Ejemplo con PyCharm)
-
Abre tu archivo de Python.
-
Ve a Archivo → Imprimir.

-
Opcionalmente, ajusta la configuración de la página (márgenes, orientación, escala).

-
Elige Microsoft Print to PDF como impresora y guarda el documento PDF.

Ventajas
- Formato limpio y legible.
- El resaltado de sintaxis generalmente se conserva.
- No se requieren bibliotecas adicionales.
Limitaciones
- Control mínimo sobre el ajuste de línea o el diseño.
- No está diseñado para flujos de trabajo por lotes.
- La calidad de la salida varía según el tema del IDE.
3. Conversión de PY a PDF Basada en Scripts de Python (Automatizada y Personalizable)
Las herramientas basadas en Python proporcionan formas flexibles de convertir archivos .py a PDF, admitiendo procesos automatizados, formato consistente y resaltado de sintaxis opcional.
Antes de usar los siguientes métodos, instala los componentes requeridos.
Paquetes Requeridos
Free Spire.Doc for Python – gestiona la exportación a PDF
pip install spire.doc.free
Pygments – genera HTML con resaltado de sintaxis
pip install pygments
3.1 Método A: Texto Directo a PDF (Sin Resaltado de Sintaxis)
Este método lee el archivo .py como texto plano y lo escribe en un PDF. Es adecuado para exportaciones simples, instantáneas de documentación y archivado interno, que pueden no requerir resaltado de sintaxis.
Código de Ejemplo
from spire.doc import Document, FileFormat, BreakType, Color, LineSpacingRule, LineNumberingRestartMode, TextRange
# Lee el código de Python como una cadena
with open("Python.py", "r", encoding="utf-8") as f:
python_code = f.read()
# Crea un nuevo documento
doc = Document()
# Agrega el código de Python al documento
section = doc.AddSection()
paragraph = section.AddParagraph()
for line_number, line in enumerate(python_code.split("\n")):
tr = paragraph.AppendText(line)
# Establece el formato de los caracteres
tr.CharacterFormat.FontName = "Consolas"
tr.CharacterFormat.FontSize = 10.0
if line_number < len(python_code.split("\n")) - 1:
paragraph.AppendBreak(BreakType.LineBreak)
# Configuraciones opcionales
# Establece el color de fondo y el interlineado
paragraph.Format.BackColor = Color.get_LightGray()
paragraph.Format.LineSpacingRule = LineSpacingRule.Multiple
paragraph.Format.LineSpacing = 12.0 # 12pt significa interlineado sencillo
# Establece la numeración de líneas
section.PageSetup.LineNumberingStartValue = 1
section.PageSetup.LineNumberingStep = 1
section.PageSetup.LineNumberingRestartMode = LineNumberingRestartMode.RestartPage
section.PageSetup.LineNumberingDistanceFromText = 10.0
# Guarda el documento en un archivo PDF
doc.SaveToFile("output/Python-PDF.docx", FileFormat.Docx)
doc.SaveToFile("output/Python-PDF.pdf", FileFormat.PDF)
Cómo Funciona
Este método inserta el código de Python línea por línea usando AppendText(), agrega saltos de línea con AppendBreak() y exporta el documento final a través de SaveToFile().
A continuación se muestra el efecto de salida después de aplicar este método:

Para obtener más detalles sobre cómo personalizar e insertar texto en un documento PDF, consulta nuestra guía sobre Anexar Texto a Documentos PDF con Python.
3.2 Método B: PDF con Resaltado de Sintaxis (HTML → PDF)
Al producir tutoriales o documentación legible, el resaltado de sintaxis ayuda a distinguir palabras clave y mejora la claridad general. Este método utiliza Pygments para generar HTML con estilos en línea, y luego inserta el HTML en un documento.
Código de Ejemplo
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') # Los números de línea son opcionales
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()
# Insertar HTML formateado
paragraph.AppendHTML(html_result)
doc.SaveToFile("output/Python-PDF-Highlighted.pdf", FileFormat.PDF)
Cómo Funciona
Pygments primero formatea el código como HTML basado en CSS en línea. El HTML se agrega a través de AppendHTML() y el documento completado se exporta usando SaveToFile().
A continuación se muestra el resultado visual generado por este método de HTML con estilo:

3.3 Conversión por Lotes (Flujos de Trabajo de Carpeta a PDF)
Para convertir múltiples archivos .py a la vez, solo necesitas un bucle corto para procesar todos los archivos en un directorio y guardarlos como PDFs.
Código de Ejemplo (Procesamiento por Lotes Mínimo)
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"))
# Llama a tu función de conversión elegida aquí
convert_py_to_pdf(py_path, pdf_path)
Notas
- Reutiliza la función de conversión definida anteriormente.
- Guarda automáticamente cada archivo .py como un PDF con el mismo nombre de archivo.
- Funciona tanto para métodos de texto plano como con resaltado de sintaxis.
También puedes consultar nuestra guía "Convertir Directamente HTML a PDF en Python" para obtener más información.
4. Tabla Comparativa: Eligiendo el Método de Conversión Correcto
| Método | Ventajas | Desventajas | Mejor Caso de Uso |
|---|---|---|---|
| Conversores en Línea | Rápido, sin instalación | Preocupaciones de privacidad, formato limitado | Archivos pequeños y no sensibles |
| Imprimir a PDF desde IDE | Fácil, conserva la sintaxis (a menudo) | Sin automatización | Conversión de un solo archivo |
| Script de Python (Directo/HTML) | Automatización, procesamiento por lotes, personalización | Requiere conocimientos de scripting | Documentación, tutoriales, procesos automatizados |
5. Mejores Prácticas para Generar Código PDF Claro y Legible
Sigue estas prácticas para asegurar que tus PDFs de código Python sean fáciles de leer, estén bien formateados y tengan un aspecto profesional.
Usa una Fuente Monoespaciada
Las fuentes monoespaciadas conservan la sangría y la alineación, lo que facilita la lectura y depuración del código.
Gestiona Líneas Largas y Ajuste de Texto
Habilita el ajuste de línea o ajusta los márgenes de la página para evitar el desplazamiento horizontal y las líneas de código cortadas.
Mantén un Formato Consistente
Mantén consistentes los tamaños de fuente, colores, espaciado y diseño de página en múltiples PDFs, especialmente en el procesamiento por lotes.
Conserva Bloques de Código Lógicos
Evita dividir funciones, bucles o declaraciones de varias líneas entre páginas para mantener la legibilidad y la estructura.
Organiza la Nomenclatura de Archivos y la Estructura de Carpetas
Usa nombres de archivo sistemáticos y una organización de carpetas para exportaciones por lotes, documentación automatizada o archivos de proyecto.
6. Conclusión
Convertir archivos de Python (.py) a PDF proporciona una forma fiable de preservar el formato del código, mejorar la legibilidad y crear documentos compartibles o de archivo. Ya sea para documentación, tutoriales, fines educativos o uso personal, estos métodos permiten a los desarrolladores, equipos y usuarios individuales generar archivos PDF consistentes y de aspecto profesional a partir de su código fuente de Python.
7. Preguntas Frecuentes Sobre la Conversión de Archivos de Python a PDF
A continuación se presentan algunas preguntas comunes que desarrolladores, educadores y estudiantes hacen sobre la conversión de archivos de Python a PDF. Estas respuestas se basan en los métodos cubiertos en esta guía.
¿Cómo convierto un archivo de código de Python (.py) en un PDF?
Puedes convertir un archivo .py de Python en un PDF usando conversores en línea como CodeConvert AI, funciones de impresión a PDF del IDE, o scripts basados en Python con Spire.Doc para procesamiento automatizado y por lotes. Elige el método según tu flujo de trabajo, necesidades de formato y si se requiere resaltado de sintaxis.
¿Cómo puedo convertir un cuaderno de Jupyter de Python a PDF?
Para los cuadernos de Jupyter (.ipynb), puedes usar la opción integrada Archivo → Descargar como → PDF si LaTeX está instalado, o primero exportar el cuaderno a un script .py y luego aplicar los métodos de Python a PDF descritos en esta guía.
¿Cómo me aseguro de que el resaltado de sintaxis se conserve en el PDF?
Para conservar los colores y el formato de la sintaxis, convierte el código a HTML con estilos CSS en línea usando Pygments, y luego anéxalo a un documento PDF usando AppendHTML(). Esto preserva las palabras clave, los comentarios y la sangría para una salida más clara y de aspecto profesional.
¿Cómo convierto un archivo de texto a PDF usando Python en Windows?
En Windows, puedes usar bibliotecas gratuitas de Python como Spire.Doc para leer el archivo .txt o .py, escribirlo en un PDF y opcionalmente darle estilo. La impresión a PDF desde el IDE es otra opción para la conversión de un solo archivo sin necesidad de codificar. Los scripts por lotes pueden automatizar múltiples archivos manteniendo un formato consistente.