【发布时间】:2012-02-13 15:54:27
【问题描述】:
我有一个 Python3 GUI,用户可以在其中选择某些值进行统计评估和/或绘制(历史)。
根据用户的请求,我想在此 GUI 之外创建一个报告,最好采用 DOC 或/和 ODT 或/和 PDF 格式。报告的布局几乎是固定的,将改变的是:所选度量的名称和相应的值(始终显示三个度量 - 用户选择哪个),matplotlib 直方图(将根据所选设置而变化) 、用户名、日期等
在一些较旧的线程中,我找到了对 pod 包的引用,它看起来非常接近我的需求。但是我没有找到任何关于生成的文档的好的说明。最重要的是,我不确定那里是否允许使用图像 - 我会想象在文档角落的某处为图像保留一个位置,并在用户请求报告时更新它。
EDIT1:pod 不支持 Python3,在 2to3 转换和几个小修复之后也是如此。有一个使用 LaTeX 的建议,但我不确定我是否理解如何在不进行非常低级别的编码的情况下实现这个想法。
非常感谢任何建议,因为项目的其余部分已接近完成,这是最后一个未解决的大问题。
EDIT2:休息一段时间后,我回到这个问题。由于我的 GUI 在 PyQt4 中,我最终决定使用 QTextDocument 并将文档打印为 PDF。在这种方法中,我有一些不清楚的时刻,比如我是否应该使用 QTextCursor 并以编程方式创建文档或首先以某种方式创建 HTML。另外,我必须弄清楚如何在不显示编辑器窗口的情况下创建文档。欢迎任何带有示例的参考。到目前为止,我在 PyQt4\examples\richtext 中只找到了几个示例,但它们并没有回答我所有的问题。
【问题讨论】:
-
LaTeX 依赖是否可以接受?
-
我会避免额外的依赖,但如果这种方法有某些优点 - 是的,乳胶是可以接受的。更重要的是,理想情况下,我希望看到用户可以编辑模板,此时我不想要任何 Latex 依赖项。用户不应该是技术先进的。
-
哦,用户应该编辑模板?那是一个完全不同的故事。您认为您的用户能够处理某种定制的 XML 格式吗?
-
好吧,最终用户可能不会。但是我有一个中级用户想稍微配置一下,而不是问自己每一个小改动。但这确实是可选的。这就是为什么我说“idelly”:)
-
大多数最著名的 Python PDF 生成库似乎还没有移植到 Python 3.x,所以除非有人知道更好的解决方案,否则您现在可能不得不使用 LaTeX。
标签: python python-3.x reporting pyqt4