我有一台始終開啟的無線印表機,以及一台始終開啟的無風扇 Linux 伺服器。
看著 Kickstarter 上的 mprinter 項目,我開始想知道是否有一種方法可以讓我根據某些設定準備自動每日列印輸出。
要列印的內容可能包括
- 我所在地點的天氣預報
- 當天安排的待辦事項
- “每日名言”或“每日一句話”
- 來自 Google Analytics 的我網站的統計數據
- 還有很多 …
我會將列印輸出設定為每個工作日的 6:15,這樣當我起床喝咖啡時,它就會在我的印表機上列印。
雖然我知道這可以透過結合 TeX、cron 和腳本語言的強大功能來管理 PDF 的動態部分來完成,但我相信這是一個可能有人已經解決過的用例。
我該如何設定呢?
答案1
這絕對不是最乾淨的做事方式。 這是您可以快速組合以實現您想要做的事情的整體想法。
設定您的印表機
首先也是最重要的,您想讓印表機正常運作。 CUPS 確實支援無線印表機,因此如果運氣好並且有正確的驅動程序,您將能夠對其進行設定。有關詳細信息,請參閱伺服器的分發 wiki/幫助頁面。
取得數據
然後您想要以明文形式獲取數據。 Google 將協助您找到能夠完成所需的大多數通用任務的腳本:
對於其他特定需求,您必須自己編寫:
- 待辦事項取決於您已經使用什麼機制來追蹤它
- Google分析。不幸的是,無法透過命令列瀏覽器訪問,而且我對 Google Analytics API 一無所知。我只能想到非常醜陋和不可靠的方法來做到這一點,所以你將不得不做一些搜索。
一起破解你的腳本
我們現在有一堆可以運行的腳本,但我們需要將所有資料放在一起。對於我的大多數黑客工作,我都會選擇Python
.它不僅易於掌握和使用,您甚至可以將其他腳本「嵌入」到 python 檔案中並獲取它們的輸入:
從作業系統導入popen
腳本='''ps aux;迴聲;自由-h'''
輸出=popen(腳本).read()
這不是最好的主意,但這樣你就不會有重寫您已經可用的複雜功能。
格式化
HTML 容易學習和美化。谷歌再次出手救援:Python 和 HTML。將我們擁有的數據與 HTML 結合起來,添加幾行CSS定義頁面的外觀(字體、顏色、佈局等)並讓 python 將所有這些寫入檔案中。
列印您的文件
將腳本保存在伺服器上並進行測試。跳到
Can I print html files from the command-line?
進行一些測試列印。添加一個計劃任務每天早上在所需的時間運行您的腳本的作業。
加入咖啡。
紙張是一種寶貴的資源;我會讓我的網頁伺服器提供該檔案並在我的平板電腦、手機或筆記型電腦上讀取它。