基于Springboot+Typst的PDF生成方案,适用于报告打印/标签打印/二维码打印等
基于Springboot+Typst的PDF生成方案,适用于报告打印/标签打印/二维码打印等。
仅提供后端实现
Typst2pdf-for-report/label/QR code github
环境
- JDK11
- linux/windows/mac
应用场景
- 适用于定制化的报告模板/标签/条码/二维码等信息的pdf生成方案。
- 通过浏览器的print可直接实现打印功能。
效果示例
普通模板打印
多页循环二维码模板打印
Typst介绍
官网
github
组件市场
Typst是一种排版语言(可用于出版与学术写作的可编程标记语言),与LaTex和Word类似。
-
编译快速。Typst使用Rust语言编写
-
体量轻便。
-
语法简洁。语法难度低,可自己根据业务轻松修改样式
Typst脚本制作
- 可直接在官网在线编辑调整,但可能不稳定,无法进入
- 可使用vscode安装插件
Tinymist Typst
,进行本地编辑preview
Typst本地化目录说明
注意,每个版本的typst存在一些语法差异,请根据最新版本,同步最新语法使用。
└── tool
└── typst_ctl
├── convert 转换文件夹,程序运行时,需要生成.typ文件用于生成 pdf,此文件夹就用于存放临时的.typ和.pdf文件
│ ├── logo.svg 因为临时的.typ文件里面引用了这个logo,所以要保持在同一文件夹
│ ├── tablex 因为临时的.typ文件里面引用了这个包中的组件,避免内网封闭情况下无法从云上拉取,直接就放到本地
│ ├── tablex-0.0.9 同上
│ └── tiaoma-0.2.0 同上
├── ttf 标准字体,在使用typst compile --font-path 可指定字体,临时的.typ也会引用
├── typst-aarch64-apple-darwin macos环境的typst运行文件,可直接于官网https://github.com/typst/typst/releases/tag/v0.10.0下载
│ ├── 0.10.0
│ └── 0.13.0
├── typst-x86_64-pc-windows-msvc windows环境的typst运行文件
│ ├── 0.10.0
│ └── 0.13.0
├── typst-x86_64-unknown-linux-musl linux环境的typst运行文件
│ ├── 0.10.0
│ └── 0.13.0
├── typst-zh_CN-20230409.pdf
└── typst_template typst的基础模板,程序会替换其中的${},用于填充数据源,最后生成的可执行的临时的.typ放在convert文件夹下
├── couplet_template.typ
└── template.typ