私のプロジェクトでは、別のプログラムからプレーン テキスト ファイル (report.txt) を取得します。すべてプレーンテキストでフォーマットされています。メモ帳で開くと、きれいに見えます (プレーン テキスト ファイルと同じくらい)。Word でファイルを開いて段落を表示すると、スペースの ... と段落の後ろ向きの P が表示されます。
このファイルを PDF に変換し、他の PDF ページを追加して 1 つの最終的な PDF を作成する必要があります。これはすべて Python で行われます。
report.txt を pdf に変換できません。私は ReportLab を持っており、ファイルを読み取っていくつかの変更 (テキストを Courier に変更するなど) を行うことができますが、スペースが失われます。ファイルが読み取られると、余分なスペースが削除されたように見えます。
質問: a) report.txt を pdf に変換する簡単な方法はありますか? b) そうでない場合、ファイルを読むときにスペースを保持する方法はありますか? c) または、元の外観を維持する段落スタイルに欠けているパラメーターはありますか?
これが私のコードです:
# ------------------------------------
# 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)