on_convert_report
- on_convert_report(report)
使用范围: server
编程语言: python
父类: Reports 类
描述说明
框架在内部使用 LibreOffice 来转换报表。 如果像使用其它转换服务或修改报表转换的某些参数,请使用 on_convert_report 事件。
report 参数是触发该事件的报表。
示例
import os
from subprocess import Popen, STDOUT, PIPE
def on_convert_report(report):
try:
if os.name == "nt":
import _winreg
regpath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\soffice.exe"
root = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, regpath)
s_office = _winreg.QueryValue(root, "")
else:
s_office = "soffice"
convertion = Popen([s_office, '--headless', '--convert-to', report.ext,
report.report_filename, '--outdir', os.path.join(report.task.work_dir, 'static', 'reports') ],
stderr=STDOUT,stdout=PIPE)
out, err = convertion.communicate()
converted = True
except Exception as e:
print(e)