让融合服务器处理格式转换。
项目描述
Py3o报告引擎 - 融合服务器支持
编写此模块是为了让py3o融合服务器处理格式转换,而不是使用本地的libreoffice。如果在report_py3o模块之上安装此模块,将需要部署额外的软件组件,并运行3个守护进程(libreoffice, py3o.fusion和py3o.renderserver)。这种额外的复杂性带来了几个优点:
更好的性能(Libreoffice永久在后台运行,无需在每次文档转换时启动新的Libreoffice实例)。
能够在Odoo中配置PDF导出选项。这带来了许多新可能性,例如生成
PDF表单
PDF/A文档(某些电子发票标准需要,例如Factur-X)
带水印的PDF文档
密码保护的PDF文档
安装
安装几个额外的组件和Python库
也可以使用Libreoffice的Python驱动(PyUNO),但建议使用Java驱动,因为它更稳定。
下面的安装程序使用Java驱动。它已在Ubuntu 16.04 LTS上成功测试;如果您使用其他操作系统,您可能需要更改一些细节。
在Debian/Ubuntu上安装Libreoffice、JRE和所需的Java库
sudo apt-get install default-jre ure libgoogle-gson-java libreoffice-java-common libreoffice-writer
您可能需要安装额外的字体。例如,为了在Py3o生成的PDF报告中包含电话/传真/电子邮件的特殊Unicode符号,您应该安装以下软件包
sudo apt-get install fonts-symbola
安装py3o.fusion
pip install py3o.fusion
pip install service-identity
安装py3o.renderserver
pip install py3o.renderserver
最后,在依赖项之后,您应该有以下 py3o Python 库:
% pip freeze | grep py3o
py3o.formats==0.3
py3o.fusion==0.8.8
py3o.renderclient==0.2
py3o.renderers.juno==0.8
py3o.renderserver==0.5.1
py3o.template==0.9.12
py3o.types==0.1.1
启动 Py3o Fusion 服务器
start-py3o-fusion --debug -s localhost
启动 Py3o 渲染服务器
start-py3o-renderserver --java=/usr/lib/jvm/default-java/jre/lib/amd64/server/libjvm.so --ure=/usr/share --office=/usr/lib/libreoffice --driver=juno --sofficeport=8997
在 Py3o 渲染服务器的输出中,第一行看起来像:
DEBUG:root:Starting JVM: /usr/lib/jvm/default-java/jre/lib/amd64/server/libjvm.so with options: -Djava.class.path=/usr/local/lib/python2.7/dist-packages/py3o/renderers/juno/py3oconverter.jar:/usr/share/java/juh.jar:/usr/share/java/jurt.jar:/usr/share/java/ridl.jar:/usr/share/java/unoloader.jar:/usr/share/java/java_uno.jar:/usr/lib/libreoffice/program/classes/unoil.jar -Xmx150M
在 -Djava.class.path 之后,有一个带有 .jar 扩展名的 Java 库列表;检查每个 JAR 文件是否确实存在于您的文件系统中。如果其中一个 jar 文件存在于另一个目录中,创建一个指向文件真实位置的符号链接。如果所有 jar 文件都存在于另一个目录中,请调整 Py3o 渲染服务器命令行中的 –ure= 参数。
要检查 Py3o Fusion 服务器是否正常运行,请访问 URL http://<IP_address>:8765/form。在这个网页上,在 目标格式 部分确保您有一行 此服务器当前支持以下格式:ods, odt, docx, doc, html, docbook, pdf, xls。。
如果您想使用此模块生成有效的 PDF/A 文档,激活 PDF 导出选项中的相应选项可能还不够,您还必须确保所有用于文档模板的字体都已安装在 Odoo 服务器上,以便它们可以嵌入到 PDF/A 文档中。例如,如果您的文档模板使用 Arial 字体,您应该在 Odoo 服务器上安装该字体。
sudo apt-get install msttcorefonts
已知问题/路线图
添加对 PDF 签名的支持(可能,但不容易,因为签名证书是一个非常特殊的 PDF 导出选项)
错误追踪器
错误在 GitHub Issues 上进行跟踪。如果遇到问题,请检查是否已经报告了您的问题。如果您是第一个发现它的人,请通过提供详细且受欢迎的反馈来帮助我们解决问题。
致谢
贡献者
Florent Aide (XCG Consulting)
Laurent Mignon <laurent.mignon@acsone.eu>
Alexis de Lattre <alexis.delattre@akretion.com>
Guewen Baconnier <guewen.baconnier@camptocamp.com>
Omar Castiñeira <omar@comunitea.com>
Holger Brunn <hbrunn@therp.nl>
不要直接联系贡献者寻求有关此插件的问题或问题的帮助,请使用 社区邮件列表 或适当的专用邮件列表寻求帮助,以及上面的 错误追踪器 中的链接进行技术问题。
维护者
此模块由 OCA 维护。
OCA,或 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛使用。
要为此模块做出贡献,请访问 https://odoo-community.org。
项目详情
哈希值 for odoo10_addon_report_py3o_fusion_server-10.0.1.0.0.99.dev14-py2-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3072ab59e905e0a8f7a471b9746287be2546f303964183e8231a26f0d4d9cd53 |
|
MD5 | b414528c95a99dff3c8c7c0bcb892654 |
|
BLAKE2b-256 | 910b0d3a26e4e15bd0ea0de0f7f0adbc0bff4d060e5101f9fbf870abb7b85278 |