Para mi proyecto, obtengo un archivo de texto plano (report.txt) de otro programa. Está todo formateado en texto plano. Si lo abre en el Bloc de notas, se ve bien (tanto como un archivo de texto sin formato). Cuando abro el archivo en Word y muestro los párrafos, veo el ... para los espacios y el retroceso P para el paragrafo.Convierta texto sin formato a PDF en Python
Necesito convertir este archivo a PDF y agregar algunas otras páginas de PDF para hacer un PDF final. Todo esto sucede en Python.
Tengo problemas para convertir el informe.txt en pdf. Tengo ReportLab, y puedo leer el archivo y hacer algunos cambios (como cambiar el texto a Courier), pero el espaciado se pierde. Cuando se lee el archivo, parece quitar espacios adicionales.
Preguntas: a) ¿Existe alguna manera más fácil de convertir el informe.txt a pdf? b) Si no, ¿hay alguna manera de mantener mis espacios cuando leo el archivo? c) ¿O hay un parámetro que me falta en el estilo de mi párrafo que mantendrá el aspecto original?
Aquí está mi código:
# ------------------------------------
# Styles
# ------------------------------------
styleSheet = getSampleStyleSheet()
mystyle = ParagraphStyle(name='normal',fontName='Courier',
fontSize=10,
alignment=TA_JUSTIFY,
leading=1.2*12,
parent=styleSheet['Normal'])
#=====================================================================================
model_report = 'report.txt'
# Create document for writing to pdf
doc = SimpleDocTemplate(str(pdfPath), \
rightMargin=40, leftMargin=40, \
topMargin=40, bottomMargin=25, \
pageSize=A4)
doc.pagesize = portrait(A4)
# Container for 'Flowable' objects
elements = []
# Open the model report
infile = file(model_report).read()
report_paragraphs = infile.split("\n")
for para in report_paragraphs:
para1 = '<font face="Courier" >%s</font>' % para
elements.append(Paragraph(para1, style=mystyle))
doc.build(elements)
normal no funciona, por lo tanto, por qué yo estaba tratando de crear mi propia. – user1327390
Como Normal * debería * funcionar, le sugiero que descubra por qué no funciona. Copie y pegue un ejemplo de la documentación, y si aún no funciona, hay algún problema con la instalación de ReportLab. Luego agrega 'report.txt' a la mezcla y si eso la rompe, verifica la codificación de tu archivo. ¿Podrías tener UTF16 en lugar de Ascii? Buena suerte. – alexis