Pregunta
· 15 feb, 2024

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  Python.FPDF.Lib).

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() ?

with pLib.pdf.unbreakable() as doc

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.

Product version: IRIS 2022.1
Comentarios (6)2
Inicie sesión o regístrese para continuar

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: