Konvertieren von text zu PDF in Python

Für mein Projekt bekomme ich einen plain-text-Datei (report.txt) aus einem anderen Programm. Es ist alle in nur-text formatiert. Wenn Sie öffnen Sie es im Editor sieht es gut aus (so viel wie ein plain-text-Datei kann). Wenn ich öffnen Sie die Datei in Word und zeigen die Paragraphen, ich sehe die ... für Räume und rückwärts, P für pararaph.

Brauche ich zum konvertieren dieser Datei in PDF und fügen Sie einige andere PDF-Seiten, um eine fertige PDF-Datei. All dies geschieht in Python.

Ich habe Probleme beim konvertieren der report.txt ein pdf-Dokument. Ich habe ReportLab, und bin in der Lage, die Datei zu Lesen und ein paar änderungen (wie das ändern der text-to-Kurier), aber der Abstand verloren geht. Wenn die Datei wird gelesen, es erscheint der Streifen keine extra Leerzeichen.

Fragen:
a) gibt es ein einfacher Weg, um zu konvertieren report.txt zu pdf?
b) Wenn nicht, gibt es eine Möglichkeit, um meine Räume, wenn ich die Datei Lesen?
c) Oder ist da ein parameter fehlt mir von meinem Absatzformat, halten das ursprüngliche Aussehen?

Hier ist mein code:

# ------------------------------------
# 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)

InformationsquelleAutor user1327390 | 2012-04-11

Schreibe einen Kommentar