跨操作系统的Python打印

2 投票
3 回答
2750 浏览
提问于 2025-04-16 15:13

我正在开发一个应用程序,需要用Python打印几页内容。现在我在寻找一种方法来创建这些页面并进行打印。这个方法应该能在Linux和Windows上都能使用。这些页面里包含表格、图片和文字。

我用PyGtk开发了图形用户界面,但我觉得创建一个图片或PDF文件然后打印会更方便。我现在不知道该怎么做。有没有人知道一个好的方法呢?

注意:问题不在于生成文件,而是在于如何打印这个文件。

3 个回答

1

你有没有想过生成HTML代码呢?

2

ReportLab 可能正是你需要的工具。

你也可以试试 XHTML2PDF。这个工具非常简单好用。你只需要先创建一个XHTML模板,然后用Jinja2(或者类似的工具)来填充这个模板,最后就可以转换成PDF文件了。

4

GTK+ 有自己的一套打印系统,如果你想找适合Python的打印工具,可以看看 Reportlab

在Linux上,使用CUPS打印非常简单,只需要用 lp 命令就可以了。不过在Windows上,系统本身不支持PDF打印,但你可以通过Adobe Reader的ActiveX控件来打印生成的文件(这里有个用.NET实现的例子)。另外,ShellExecute 也可以用来让Adobe Reader打印,不过我不太确定这个过程是否完全自动化(也就是说,是否会弹出你不想要的对话框)。

撰写回答