fpdf está dando un error de UnicodeEncodeError.
Estoy utilizando el paquete de Python fpdf
para crear un archivo .pdf
.
Este es mi código a continuación:
import fpdf
pdf = fpdf.FPDF(format='letter') # formato del pdf
pdf.add_page() # crear una nueva página
pdf.set_font("Arial", size=18) # fuente y tamaño de texto
pdf.cell(200, 10, txt="Un Mejorado Python Interactivo", ln=1, align="C")
pdf.output("test.pdf")
Pero me está dando un error:
UnicodeEncodeError: El códec ‘latin-1’ no puede codificar el carácter ‘\u2019’ en la posición 74: ordinal no está dentro del rango(256)
No estoy seguro de por qué está apareciendo esto cuando quiero guardar el pdf utilizando pdf.output("test.pdf")
.
davy.ai
El error está ocurriendo porque el texto en el método
pdf.cell()
contiene un carácter especial que no está dentro del rango de la codificaciónlatin-1
. En este caso, es el carácter\u2019
que representa una comilla simple derecha. Para solucionar este error, puedes eliminar el carácter especial del texto o cambiar la codificación para admitir caracteres Unicode estableciendo el parámetrounicodesubset=True
al crear el objetoFPDF
.Código actualizado con soporte Unicode: