Tryton WebKit报告

openlabs_report_webkit的Python项目详细描述


基于WebKit的PDF报表引擎图片::https://travis-ci.org/openlabs/trytond-report-webkit.png?branch=development
:target:https://travis ci.org/openlabs/trytond report webkit



此软件包允许您构建基于HTML的报表,然后使用使用使用Webkit呈现引擎的"wkhtmltopdf"和
qt将它们转换为PDF。(webkit是apples safari的引擎)。或者
`weasyprint<;http://http://weasyprint.org/>;`

模板使用"jinja 2<;http://jinja.pocoo.org/>;`
模板引擎编写。`模板继承
<;http://jinja.pocoo.org/docs/templates/template inheritance>;``也支持
,以便更容易地扩展现有电子邮件,并为所有电子邮件提供一个
主题。

包还支持genshi template
`继承<;http://jinja.pocoo.org/docs/templates/template inheritance>;` `.




在项目中使用此项


而不是使用trytond中的默认报表类。report使用此包中的
reportwebkit类。


代码块::python

**kwargs:
"
添加我的自定义筛选器
""
filters=super(userreport,cls)。获取"jinja"筛选器(*args,**kwargs)
筛选器。更新({
"nl2br":lambda值:value。替换('\n','<;br>;\n')
})
返回过滤器



输出格式
----


要获取pdf输出(而不是标准html),请确保xml中的报表定义清楚地将扩展显示为pdf。这也可以从tryton administration部分更改为


若要转换为PDF,此模块需要安装"wkhtmltopf"或"weasyprint"。

存储库通常会安装一个较旧的
版本,该版本不支持每个页面结尾处的页码等功能。所以请记住安装由
维护人员发布的最新版本。有关详细信息,请参阅
`wkhtmltopf项目网站<;http://wkhtmltopf.org/>;`` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `weasyprint可以从pypi安装。

``pip install weasyprint``



若要使用weasyprint,报表实现类必须显式地
重写转换api以使用weasyprint。示例:

…代码块::python

todo:这里有一个例子




template filters
----

<;http://jinja.pocoo.org/docs/dev/templates/内置过滤器列表>;` ` ` `使
操作变得更简单:


date format(date,format="medium')
````````````````````````````````````````````````````````````
使用上下文中的当前语言格式化日期。有关其他
可能的格式,请参阅
`babel documentation<;http://babel.pocoo.org/docs/dates/date and time>;` `.


示例

代码块:html+jinja

<;td>;date<;/td>;
<;td>;{sale.date date format}<;/td>;


datetimeformat(datetime,format)
````````````````````````````````````````````````````````
有关其他可能的格式,请参阅
`babel documentation<;http://babel.pocoo.org/docs/dates/date and time>;```.

example

…代码块::html+jinja

<;td>;创建于{sale.create_date_datetimeformat('long')}</td>;


``````````````````````````````````````````````````````````````````````````````
返回格式化的货币值。有关更多格式信息,请参阅
`babel documentation<;http://babel.pocoo.org/docs/api/numbers/?highlight=format_currency babel.numbers.format_currency>;`


示例

…代码块::html+jinja

<;td>;总值<;td>;
<;td>;{sale.total_amount_currencyformat(sale.currency.code)}<;td>;


modulePath(name)
`````````````````````````````````````````````
获取模块内文件的绝对路径

代码块::html+jinja

<;img src={'company/logo.png'modulepath}"/>;






当然,您可以按上述方式添加自己的代码块。



图像或任何其他静态数据您有两个选项:

1。通过将静态目录添加到
tryton json路径
2,尝试为文件提供服务。将静态文件打包到报表模块中,并使用

进行引用。代码块:html+jinja依赖项
——


您可以将报表工具包作为tryton
模块的依赖包添加到setup.py脚本的install_requires列表中。
请记住仔细指定版本号,或者安装可用软件包的最新版本。


例如,如果您的模块是Tryton的2.6版,则要添加的行是

。代码块::python

install_requires=[
…,
'openlabs_report_webkit>;=2.6,<;2.7'
…,
]


代码块::python

'openlabs_report_webkit[weasyprint]>;=2.6,<;2.7'

gotchas!
==


报告文件丢失
=--


*是否将模板文件添加到setup.py中的包数据中?
*是否将模板文件扩展名添加到
清单中包含的文件中?

作者和撰稿人
——


此模块是在"openlabs<;http://www.openlabs.co.in>;"上构建的。


我们衷心感谢以下各方的贡献:

*`Simon Klemenc<;https://github.com/hiaselhans>;`\u
*`udo Spallek<;https://github.com/udono>;`\u


专业支持
----

本模块由"OpenLabs<"专业支持;http://www.openlabs.co.in>;` `.
如果您正在寻找现场教学或咨询支持,请联系我们的
"销售"和"支持"团队。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在jprogressbar上添加文本?   java生成30到32位之间的随机数   我想从我自己的服务器而不是java worldwind中的nasa服务器获取数据   jsp中带有外部java文件的html计数器   java如何找到运行Servlet的主机和端口   我怎么能看到数学。java中的cos方法计算平方根?   java这个docker run命令做什么?   java如何在将表单提交到servlet后将原始JSP保存在URL中?   如何在Java中访问Arraylist中的字典数据?   java JPA如果我有一个实体被用作复合键,那么级联是否也构成复合键的一部分?   连接Java:文件读取/添加到文件程序时未按预期工作(逻辑错误)   java从Android向PLC发送布尔值   java Get build。gradle文件作为一个。类文件   Youtube API V3 Java无需调用浏览器即可上传视频   java如何在Unittest中测试StackOverflower错误   实现方法中的java异常处理   java这个::instanceMethod在java8中用作方法参数有什么用途   java偶尔会获得javax。邮政使用javamail阅读gmail电子邮件时的FolderClosedException