让融合服务器处理格式转换。
项目描述
此模块是为了让py3o融合服务器处理格式转换,而不是本地libreoffice。如果您在report_py3o模块之上安装此模块,您将需要部署额外的软件组件并运行3个守护进程(libreoffice,py3o.fusion和py3o.renderserver)。这种额外的复杂性带来了几个优点
更好的性能:Libreoffice永久在后台运行,无需在每次文档转换时启动新的Libreoffice实例。
在Odoo中配置PDF导出选项的能力。这带来了许多新的可能性,例如生成
PDF表格单
PDF/A文档(一些电子发票标准所需,如Factur-X)
带水印的PDF文档
带密码保护的PDF文档
目录
安装
安装几个额外的组件和Python库
一个Java运行时环境(JRE),可以是OpenJDK,
Libreoffice在后台以无头模式启动,
Libreoffice的Java驱动程序(Juno)。
也可以使用Libreoffice的Python驱动程序(PyUNO),但建议使用Java驱动程序,因为它更稳定。
以下安装步骤使用Java驱动程序。已在Ubuntu 18.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
pip3 install py3o.fusion
pip3 install service-identity
安装py3o.renderserver
pip3 install py3o.renderserver
最后,与依赖项一起,您应该有以下py3o Python库
% pip3 freeze | grep py3o
py3o.formats==0.3
py3o.fusion==0.8.9
py3o.renderclient==0.3
py3o.renderers.juno==0.8.1
py3o.renderserver==0.5.2
py3o.template==0.10.0
py3o.types==0.1.1
启动Py3o Fusion服务器
start-py3o-fusion --debug -s localhost -i localhost
启动Py3o渲染服务器
start-py3o-renderserver --java=/usr/lib/jvm/default-java/lib/server/libjvm.so --ure=/usr/share --office=/usr/lib/libreoffice --driver=juno --sofficeport=8997 -i localhost
在Py3o渲染服务器的输出中,第一行看起来像
DEBUG:root:Starting JVM: /usr/lib/jvm/default-java/lib/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导出选项
转到菜单设置 > 技术 > 报告 > Py3o > Py3o PDF导出选项并创建一个PDF导出选项配置文件。
在Py3o服务器(菜单设置 > 技术 > 报告 > Py3o > Py3o服务器)或具有PDF输出格式的特定Py3o报告(菜单设置 > 技术 > 操作 > 报告)上设置PDF导出选项配置文件。
已知问题/路线图
添加对PDF签名的支持(可能,但不易,因为签名证书是一个非常特殊的PDF导出选项)
错误跟踪器
问题在GitHub Issues上跟踪。如果遇到麻烦,请检查是否已经报告了您的问题。如果您是第一个发现它的,请通过提供详细且受欢迎的反馈来帮助我们打破它。
请不要直接联系贡献者以获取支持或技术问题的帮助。
致谢
贡献者
Florent Aide (XCG咨询)
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功能的协作开发并推广其广泛应用。
此模块是GitHub上的OCA/reporting-engine项目的一部分。
欢迎您做出贡献。要了解如何操作,请访问https://odoo-community.org/page/Contribute。
项目详情
哈希值 for odoo14_addon_report_py3o_fusion_server-14.0.1.0.1-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9a2dd30860e371f9224de39ffe467c6a727393a9c084451e28ac595d0aa9cb72 |
|
MD5 | ceadf6774494381d6756d568945bdbd2 |
|
BLAKE2b-256 | c5889c72160ff73f69f184ec1abe64f3aecf79e33bfadceeb5f18424f5395cbb |