from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import Paragraph
from reportlab.lib.enums import TA_JUSTIFY
from reportlab.lib.styles import ParagraphStyle

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas


# Obtener un estilo de párrafo de muestra
styles = getSampleStyleSheet()
# Definir un nuevo estilo de párrafo con alineación justificada
justified_style = ParagraphStyle(name='Justified', parent=styles['Normal'], alignment=TA_JUSTIFY)
# Crear un párrafo con el estilo justificado
texto = Paragraph("Este es un ejemplo de párrafo justificado utilizando ReportLab en Python. \
	              Ahora incrementamos el texto para que pase de dos líneas y se muestre con mayor claridad el justificado por ambos márgenes.", \
	              style=justified_style)
texto2 = Paragraph("Gustavo Rivero CAstañeda", style=justified_style)
# Crear un lienzo para el PDF
c = canvas.Canvas("texto_justificado.pdf", pagesize=letter)
# Dibujar el párrafo en el lienzo
texto.wrapOn(c, 200, 400)
texto.drawOn(c, 100, 600)
# Guardar el PDF
c.save()
