无线打印机自动打印输出

无线打印机自动打印输出

我有一台始终开启的无线打印机和一台始终开启的无风扇 Linux 服务器。

在查看 Kickstarter 上的 mprinter 项目时,我开始想知道是否有办法根据某些设置准备自动每日打印输出。

需要打印的内容包括

  • 我所在位置的天气预报
  • 当天安排的待办事项
  • “每日一句”或“每日一词”
  • 来自 Google Analytics 的我的网站统计数据
  • 还有很多 …

我会设置每个工作日 6:15 打印一份,这样当我起床喝咖啡的时候,它就会出现在打印机上。

虽然我知道可以通过结合 TeX、cron 和脚本语言的功能来管理 PDF 的动态部分,但我相信这是一个有人可能已经解决的用例。

我该如何进行设置?

答案1

这绝不是最干净的做事方式。 这是一个关于您可以快速组合起来实现您想要做的事情的一般想法。

设置打印机

首先,您需要让您的打印机正常工作。CUPS 确实支持无线打印机,因此只要有一点运气和正确的驱动程序,您就能够设置它。有关更多信息,请参阅服务器的发行版 wiki/帮助页面。

获取数据

然后,您需要以纯文本形式获取数据。Google 将帮助您找到可完成大部分所需任务的脚本:

对于其他特殊需求,您必须自行编写:

  • 待办事项取决于你已经使用什么机制来跟踪
  • 谷歌分析。遗憾的是无法通过命令行浏览器访问,而且我对 Google Analytics API 一无所知。我只能想到一些非常丑陋和不可靠的方法,所以你必须进行一些搜索。

整合你的脚本

我们现在有一堆可以运行的脚本,但我们需要将所有数据放在一起。对于大多数 hackjobs,我都会使用Python。它不仅易于掌握和使用,您甚至可以将其他脚本“嵌入”到 Python 文件中并获取其输入:

从 os 导入 popen

脚本='''ps aux; echo; free -h'''

输出=popen(脚本).read()

这不是最好的主意,但这样你就不会重写已经可用的复杂功能。

格式化

HTML 易于学习和美化。Google 再次拯救了我们:Python 和 HTML. 将我们拥有的数据与 HTML 连接起来,添加几行CSS定义您的页面的外观(字体、颜色、布局等)并让 python 将所有这些写入文件中。

打印文档

  1. 将脚本保存到服务器上并进行测试。跳至Can I print html files from the command-line?进行一些测试打印。

  2. 添加计划任务该作业将在每天早上所需的时间运行您的脚本。

  3. 添加咖啡。

纸张是一种宝贵的资源;我会让我的网络服务器提供这个文件,并在我的平板电脑、手机或笔记本电脑上阅读它。

相关内容