你要先生成一个模板,然后用 python 对模板进行修改。
如果是 pdf 模板:
可以使用 pyPdf 和 reportlab 包。参考
http://stackoverflow.com/questions/1180115/add-text-to-existing-pdf-using-python
如果是 word (.docx 文件)模板(建议使用 word 模板):
docx 文件可以用 zipfile 模块解压缩,然后进行修改替换,接着将 word 转 pdf。参考
http://stackoverflow.com/questions/16867594/find-and-replace-text-in-docx-file-python
http://stackoverflow.com/questions/6011115/doc-to-pdf-using-python
㈡ python 打印报表 有什么好的报表软件吗
你好,你可以用python 去调用fastreport.dll。下面是一个例子。
import clr
import threading
def fastRepot_run():
report = Report()
report.Load("test.frx")
report.Show();
clr.FindAssembly("FastReport.dll")
from FastReport import *
threading.Thread(target=fastRepot_run).start()
㈢ python使用reportlab合并表格后怎么在表格内居中
#找到这个table_model设置表格属性,
def table_model(data):
# 合并表格 ('SPAN',(第一个方格的左上角坐标),(第二个方格的左上角坐标)),合并后的值为靠上一行的值,按游岁照长方形合并
('SPAN',(0,0),(0,1)),
('SPAN',(1,0),(2,0)),
('SPAN',(3,0),(4,0)),
('SPAN',(5,0),(7,0)),
#设置下面两项
('ALIGN', (0, 0), (-1, -1), '肆渗CENTER'裂磨脊), # 左右居中对齐
('VALIGN', (-1, 0), (-2, 0), 'MIDDLE'), # 垂直居中对齐
㈣ Python 安装 reportlab
pip这个命令时在线安装相应的包,脊念不是下载之后使用这个命令,命令改成pip install reportlab就会自动安装合适的最新版本。如果樱孝困是本地安装使用python ...xml的形式慎谨。
㈤ Python reportlab库之Canvas
在上一篇 《Python reportlab库之hello world》 中我们演示了简单Demo,在Demo中使用Canvas对象。
本篇文章将简单介绍一下Canvas对象,首先我先来看看Canvas的构造函数
filename 参数控制最终PDF文件的名称
pagesize 参数有width和巧行height两个参数,canvas默认的大小是A4纸(美国标志信件采用的就是A4),具体demo如下
运行效果
bottomup 参数用于切换坐标系。一些系统把(0,0)坐标设置在底部左侧。 bottomup 未来可能会被移除。
pageCompression 选择是否压缩每个页面。默认的页面是不被压缩的,因为压缩会影响文件处理速度。如果 pageCompression =1,那么文件将被压缩到最小,但生成时间也会被延长。注意,图片总是会被压缩。如果您有闹芦大量的文章和矢量图像会造成文件过大,使用 pageCompression 参数将有效减少文件体积。
encoding 参数在2.0版本上已经省略了,大家基本上可以忽略这个参数。
verbosity 参数参数确定打印多少日志信息。默认情况下, verbosity 为0。如果值液宽带为1,您将得到生成文档是的日志信息。数值越高可能会在未来产生更多的日志输出。
encrypt 参数决定文档是否加密。默认情况下,文档是不加密的。