Uso de la libreria Python.FPDF.Lib
Buenos días estoy intentando modificar un método Python que hace la impresión de un archivo PDF (usa la libreria
No encuentro mucha información al respecto y la que encuentro no me funciona como deseo, debo decir que es la primera vez que tengo que lidiar con Python y ando un poco perdido.
Alguien sabe como puedo hacer lo contrario de unbreakable() ?
Esta instrucción hace que si un bloque no cabe en la parte disponible de la página actual, haga un salto de página y lo imprima en la página siguiente.
Mi intención es cambiar este comportamiento en el caso de que sea la primera página, pero no consigo obtener la instrucción contraria.
Muchas gracias.
Gracias.
Buenas @Lluís Vilalta , quizás este no sea el foro más adecuado al ser una pregunta puramente de Python, pero a ver si te podemos ayudar.
Veo por la documentación de dicha librería que puedes activar o desactivar la función de salto de página si el texto supera el espacio libre:
https://pyfpdf.readthedocs.io/en/latest/reference/set_auto_page_break/
Quizás puedas definir ese parámetro a falso cuando estás escribiendo la primera página y una vez acabado volver a definirlo a verdadero.
Incluso se me ocurre que crees la primera página fuera antes de entrar en la parte donde defines que sea "unbreakable", algo tal que así:
pdf = FPDF() pdf.add_page() pdf.set_font("Arial", size=12) pdf.cell(200, 10, txt="Portada", ln=1, align="C") pdf.add_page() pdf.set_font("Times", size=16) line_height = pdf.font_size * 2 col_width = pdf.epw / 4 # distribute content evenly with pLib.pdf.unbreakable() as doc:
No puedo, mi método ya recibe la instancia al objecto Python creado anteriormente en otros métodos.
Gracias por la información.
Hola Luis Ángel, pido disculpas, pero al ser Python embebido en ObjectScript pensé que habría gente que se habría peleado con el tema y creí que sería un buen lugar de consulta.
Ya probé anteriormente el set_auto_page_break del que me adjuntas la documentación y no me funciona, me da error de compilación.
Seguiré probando gracias.
Lo último que se me ocurre es que crees 2 PDF por separado, uno con la primera página y otro el que tiene configurado el unbreakable que te llega y hagas un merge de ambos
Echa un vistazo a esta página para añadir páginas a PDFs:
https://py-pdf.github.io/fpdf2/CombineWithPypdf.html