基于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.mzph.cn/web/72671.shtml

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

相关文章

OSG简介

OSG OpenSceneGraph (简称 OSG) 是一个开源的高性能3D图形库。 作用 它为开发者提供了一个强大的API,处理和渲染复杂的3D图形。 特点 OSG基于OpenGL构建,提供了对现代图形技术的支持,如着色器、纹理映射、光照模型等高级特性。 跨平台支…

简述下npm,cnpm,yarn和pnpm的区别,以及跟在后面的-g,--save, --save-dev代表着什么

文章目录 前言一、npm,cnpm,yarn和pnpm的基本介绍和特点1.npm (Node Package Manager)2. Yarn3. cnpm (China npm)4. pnpm 二、简述npm和pnpm 的存储方式和依赖数1.存储方式2.依赖树 三、两者依赖树的差异导致结果的对比四、简单说说-g,--sav…

三分钟掌握视频剪辑 | 在 Rust 中优雅地集成 FFmpeg

前言 在当今的短视频时代,高效的视频剪辑已成为内容创作者和开发者的迫切需求。无论是裁剪视频开头结尾、提取高光时刻,还是制作 GIF、去除广告,剪辑都是必不可少的一环。 然而,批量处理大量视频并非易事,常见的挑战…

Python 视频爬取教程

文章目录 前言基本原理环境准备Python安装选择Python开发环境安装必要库 示例 1:爬取简单直链视频示例 2:爬取基于 HTML5 的视频(以某简单视频网站为例) 前言 以下是一个较为完整的 Python 视频爬取教程,包含基本原理…

ollama搭建deepseek调用详细步骤

