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区块链表示   如何识别此Java框架中使用的加密技术?   java从outter jar加载一个包含所有组件的类   java如何在netty中序列化和反序列化HttpMessage或HttpContent?   java Hibernate在一定量的插入后生成负id   文件在FTP服务器上复制,而不是在java中移动   java如何在Android应用程序中使用静态对话框片段方法?   java扫描器while循环   java如何比较drools中数组列表的泛型元素?   java构建Restful服务失败CDI部署失败   java我的播放机将子弹射出90度   在Android设备中使用WiFi direct进行java数据传输   java在命令设计模式中将上下文传递给execute方法   java KeyClope TomcatAdapter:是否有“KeyClope”的替代路径。json'?   java如何将数据库中的名称放入我在另一个类中创建的JLIst中?   java Spring Mvc和MediaType for在获取rest请求的@RequestMapping中使用   java如何在应用程序运行时从包中打开文本文件?   java以Spring形式为单个对象定义POJO id   java清除gridview中的所有选定项