Solucionando el UnicodeDecodeError al generar un informe con Reportlab

Hacker

Creando mi informe me estaba dando este error de codifiación y me estaba volviendo loco:

Resulta que dicho error se debe a que ya que el programa completo Python está coficado con UTF-8 pues no se puede volver a hacer un encode de UTF-8, sino que hay que cambiarlo:

Mi solución ha sido:
unicode("texto", 'iso-8859-1')

Aquí el código que sí funciona:


from reportlab.lib.pagesizes import A4
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Image
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import inch

doc = SimpleDocTemplate("exportacions\lista_simple.pdf",pagesize=A4,
rightMargin=72,leftMargin=72,
topMargin=72,bottomMargin=18)
#Creamos la lista "Story" y iniciamos la variable "styles"
Story=[]
styles=getSampleStyleSheet()

ptext = unicode("Alcalde: " + textalcalde.get() + "", 'iso-8859-1')
Story.append(Paragraph(ptext.strip(), styles["Normal"]))
Story.append(Spacer(1, 12))

#Finalment creem el document PDF
doc.build(Story)

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES