我给 PrintFit 补了多页打印,也把 Docker 镜像做了
最近把 PrintFit fork 了一下。
上游项目本身就挺有意思:把 Markdown 内容排成适合打印的页面,用 pretext 做文本测量,再去找一个更合适的字号。
我这边主要补了两件事:
-
多页编辑 / 多页打印
-
Docker 一键启动
仓库在这里:
我为什么要改它
原因很简单。
上游更偏单页场景,做一页简历、单页速查卡这种内容很好用。
但我自己实际用的时候,很快就碰到问题了:很多内容根本不止一页。
比如:
-
两页简历
-
多页项目介绍
-
分页讲义
-
多页说明文档
所以我 fork 之后,先把多页支持补上了。
改了什么
1. 多页编辑 / 多页打印
现在每一页都有独立的 Markdown 编辑区,可以新增、删除页面,打印时会按页面输出成独立的 A4。
这个改完之后,它才更像一个能直接拿来用的工具,而不只是一个单页 demo。
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
就能直接看效果。
这个项目我觉得有意思在哪
我自己觉得它有意思,不只是因为它能把 Markdown 打印出来。
更关键的是,它在认真处理“内容怎么落到纸上”这件事。
这和普通网页不太一样。
打印场景下,页面大小、页边距、字号、行高,都会直接影响最终结果。只要这些东西控制不好,打印出来就容易乱。
而 PrintFit 这类做法,本质上就是在解决这个问题。
所以如果你本身对这些方向有兴趣,这个项目其实挺值得看:
-
文本测量
-
自动排版
-
浏览器打印
-
固定纸张约束下的布局控制
现在这个 fork 能做什么
目前已经支持:
-
Markdown 编辑
-
实时 A4 预览
-
自动字号适配
-
多页编辑
-
多页打印
-
多种主题
-
多种中文字体
-
Docker / Podman 一键启动
项目地址
-
上游 PrintFit:github.com/nicekate/Pr…
-
pretext:github.com/chenglou/pr…
-
我的 fork:github.com/masonsxu/Pr…
如果你刚好也想找一个能把 Markdown 快速整理成 PDF 的小工具,可以直接试试。