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
Du musst angemeldet sein, um einen Kommentar abzugeben.
ReportLab ist die übliche Empfehlung-- wie Sie sehen können aus die "Verwandte" Fragen, die auf der rechten Seite dieser Seite.
Haben Sie versucht, die Erstellung von text nur mit
StyleSheet['Normal']
? I. e., wenn Sie die ordnungsgemäße aussehende Ausgabe mit den folgenden, das problem ist irgendwie mit Ihrem Stil.Da Normale sollte zu arbeiten, würde ich vorschlagen, dass Sie herausfinden, warum es nicht geht. Copy-paste ein Beispiel aus der Dokumentation, und wenn es immer noch nicht funktioniert, es gibt etwas falsch mit Ihrer installation von ReportLab. Dann fügen Sie
report.txt
auf die Mischung und wenn das bricht, überprüfen Sie Ihre Datei-Codierung-- vielleicht haben Sie UTF16 anstelle von ascii? Viel Glück.InformationsquelleAutor alexis
Hatte ich ähnliches Problem. Ich löste mit diesem code:
Pdf sieht genauso aus wie original-text-Datei
InformationsquelleAutor R.Camilo