如何打造一台打印机
把网络打印机模拟成一台“直接打印到电子墨水阅读器”的设备,这种做法既让人耳目一新,也激发了人们把阅读与手机、电脑解耦的创意,同时还能复用现有的打印工作流。评论者深入讨论了技术取舍,例如在低内存设备上使用光栅格式而非完整 PDF、IPP/AirPrint 标准,以及针对 1 位电子墨水屏的优化;同时也分享了相关的 CUPS 改造和 DjVu 等替代格式。讨论还延伸到对传统打印机的普遍不满,以及新的使用场景设想,从食谱显示、数字相框,到与 Kindle 和其他开放电子墨水硬件的更紧密集成。
总体反应
- 许多评论者觉得“把电子墨水设备当作打印机”的概念很有趣,而且“非常合理”。
- 一些人起初以为会是关于实体打印机(墨水/打印头等)的教程,但仍然喜欢这种“像打印机一样工作的纸”的反转设定。
- 少数人表示不太明白这个项目的意义,但也有人给出了明确的个人使用场景。
为什么要把电子墨水设备模拟成打印机?
- 核心吸引力:每个操作系统都已有打印对话框;把电子墨水设备当作打印机来选几乎没有门槛。
- 提到的使用场景:
- 打印食谱,避免在脏乱的厨房里拿手机。
- 作为便携阅读设备,减少使用手机。
- 作为数字相框,通过“打印”接收照片。
- 作为保存打印材料为 PDF 的电子阅读器。
- 也可能适合作为户外友好的第二显示器。
PDF 与光栅,以及设备能力
- 有人问为什么不直接发送 PDF,尤其是产品规格声称支持 PDF。
- 一种解释是:在资源受限的硬件上运行完整的 PDF 渲染栈(尤其是 esp32 级别、RAM/ROM 很有限)很复杂也很重。
- 也有人反驳说,这台设备被宣传为电子阅读器,存储空间相当大且原生支持 PDF,所以它的能力其实有些不清楚。
- 线程中的共识是:对于这个 hack,接收简单的光栅数据通常比实现完整 PDF 处理更容易,也更稳健。
打印协议与优化
- 讨论了现代打印机标准:AirPrint/IPP Everywhere、Apple Raster、PWG Raster、HP 的“raster PDF”(PCLm)。
- 建议包括:
- 在 IPP 中声明屏幕的精确介质尺寸,以便宿主端正确排版。
- 使用 1 位(二值)模式而不是 8 位灰度,以减少数据量和内存占用。
- 调整抖动算法很重要;软件栈很复杂,而且充满历史遗留问题。
替代格式与电子墨水行为
- 有人提议 DjVu 可能比 PDF 更适合;也有人指出,它主要适合灰度/彩色扫描件,而这些通常比电子墨水实际使用的灰阶更多。
- 详细解释了电子墨水有限、受温度影响的灰度能力以及残影问题,因此更倾向于 1 位或低位深的光栅化。
更广泛的生态:设备、DIY 与软件支持
- 有人比较了 Xteink 的型号(X3、X4、X4 Pro):背光、USB-C 和电池续航之间存在取舍。
- 还出现了 DIY 打印机的想法:笔式绘图仪、daisy wheel 项目、开源打印机,以及复用 3D 打印机机械结构。
- 还提到另一个电子阅读器的 CUPS 后端,作为类似做法。
- 有人担心某些现代应用中的打印支持正在消失(例如 macOS 上的热门编辑器),尽管文本编辑器与打印在历史上一直联系紧密。
- 另一个分支讨论则赞扬便宜、耐用的单色激光打印机胜过一次性的喷墨打印机。