使用libreoffice设计报表的简单解决方案

py3o.template的Python项目详细描述


py3o.模板图片::https://drone ci.xcg.io/api/badges/faide/py3o.template/status.svg
:目标:https://drone ci.xcg.io/faide/py3o.template
:alt:build status

。图片::https://img.shields.io/badge/code%20style-black-000000.svg
:target:https://github.com/ambv/black
:alt:code-style:black


introduction
==

py3o.template是templa负责将数据集与相应的模板化OpenOffice文档合并的组件。


它独立于模板,不需要libreoffice/OpenOffice本身生成ODF文件。

受支持的Python版本:2.7,>;=3.5。

k最初的灵感来源于"relatorio",并在
实现、范围和雄心壮志方面有所不同。当py3o.template主要关注odt、ods和文本输出时,relatorio还有很多特性
如果您想生成pdf或任何其他支持的输出格式,那么
需要有一个带有libreoffice或openoffice的服务器,并安装'py3o.renderserver`在上面。我们还提供了一个docker镜像,如果您想在一个web服务中进行模板化的fusion&document转换,只需使用http/post就可以安装py3o.fusion`。它还以"docker image"的形式存在


完整的文档
======


我们为这个包提供文档。如果有任何不正确的解释,请!在我们的票务系统中创建一张票证,文档中还包含供参与者使用的"黑客"部分(如何运行测试,代码
样式…。

r/>
from py3o.template import template



t.set_image_path('staticimage.logo','images/new_logo.png')


class item(object):


ii tem1=item()
item1.val1='item1 value1'
item1.val2='item1 value2'
item1.val3='item1 value3'
item1.currency='eur'
item1.amount='12345.35'
item1.invoiceref=''1234'
items.append(item1)

x范围(1000)中的i:
item=item()
item.val1='项目%s值1'%i
项目.val2='项目%s值2'%i
项目.val3='项目%s值3'%i
项目.currency='欧元'
项目.amount='6666.77'
项目.invoiceref='参考%04d'%i
项目.追加(项目)

document=item()
document.total='999999999999999'


data=dict(items=items,document=document)
t.render(data)




===


<0.10.0 2019-03-15
----


-将嵌入图像保存到"pictures"di中。与lowriter>;=6.0一起工作的目录

-从现在开始依靠"babel"来格式化日期和数字。

->;``format_date``已经被弃用,取而代之的是新的
``format_datetime``。格式说明符也会更改;请参见
"模板"文档。示例(文档中的更多内容):

function="format廑datetime('2015-08-02 17:05:06',format='full',locale='fr廑fr')"
->;dimanche 2 ao廑t 2015 A 17:05:06 temps universel coordoné

->;`` format廑amount`&;`` format廑locale`已被弃用,取而代之的是
新的"格式货币"。示例(在"模板"文档中有更多内容):

测试套件现在已经发布了一个新的"genshi"。




0.9.13 2018-07-03
---------
-添加了一个新的格式语言环境函数来取代格式语言量
-如果没有宽度或高度,则保持图像的纵横比(感谢
tom gottfried)
-修正生成值公式,如果genshi表达式生成一个数字
值(浮点或整数),则生成的公式将是`=value("1.1")`
,如果用户机器配置为使用不同于`.`.`.的十进制
分隔符,则会出现问题。通过此修复,生成的公式将
为`=value(1.1)`(不带引号),该公式将按`.ods`格式用
正确处理。(感谢Zakaria Makrelouf)
-改进错误消息"我们只处理表或文本段落中的URL"
(感谢Alexis de Lattre)
-添加格式多行以支持新行(感谢John Asplin)




0.9.12 2018-04-11
----

当链接未在自己的行上定位
时的错误报告。
-当指令链接不包含
等号时的更好的错误报告。
-正确处理ODF 1.2中的图像(感谢ari caldeira)
-现在支持func中的text:span选项(感谢John Asplin)

0.9.11 2016年12月16日
----

-增加了对转义错误值的支持。在模板呈现期间,计算为false的值将被替换为空字符串。默认情况下,此
功能被禁用,并且可以使用模板对象上的新
参数启用。



<2016年10月3日0.9.10
----


-修复了打包问题(genshi要求在上一版本中无意中被删除)
-添加ed more tests
-增加了对类型格式的更多支持

0.9.9 2016年4月13日属性)在数据源中。
-模板解析器:在分析循环时,即使在正文中的任何地方都没有使用
分配的变量,也要提取迭代器。
-模板解析器:现在可以使用ODS模板。
-模板解析器:在分析未知的AST表达式时修复错误会话。
-模板解析器:管理元组、列表和设置文本。
-模板解析器:改进循环的解析,其中迭代器是一个
函数。
-模板解析器:实现枚举的特定迭代行为。
第二个解包变量链接到f函数参数,就好像
后者被用作循环的iterable对象一样。
-图像注入:修复当图像
不在数据字典中时被突袭的异常,即使它不应该
(模板初始化为ignore_undefined_variables=true)
-100%覆盖率,在旧的单元测试和修复上有许多新的单元测试和修复。

0.9.7.1 2016年2月19日
~~~~~~~~~~~~~~~~~~~~


-此版本修复了格式化函数格式中的一个错误,其中
Unicode日期字符串未正确管理。

0.9.7 2015年12月8日
~~~~~~~~~~~~~~~~~~~~~~

-此版本主要关注解析器。如果您不使用模板解析器,则可以跳过此版本,因为它不会更改任何其他内容。
-修复一个错误,其中if块的主体未由解析器计算
-重构测试以获得更清晰的读取
-修复一些丢失/未测试的函数
-从覆盖范围中删除notimplementederror

0.9.6 2015年11月20日
~~~~~~~~~~~~~~~

-固定格式函数
-固定if=""未正确解析的功能
-浏览关系字段时显示空字符串而不是"false"
-AST解析器中的代码格式化

0.9.5 2015年10月30日
~~~~~~~~~~~~~~~~

-0.9.5只是0.9.4的重放,该自述文件已正确修改…


-在
中添加了对模板中格式化函数的支持,以控制日期编号loca实现
-在自述文件中添加了对原始灵感的引用
-添加了ODS输出的示例源代码。
-修复了动态图像功能引入的大输出文件大小时的内存使用。
-引入了一个实验性文本模板
-修复ed支持特殊情况下的分页符删除
删除尾部文本(感谢agix)


0.9.3 2015年6月26日
~~~~~~~~~~~~~~~~~~

-引入动态图像支持(即:在输入
迭代器中传入图像数据)并使用它动态插入图像。e报告)

2015年6月26日0.9.2
~你现在应该这样设置,而不是用新的方式。注意"logo"前面添加的"static image."前缀
t.set_image_path('staticimage.logo','images/new_logo.png')

-警告:更新代码后,还必须更新模板
,以便在静态图像名称前面加上"staticimage."前缀。

-addED动态图像支持。现在,您可以在
for循环或模板中的任何位置添加图像指令,并在对象属性中传递图像数据。
-添加了对作为base64
数据传入的图像数据(动态图像数据)的支持。这对于像"odoo的report py3o"这样的客户机很有用,因为
它们将图像数据存储为base64编码字段。

_ odoo的报告py3o:https://bitbucket.org/xcg/report-py3o

<0.9.1 2015年6月3日
~~~~~~~~~~~~~~~~~~

-修复了从变量名而不是其描述中读取的解析器,
如果不使用助手工具来内省您的报告,则此版本对于您只需修复这一点。

2015年1月8日0.9
~~~~~~~~~~~~~~~~~~~

-增加了对软分页符的支持




2014年11月19日0.8
~~~~~~~~~~~~~~~~~~

-增加了更好的单元测试-更好地处理"ignore_undefined"现在还允许未定义的图像

2014年10月15日0.7
~~~~~~~~~~~~~~~

-添加了python3支持
-修复了模板包含
文本时输出有效性的问题:在for循环中列出
-添加了新的publ帮助报表服务器内省模板的ic方法
数据字典
-添加了真正的单元测试(96%的atm覆盖率,测试团队的方式!)






=======



=======



-`florent aide ` ` ` ` `艾曼纽尔·卡泽纳夫` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `艾曼纽埃尔·卡泽纳埃尔·卡泽纳夫` ` ` ` ` ` `文森特·霍特·哈塔凯亚一个叫"贫血症者"的人,一个叫"贫血症者"的人,一个叫"变形金刚"的人,一个叫"变形金刚"的人,一个叫"变形金刚"的人,一个叫"变形金刚"的人,一个叫"变形金刚"的人,一个叫"变形金刚"的人,一个叫"变形金刚"的人,一个叫"变形金刚"的人,一个叫"变形金刚"的人,一个叫"变形金刚",一个叫"变形金刚",一个叫"变形金刚",一个叫"变形金刚",一个叫"变形金刚",一个叫"变形金刚",一个叫"变形金刚的人,一个叫"变形金刚"。马克鲁夫d`

…_弗洛伦特助手:https://bitbucket.org/faide
…_埃曼纽尔卡泽纳夫:https://bitbucket.org/cazino
…_ jon1012:https://bitbucket.org/jon1012
…_尤金·莫罗佐夫:https://bitbucket.org/mojo
…_ Houzéfa Abbasbay:https://bitbucket.org/houzefa abba
_托尔斯滕州:https://bitbucket.org/ti
…_谢尔盖·费多塞夫:https://bitbucket.org/siru sigurd
…_ Vincent lhote Hatakeyama:https://bitbucket.org/Vincent_lhote
_ anael lorimier:https://bitbucket.org/alorimier
。_比约恩·里克斯:https://bitbucket.org/bjoernricks
…_ agix:https://bitbucket.org/agix
。_ Jérémie Gavrel:https://bitbucket.org/gavrel j
。_劳伦特·米根:https://bitbucket.org/lmi
…_ Alexis de Lattre:https://github.com/Alexis via
_ josdegraeve:https://bitbucket.org/josdegraeve
。_安托万阮:https://github.com/tonioo
…_阿里·卡尔德拉:https://bitbucket.org/ari_tauga
…_ john asplin:https://bitbucket.org/asplinsolutions
。_ Zakaria Makrelouf https://bitbucket.org/z\u Makrelouf/
…_ Tom Gottfried https://bitbucket.org/tfried/

…_ py3o.renderserver:https://bitbucket.org/faide/py3o.renderserver/
。_提供文档:http://py3otemplate.readthedocs.org
。_在我们的票务系统中:https://bitbucket.org/faide/py3o.template/issues?状态=新建状态=打开
…_ Docker Hub:https://registry.hub.docker.com/u/xcgd/py3oserver docker/
。_ py3o.fusion:https://bitbucket.org/faide/py3o.fusion
。_ docker图片:https://registry.hub.docker.com/u/xcgd/py3o.fusion
。_关系:http://relatorio.tryton.org/
…_巴贝尔:http://babel.pocoo.org



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

推荐PyPI第三方库


热门话题
java JBPM:无法部署进程存档:null   java将一个数组拆分为两个大小相等的数组   java Spring boot验证该字段是否为string类型   JAVA JPA保存到TSV而不是SQL   java PMD报告超过X个违规   java是否支持springdatagremlin中的自定义查询?   java在“for”循环后使用变量   JPQL中默认查询中的java错误列   如何在java中实现不同于线程的进程?   java如何检查字符串是否平衡?   xml使用xalan扩展在XSL中处理java集合   java我试图使用子类/超类重写另一个类的值   转换为JSON时出现java堆栈溢出问题   java考虑定义一个类型为“COM”的bean。实例演示。在您的配置中命令$DefaultIO   java在kubernetes中如何检索转发端口的值?   JavaEclipse,动态web项目,向类路径添加另一个eclipse项目   eclipse的java Spring上下文XML验证器?   Linux下利用MATLAB(Windows)生成Java包   Java:在存储到DDC之前验证属性   java校验字符串