基于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.rhkb.cn/news/36101.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode每日一题:使字符串平衡的最小交换次数

引言 今天开始,打算做一个新的系列:leetcode每日一题的题解。预期每天用90分钟的时间,去写一篇当天的每日一题的题解,这个目标跟早起结合在一起,才有足够的时间完成。其实早在前几年,就开始断断续续做leetc…

Learn Redis 5 (Java)

分布式锁 在面对高并发业务时,单个项目解决不过来,此时一个项目部署到多个机器,这就是集群模式,不同的项目实例就会对应不同的端口和JVM。 1.模拟集群模式 Nginx实现负载均衡(轮询) 2.使用集群模…

lua学习(三)

错误处理 assert断言 作用:确保某些数据是符合预期的,避免影响最终结果。 格式:assert(条件语句,报错信息) 当条件语句为true时,assert语句不会有任何行为,但是当为false时,assert会将报错信息…

基于eNSP的IPV4和IPV6企业网络规划

基于eNSP的IPV4和IPV6企业网络规划 前言网络拓扑设计功能设计技术详解一、网络设备基础配置二、虚拟局域网(VLAN)与广播域划分三、冗余协议与链路故障检测四、IP地址自动分配与DHCP相关配置五、动态路由与安全认证六、广域网互联及VPN实现七、网络地址转…

优选算法合集————双指针(专题四)

1,一维前缀和模版 题目描述: 描述 给定一个长度为n的数组a1,a2,....ana1​,a2​,....an​. 接下来有q次查询, 每次查询有两个参数l, r. 对于每个询问, 请输出alal1....aral​al1​....ar​ 输入描述: 第一行包含两个整数n和q. 第二行…

Web3游戏行业报告

一,gamefi经济 什么是gamefi GameFi是一个缩写,它结合了游戏和去中心化金融(“DeFi”)这两个术语,关注的是游戏玩法如何在去中心化系统中实现货币化。对于游戏而言,只要开放了交易市场,允许玩家自由买卖,…

【程序人生】成功人生架构图(分层模型)

文章目录 ⭐前言⭐一、根基层——价值观与使命⭐二、支柱层——健康与能量⭐三、驱动层——学习与进化⭐四、网络层——关系系统⭐五、目标层——成就与财富⭐六、顶层——意义与传承⭐外层:调节环——平衡与抗风险⭐思维导图 标题详情作者JosieBook头衔CSDN博客专家…

拖拽实现+摇杆实现

拖拽实现 拖拽事件实现: 半透明渐变贴图在ios设备下,使用压缩会造成图片质量损失,所以可以将半透明渐变UI切片单独制作真彩色图集 拖拽事件组 IBeginDragHandler:检测到射线后,当拖拽动作开始时执行一次回调函数 IDragHandler:拖拽开始后&a…

vs2017版本与arcgis10.1的ArcObject SDK for .NET兼容配置终结解决方案

因电脑用的arcgis10.1,之前安装的vs2010正常能使用AO和AE,安装vs2017后无法使用了,在重新按照新版本arcgis engine或者arcObject费时费力,还需要重新查找资源。 用vs2017与arc10.1的集成主要两个问题,1:安装后vs中没有…

C语言和C++到底有什么关系?

C 读作“C 加加”,是“C Plus Plus”的简称。 顾名思义,C 就是在 C 语言的基础上增加了新特性,玩出了新花样,所以才说“Plus”,就像 Win11 和 Win10、iPhone 15 和 iPhone 15 Pro 的关系。 C 语言是 1972 年由美国贝…

企业微信群聊机器人开发

拿到机器人hook 机器人开发文档 https://developer.work.weixin.qq.com/document/path/91770

AT指令集-NBIOT

是什么? 窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWAN)NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接NB-Io…

网络爬虫【爬虫库urllib】

我叫不三不四,很高兴见到大家,欢迎一起学习交流和进步 今天来讲一讲爬虫 urllib介绍 Urllib是Python自带的标准库,无须安装,直接引用即可。 Urllib是一个收集几个模块来使用URL的软件包,大致具备以下功能。 ● urlli…

vue中js简单创建一个事件中心/中间件/eventBus

vue中js简单创建一个事件中心/中间件/eventBus 目录结构如下: eventBus.js class eventBus {constructor() {this.events {};}// 监听事件on(event, callback) {if (!this.events[event]) {this.events[event] [];}this.events[event].push(callback);}// 发射…

弹球小游戏-简单开发版

一、需求 弹球小游戏是一个简单的互动游戏,玩家需要控制一个挡板在窗口底部左右移动,以接住从上方落下的球。游戏的主要需求包括: (1) 游戏界面 :创建一个指定尺寸的游戏窗口,显示球和挡板。 (2) 球的运动 &#xf…

Cursor与Blender-MCP生成3D模型

随着DeepSeek的热度,各行各业接入AI智能,当然作为一个深受3D爱好者喜爱的软件——Blender,也接入了AI智能,通过Blender-MCP,开启一场Blender的智能化模型创建的世界之旅。 目录 1.准备工作2.环境配置2.1 Mac安装2.2 W…

简单以太网配置

display arp //查看路由器mac地址 交换机配置命令: system-view // 从用户视图进入系统视图 dis mac-address //查看mac地址表 路由器配置命令: system-view // 从用户视图进入系统视图 int GigabitEthernet 0/0/0 //进入G口 0/0/0 进入之后配置网关: ip addre…

SpringBoot可以同时处理多少请求?

大家好,我是锋哥。今天分享关于【SpringBoot可以同时处理多少请求?】面试题。希望对大家有帮助; SpringBoot可以同时处理多少请求? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Spring Boot 本身并不直接限制可以处…

一、初始 Linux

文章目录 一、操作系统概述二、Linux 初识1. Linux 的组成2. Linux 发行版 三、远程链接 Linux 系统1. 四、WSL (windows subsystem for linux)1. 什么是 WSL2. 如何下载 WSL3. 安装不同的 Linux 发行版4. 启动停止使用指定发行版5. 卸载与备份6. 文件共享7. 命令混用8. 用 vsc…

LogicFlow介绍

LogicFlow介绍 LogicFlow是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。LogicFlow支持前端自定义开发各种逻辑编排场景,如流程图、ER图、BPMN流程等。在工作审批流配置、机器人逻辑编排、无代码平…