[开源推荐] 基于 Vue 3 + Hiprint 的 Web 打印设计器 vg-print:拖拽设计、静默打印一站式方案

[开源推荐] 基于 Vue 3 + Hiprint 的 Web 打印设计器 vg-print:拖拽设计、静默打印一站式方案

在 Web 开发中, 打印功能 一直是一个让人头疼的痛点。传统的 CSS 打印难以精确控制分页、页眉页脚和复杂布局,而市面上的打印插件要么收费昂贵,要么集成复杂。

最近在项目中基于著名的 hiprint 库,封装了一套 开箱即用 的 Vue 3 打印设计组件库 —— vg-print 。它不仅支持可视化拖拽设计模板,还集成了预览、PDF/图片导出,甚至支持配合客户端实现 静默打印 。今天就把这个开源项目分享给大家,希望能帮到有类似需求的开发者。
为什么选择 vg-print?
vg-print 是一个基于 Vue 3 生态的打印解决方案。它不仅仅是对 hiprint 的简单封装,更提供了一个完整的 FullDesigner 设计器组件。

👉 点击进入vg-print开发者文档

核心痛点解决:

  • 可视化设计 :不再手写复杂的打印样式,直接拖拽生成模板。
  • 开箱即用 :引入组件即可使用,无需繁琐的初始化配置。
  • 功能全面 :支持预览、打印、导出 PDF、导出图片。
  • 静默打印 :内置 WebSocket 连接功能,配合客户端可实现点击即打,无需弹出浏览器打印对话框。

无限制 :无域名限制,支持离线使用,完全免费。 功能展示

在这里插入图片描述

主要特性:

  1. FullDesigner 组件 :全功能设计器,集成了头部操作栏和预览功能。
  2. 多格式导出 :内置了 PDF 和图片导出插件,生成高清报表。
  3. 多语言支持 :支持中、英、德、法、日等多国语言,适合国际化项目。
  4. 响应式布局 :自动适应不同屏幕尺寸,小屏下自动折叠次要按钮。 快速上手
    下面演示如何在 Vue 3 项目中快速集成。
  5. 安装依赖
npm i vg-print 
  1. 引入样式

为了保证打印样式在不同环境下(如预览、直接打印)的一致性,建议将样式文件引入到项目中。

  1. 使用 FullDesigner 组件

这是最简单的集成方式,直接在页面中使用 :

<template><div class="print-page"><FullDesigner ref="designer":initial-template="initialTemplate":initial-print-data="printData"default-lang="cn" @save="handleSave"><!-- 自定义头部左侧 --><template #headerLeft><div class="header-title">我的打印设计器</div></template><!-- 自定义头部右侧按钮 --><template #headerRight><el-button type="primary" @click="handlePreview">预览</el-button><el-button type="success" @click="handlePrint">直接打印</el-button></template></FullDesigner></div></template><script setup>import{ ref }from'vue'// 引入 vg-print 组件(假设已全局注册或局部引入)const designer =ref(null)// 初始模板数据(可选)const initialTemplate ={panels:[]}// 打印测试数据const printData =[{name:'测试用户',id:1001}]// 保存模板回调consthandleSave=({ template, data })=>{ console.log('保存的模板JSON:',JSON.stringify(template))// 这里可以将 template 保存到后端数据库}// 调用组件内部方法consthandlePreview=()=>{ designer.value?.value?.preView()}consthandlePrint=()=>{ designer.value?.value?.print()}</script><style scoped>.print-page {height: 100vh;}.header-title { font-size: 18px; font-weight: bold;color: #fff; margin-left: 10px;}</style>

进阶:静默打印
对于需要高频打印的场景(如快递单、小票),浏览器自带的打印预览窗口非常影响效率。 vg-print 支持连接本地客户端进行静默打印。

只需配置 hi-host 和 hi-token 即可:

<FullDesigner :hi-host="'http://127.0.0.1:17521'":hi-token="token":hi-auto-connect="true"/>

配合配套的 Electron 客户端,即可实现点击按钮直接出纸。

在这里插入图片描述

配套客户端下载:

为了实现静默打印,需要安装专门的客户端工具。我已经将编译好的安装包上传到了 ZEEKLOG,大家可以直接下载使用:

👉 点击下载:静默打印客户端工具 (Windows/Mac)

