当前位置: 首页 > article >正文

基于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

http://www.kler.cn/a/589532.html

相关文章:

  • 开源文档管理系统 Paperless-ngx
  • 【后端开发面试题】每日 3 题(十三)
  • 利用golang embed特性嵌入前端资源问题解决
  • 【经验分享】SpringBoot集成WebSocket开发-03 使用WebSocketSession为每个对话存储独立信息
  • Vue3中正确解析RefImpl对象
  • Hyperlane:轻量、高效、安全的 Rust Web 框架新选择
  • Java 大视界 -- Java 大数据机器学习模型的对抗攻击与防御技术研究(137)
  • 为什么手机上用 mA 和 mAh 来表示功耗和能耗?
  • java学习总结:JSP、Servlet
  • vue3项目如何使用keepAlive?如何实现回退到这个页面时不刷新,跳转至这个页面时会刷新?
  • Redis主从集群和哨兵集群
  • CML(Current Mode Logic)电平详解
  • MyBatis XMLMapperBuilder 是如何解析 SQL 映射文件的? 它读取了哪些信息?
  • docker安装rabbitmq
  • pyyaml_include 2.x 版本使用说明
  • Spring Cloud Gateway 生产级实践:高可用 API 网关架构与流量治理解析
  • Linux应用软件编程(多任务:进程间通信)
  • Excel VBA实现智能合并重复元器件数据(型号去重+数量累加)
  • VSCode C/C++ 环境搭建指南
  • 云原生服务网格:微服务通信的神经中枢革命