在使用 Ollama 搭建 DeepSeek 并投喂数据的过程中,你需要几个主要步骤来确保一切顺利进行。以下是详细的指南,涵盖了从准备工作到实际投喂数据的所有环节。 准备环境确保你的计算机具备足够的硬件资源: CPU: 至少8核处理器(推荐12核以上)内存: 至少32GB RAM(推荐64GB以上…

VSCode C/C++ 开发环境完整配置及常见问题(自用)

这里主要记录了一些与配置相关的内容。由于网上教程众多,部分解决方法并不能完全契合我遇到的问题,因此我选择以自己偏好的方式,对 VSCode 进行完整的配置,并记录在使用过程中遇到的问题及解决方案。后续内容也会持续更新和完善。…

如何搭建一个安全经济适用的TRS交易平台?

TRS(总收益互换)一种多方参与的投资方式,也是绝对收益互换(total return swap)的一种形式。 它是一种衍生合约,是一种金融衍生品的合约,是指交易双方在协议期间将参照资产的总收益转移给信用保…

SpringMVC(四)Restful软件架构风格

目录 ​编辑 API接口设计的架构风格 一 Dao层实现(处理数据库) 二 Sercice层实现(处理业务逻辑) 三 Controller层(处理http请求) 四 补充知识点 1 PathVariable - 路径变量 2 CrossOrigin(Origins …

Docker搭建MySQL主从服务器

一、在主机上创建MySQL配置文件——my.cnf master服务器配置文件路径:/data/docker/containers/mysql-cluster-master/conf.d/my.cnf slave服务器配置文件路径: /data/docker/containers/mysql-cluster-master/conf.d/my.cnf master服务配置文件内容 …

鸿蒙路由 HMrouter 配置及使用一

1、学习链接 HMRouter地址 https://gitee.com/hadss/hmrouter/blob/dev/HMRouterLibrary/README.md 2、工程配置 下载安装 ohpm install hadss/hmrouter 添加编译插件配置 在工程目录下的build-profile.json5中,配置useNormalizedOHMUrl属性为true (我这项目创…

智能家居分享

因为最近沉迷智能家居,所以来给大家分享一些轻松改变生活体验的小家具 1: 智能门锁 出门忘记带钥匙是许多人都遇到过的尴尬事,智能门锁的出现完美解决了这个困扰。智能门锁采用指纹识别、密码、刷卡、手机等多种开锁方式,大大增…

C#入门学习记录(四)C#运算符详解:掌握算术与条件运算符的必备技巧+字符串拼接

一、运算符概述 运算符是程序进行数学运算、逻辑判断的核心工具&#xff0c;C#中的运算符分为&#xff1a; 算术运算符 → 数学计算&#xff08; - * / %&#xff09; 条件运算符 → 三目判断&#xff08;?:&#xff09; 关系运算符 → 比较大小&#xff08;> < &#…

Linux中安装Git

安装Git 安装git&#xff0c;我们可以使用yum指令在线安装&#xff0c;这里&#xff0c;我们先对yum做一个简单介绍。 执行下面命令 #查看可用的git安装包 yum list git #安装git yum install -y git 查看git安装包 安装git 验证是否安装成功 安装完毕之后&#xff0c;我们…

开源免费一句话生成儿童故事视频核心思想解析

再看一个演示视频&#xff0c;学会核心思想后&#xff0c;可以打造自己的内容生成工具&#xff0c;后文有基于飞书多维表格的实现效果&#xff1a; 一句话灵感生成儿童故事视频演示 这是一款专门为内容素材创作打造的创新工具&#xff0c;可根据用户输入的主题&#xff0c;快速…

Linux上的`i2c-tools`工具集的详细介绍;并利用它操作IMX6ULL的I2C控制器进而控制芯片AP3216C读取光照值和距离值

IC-Tools 工具集介绍 i2c-tools 是 Linux 下用于 IC 设备调试 的用户空间工具集(你也可以把它看成是一个库&#xff0c;类似于之前自己用过的触摸屏库tslib库、FreeType矢量字符库)&#xff0c;它提供了一系列命令行工具&#xff0c;可以扫描、读取、写入 IC 设备&#xff0c;…

Windows 部署 RuoYi 前后端分离项目

目录 ruoyi-vue部署 ruoyi源码类型 若依官方地址 RuoYi-Vue 前后端分离版 环境 工具 windows开发环境 jdk安装 (安装位置默认) 双击点击安装 步骤 耐心等待加载完毕&#xff0c;路径默认 等待安装完成即可 快速打开文件资源管理器 进入高级系统设置 系统属性&#…

《C语言中的ASCII码表:解锁字符与数字的桥梁》

&#x1f680;个人主页&#xff1a;BabyZZの秘密日记 &#x1f4d6;收入专栏&#xff1a;C语言 &#x1f30d;文章目入 一、什么是ASCII码表&#xff1f;二、ASCII码表的结构1. 控制字符&#xff08;0-31 和 127&#xff09;2. 可打印字符&#xff08;32-126&#xff09; 三、完…

Git删除并重新推送远程分支操作

在 Git 中&#xff0c;如果你删除了远程分支并希望重新推送一个新的远程分支&#xff0c;可以按照以下步骤操作&#xff1a; 1. 删除远程分支 首先&#xff0c;删除远程分支&#xff1a; git push origin --delete <branch-name>其中&#xff0c; 是你要删除的远程分支…

连接不上雷电模拟器,adb连接不上问题的解决办法

win7升win10后&#xff0c;adb shell连接不上&#xff0c;找不到指定文件&#xff0c;具体如下 f:\AndroidTool_Release_v2.35\bin>adb shell * daemon not running; starting now at tcp:5037 adb: CreateFileW nul failed: 系统找不到指定的文件。 (2) * failed to start…

el-table 插槽踩过的坑 :slot-scope 和#default的区别

slot-scope和#default是Vue中用于定义插槽的两种不同语法&#xff0c;它们在Vue 2和Vue 3中有不同的应用场景和语法规则。‌ slot-scope 在‌Vue 2.x‌中&#xff0c;slot-scope是用于声明具名插槽并获取父组件传递过来的数据的主要方式。通过slot-scope可以定义一个变量scop…