我的问题是,当使用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"))