2008-12-13 41 views
0

我正在使用Python以用戶不友好的格式讀取數據,並將其轉換爲易於閱讀的格式。我輸出的記錄通常只是姓氏,名字和房間代碼。我以列狀格式打印數據的最佳方法?

我會像輸出一系列頁面,每個包含總記錄的連續子集,分爲多列,每一個都包含在頁面上的總記錄的連續子集。 (換句話說,你會讀第一列,移動到下一列,移動到下一列等等,然後從下一頁開始......)

問題我是現在面臨的情況是,對於輸出格式,我幾乎可以肯定地僅限於HTML(以及Javascript,CSS等)。將數據轉換爲列格式的最佳方式是什麼?例如,如果我確定紙張的可打印區域可以垂直放置20條記錄並且水平放置5條記錄,則可以輕鬆打印5x20的表格,但我不知道是否有方法指示分頁 - 我不知道是否有任何方法可以通過編程來計算頁面上有多少記錄。

你會如何處理這個問題?

編輯:我之所以這麼說,我是在輸出限制:我要生產一臺計算機上的文件,然後把它帶到後,我們不能安裝新的軟件在不同的計算機,並在其現有的選擇軟件不是最優的。文件本身只是用來做一個物理打印輸出(這是最終用戶實際使用的),但我在計算機上打印的時間會受到限制,所以我需要文件都準備好去打印並且沒有很多調整。

現在我已經設法找到一個可以在目標機器上使用的文字處理器,所以我要看看能否以文字處理器使用的格式爲目標。我曾經知道有一個文字處理器可以使用,我用我想要的設置(列和標籤設置,等寬點等寬字體等)製作了一個簡單的骨架文件,然後,然後測量每列的每行字符數以及每列獲得的行數。我仔細觀察了這些運行情況,以確保沒有一些奇怪的線條以某種方式溢出字符 - 每行指南(當然,這不應該發生在等寬字體上,但是最終會出現多少次必須弄清楚爲什麼那個東西是「不應該」發生的是反正怎麼回事?)

如果不曾有過的目標機器,我可以用一個字處理器,我可能會看PDF作爲輸出格式。

回答

3

「如果我知道某些紙張的可打印區域將舉行20條垂直和五個水平」

你確實知道。

你知道你的紙張的大小。你知道你的字體的大小。你可以輕鬆地做數學。

「幾乎可以肯定僅限於HTML ...」沒有多大意義。這是一個Web應用程序嗎?該頁面可以有「上一頁」和「下一頁」按鈕來瀏覽頁面?選擇一個看起來很好的尺寸,並用「上一頁」和「下一頁」按鈕顯示完整頁面。

如果它應該是一個正確打印的HTML頁面,那很難。有CSS可以做的事情,但你會更快樂創建一個PDF文件。

獲取PyXReportLab並創建PDF打印正確。

我 - 個人 - 對此沒有任何耐心。我嘗試把這種東西放到一個CSV文件中。然後,我的用戶可以使用工具電子表格打開CSV(Open Office Org具有良好的功能),然後調整列並使用它打印。

+0

+1 PDF似乎要去的路 – 2008-12-15 01:48:51

相關問題