2011-04-06 97 views
2

我正在開發一個應用程序,它必須能夠使用Python打印幾頁。現在我正在尋找一種方法來創建這些頁面並將其打印出來。它應該在Linux和Windows上工作。這些頁面包含表格,圖像和文本。使用Python進行操作系統獨立打印

我使用PyGtk開發了GUI,但我認爲創建圖像或PDF並打印它很方便。我不知道如何做到這一點。任何人都知道這個好方法?

注意:問題不是這一代。這是該文件的打印。

+0

您是指操作系統特定的打印界面?操作系統特定的打印API如何神奇地獨立於操作系統? – 2011-04-06 20:37:51

+0

我認爲這些操作系統特定的打印API封裝可能是一個好主意。 – svenwltr 2011-04-06 20:41:58

+0

打印相當複雜。考慮到各種打印設備,(和協議)和OS API,我看不出這是如何實現的。 – 2011-04-06 20:43:58

回答

3

GTK + has its own printing system,但如果你正在尋找Python特定的東西,請查看Reportlab

使用CUPS在Linux上打印非常容易(只需使用lp)。在Windows上,雖然可以使用Adobe Reader ActiveX控件打印生成的文件,但沒有本機PDF支持(here's是.NET中的一個示例)。顯然ShellExecute also works here告訴Adobe Reader打印,雖然我不確定它是如何自動的(即是否有一個你不想要的對話框)。

+0

是的,我也找到了GTK打印系統,但是我沒有找到任何好的例子或描述如何使用它。 – svenwltr 2011-04-06 20:37:18

+2

如果你已經有了在屏幕上用開羅繪製的代碼,那麼你可以畫到打印上下文。如果不是,請調查Reportlab。似乎有一堆從PyGtk打印的應用程序可用作示例代碼; Google代碼搜索可以提供一些幫助(http://google.com/codesearch?hl=zh-CN&lr=&q=gtk.PrintOperation%5C%28%5C%29)。 – 2011-04-06 20:40:27

+0

噢好。我會看看這個。 – svenwltr 2011-04-06 20:42:52

1

您是否考慮過生成HTML?

+1

爲什麼不是PDF?我認爲使用PDF時獲得預期佈局的機會比使用HTML時更高,因爲您不知道使用哪種瀏覽器來顯示和打印它.- – ThiefMaster 2011-04-06 20:26:30

+0

@ThiefMaster這一切取決於您希望輸出的嚴格程度不管你想花費多少時間來生成它。製作HTML是一種跨平臺相當一致的快速方法。 – DShook 2011-04-06 20:28:01

+1

問題不在於這一代。這是該文件的打印。 – svenwltr 2011-04-06 20:28:06

2

ReportLab可能是你在找什麼。您可能還想嘗試XHTML2PDF。它非常易於使用。創建您的XHTML模板。使用Jinja2(或類似的)來填寫模板。轉換爲PDF。

+0

問題是打印該文件。對不起,如果我不是很清楚。 – svenwltr 2011-04-06 20:35:18

相關問題