我给 PrintFit 补了多页打印,也把 Docker 镜像做了

4 阅读2分钟

我给 PrintFit 补了多页打印,也把 Docker 镜像做了

最近把 PrintFit fork 了一下。

上游项目本身就挺有意思:把 Markdown 内容排成适合打印的页面,用 pretext 做文本测量,再去找一个更合适的字号。

我这边主要补了两件事:

  • 多页编辑 / 多页打印

  • Docker 一键启动

仓库在这里:


我为什么要改它

原因很简单。

上游更偏单页场景,做一页简历、单页速查卡这种内容很好用。

但我自己实际用的时候,很快就碰到问题了:很多内容根本不止一页。

比如:

  • 两页简历

  • 多页项目介绍

  • 分页讲义

  • 多页说明文档

所以我 fork 之后,先把多页支持补上了。


改了什么

1. 多页编辑 / 多页打印

现在每一页都有独立的 Markdown 编辑区,可以新增、删除页面,打印时会按页面输出成独立的 A4。

这个改完之后,它才更像一个能直接拿来用的工具,而不只是一个单页 demo。

Screenshot 2026-04-03 at 15-31-40 PrintFit.png

2. Docker 一键启动

很多项目不是不能用,是第一次跑起来有点麻烦。

所以我顺手把镜像也做了。

直接运行:

docker pull docker.io/masonsxu/printfit:latest

docker run --rm -p 8080:80 docker.io/masonsxu/printfit:latest

如果你用的是 Podman:

podman pull docker.io/masonsxu/printfit:latest

podman run --rm -p 8080:80 docker.io/masonsxu/printfit:latest

然后打开:

http://localhost:8080

就能直接看效果。

Screenshot 2026-04-03 at 16-15-20 PrintFit.pdf.png

Screenshot 2026-04-03 at 16-15-30 PrintFit.pdf.png


这个项目我觉得有意思在哪

我自己觉得它有意思,不只是因为它能把 Markdown 打印出来。

更关键的是,它在认真处理“内容怎么落到纸上”这件事。

这和普通网页不太一样。

打印场景下,页面大小、页边距、字号、行高,都会直接影响最终结果。只要这些东西控制不好,打印出来就容易乱。

而 PrintFit 这类做法,本质上就是在解决这个问题。

所以如果你本身对这些方向有兴趣,这个项目其实挺值得看:

  • 文本测量

  • 自动排版

  • 浏览器打印

  • 固定纸张约束下的布局控制


现在这个 fork 能做什么

目前已经支持:

  • Markdown 编辑

  • 实时 A4 预览

  • 自动字号适配

  • 多页编辑

  • 多页打印

  • 多种主题

  • 多种中文字体

  • Docker / Podman 一键启动


项目地址

如果你刚好也想找一个能把 Markdown 快速整理成 PDF 的小工具,可以直接试试。