欢迎大家下载体验,如果有问题可以在评论区留言或者在 GitHub 上提 Issue!

Read more

Gemma-3-12B-IT WebUI效果呈现:强化学习对齐+RLHF训练流程解析

Gemma-3-12B-IT WebUI效果呈现:强化学习对齐+RLHF训练流程解析 1. 引言:从聊天界面到模型灵魂 当你打开Gemma-3-12B-IT的WebUI界面,输入一个问题,几秒钟后就能得到一个流畅、准确、甚至充满人情味的回答。这个看似简单的交互背后,隐藏着一套复杂而精密的训练体系——强化学习对齐(Reinforcement Learning Alignment)和RLHF(Reinforcement Learning from Human Feedback)训练流程。 你可能已经体验过Gemma-3-12B-IT的强大对话能力:它能理解你的意图,生成高质量的代码,解释复杂概念,甚至进行创意写作。但你是否想过,这个模型是如何学会“好好说话”的?它为什么不会像早期的聊天机器人那样胡言乱语,或者给出有害的建议? 今天,我们就来深入解析Gemma-3-12B-IT背后的训练秘密。这不是一篇枯燥的技术论文,而是一次带你走进大模型“训练营”的旅程。我们会用最直白的方式,解释强化学习对齐和RLHF到底是什么,它们如何让一个“原始”的语言模型变成现在这个聪明、有用、安全的对话

Qwen3-VL-WEBUI游戏AI:视觉决策系统搭建

Qwen3-VL-WEBUI游戏AI:视觉决策系统搭建 1. 引言:为何需要基于Qwen3-VL的视觉决策系统? 在当前AI驱动的游戏自动化、智能NPC设计与玩家行为分析等场景中,传统的纯文本大模型已难以满足复杂交互需求。游戏界面本质上是高度结构化的多模态环境——包含图像、动态UI元素、空间布局和实时反馈机制。为此,阿里开源的 Qwen3-VL-WEBUI 提供了一个强大的解决方案。 该平台内置了 Qwen3-VL-4B-Instruct 模型,作为Qwen系列迄今最强的视觉-语言模型(VLM),具备深度视觉理解、长上下文推理与GUI操作能力。通过将其部署为Web服务,开发者可快速构建一个能“看懂”游戏画面并做出智能决策的AI代理系统。 本文将围绕如何利用 Qwen3-VL-WEBUI 构建一套完整的游戏AI视觉决策系统,涵盖技术原理、部署实践、核心功能调用及工程优化建议,帮助读者实现从“感知”到“行动”的闭环。 2. 技术架构解析:Qwen3-VL的核心能力拆解 2.1 多模态融合机制:视觉与语言的统一表征 Qwen3-VL采用交错MRoPE(Multiresolu

前端如何实现 [记住密码] 功能

前端如何实现“记住密码”功能 “记住密码”功能在现代 Web 应用中仍然非常常见,但由于浏览器安全策略和用户隐私意识的提升,实现方式已经从早期的“明文存 Cookie”演变为更安全、更符合规范的方案。 下面是目前主流的几种实现方式,从简单到推荐的完整说明: 1. 最常见但已不推荐的方式(仅作了解) 方式:用户名 + 密码同时存入 Cookie 或 localStorage // 登录成功后 localStorage.setItem('username', username); localStorage.setItem('password', password);// 明文!极度危险// 下次打开页面自动填充 document.getElementById('username').value = localStorage.getItem('username&

从零构建:使用aiortc实现WebRTC连接的实战指南

快速体验 在开始今天关于 从零构建:使用aiortc实现WebRTC连接的实战指南 的探讨之前,我想先分享一个最近让我觉得很有意思的全栈技术挑战。 我们常说 AI 是未来,但作为开发者,如何将大模型(LLM)真正落地为一个低延迟、可交互的实时系统,而不仅仅是调个 API? 这里有一个非常硬核的动手实验:基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。 从0到1构建生产级别应用,脱离Demo,点击打开 从0打造个人豆包实时通话AI动手实验 从零构建:使用aiortc实现WebRTC连接的实战指南 背景痛点:为什么选择aiortc? WebRTC技术虽然强大,但原生实现需要处理大量底层细节,这对开发者来说是个不小的挑战: * 协议栈复杂:需要理解STUN/TURN服务器配置、SDP协商、ICE候选交换等概念