我的問題是,當使用reportlab生成一個簡單的文本文檔時,它會丟失所有的格式。我已經運行了幾次來嘗試和調試它,並且問題似乎是,當通過msgStr
到Paragraph
時,它會丟失與它一起發送的所有格式。ReportLab段落和文本格式
有誰知道如何生成一個簡單的PDF,同時保持當前的文本格式
代碼:
# PDF GENERATION LIBRARIES
# import the report lab PDF generation tools
from reportlab.lib.pagesizes import letter
from reportlab.lib.styles import ParagraphStyle
from reportlab.lib.units import inch
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, PageBreak
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
Parts = []
def sumFile(msgStr = None, COMPLETE = 0):
pdfmetrics.registerFont(TTFont('Inconsolata', 'Inconsolata-Regular.ttf'))
summaryName = SimpleDocTemplate(vehID+".pdf")
style = ParagraphStyle(
name='Normal',
fontName='Inconsolata',
fontSize=8,
)
msgStr.replace('\n','<br />')
if msgStr == "PageBreak":
parts.append(PageBreak())
else:
parts.append(msgStr)
if COMPLETE == 1:
genStr = "Generated using " + progName + " " + str(progVers)
parts.append(genStr)
print parts
summaryName.build(Paragraph(parts, style))
if __name__ == "__main__":
sumFile("%9s %s\n" % ("Bobby", "Sue"))
sumFile("{0:12}{1:7}{2:5}deg_C\tsmp {3}\n".format("20", "1000", "3.0", "535"))
sumFile("{0} {1}\n\n".format("09/06/2016", "11:51:39"))