[开源推荐] 基于 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 设计器组件。

核心痛点解决:

  • 可视化设计 :不再手写复杂的打印样式,直接拖拽生成模板。
  • 开箱即用 :引入组件即可使用,无需繁琐的初始化配置。
  • 功能全面 :支持预览、打印、导出 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

【Python】家庭用电数据分析Prophet预测

【Python】家庭用电数据分析Prophet预测

数据集:Household Electricity Consumption | Kaggle 目录 数据集简介 探索性分析 Prophet预测 Prophet模型 Prophet理念 Prophet优点 数据集简介 240000-household-electricity-consumption-records数据集包含了一个家庭6个月的用电数据,收集于2007年1月至2007年6月。这些数据包括全球有功功率、全球无功功率、电压、全球强度、分项计量1(厨房)、分项计量2(洗衣房)和分项计量3(电热水器和空调)等信息。该数据集共有260,640个测量值。 列名说明Date日期Time时间Globalactivepower该家庭所消耗的总有功功率(千瓦)Globalreactivepower该家庭消耗的总无功功率(千瓦)Voltage向家庭输送电力的电压(伏特)Global_intensity输送到家庭的平均电流强度(安培)Submetering1厨房消耗的有功功率(千瓦)Submetering2洗衣房所消耗的有功功率(千瓦)Submetering3电热水

By Ne0inhk
python协同过滤算法django餐厅推荐系统

python协同过滤算法django餐厅推荐系统

目录 * 协同过滤算法基础 * Django系统架构设计 * 推荐引擎实现 * 性能优化与冷启动问题 * 前端交互与API设计 * 评估与部署 * 开发技术路线 * 源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 协同过滤算法基础 协同过滤分为基于用户的协同过滤(User-Based CF)和基于物品的协同过滤(Item-Based CF)。核心思想是通过用户历史行为数据(如评分、点击)计算相似度,预测未评分项目的偏好。 * 相似度计算:常用余弦相似度、皮尔逊相关系数。 * 余弦相似度公式: [ \text{sim}(u, v) = \frac{\sum_{i \in I_{uv}} r_{ui} \cdot r_{vi}}{\sqrt{\sum_{i \in I_{u}} r_

By Ne0inhk
Go、Rust、Kotlin、Python 与 Java 从性能到生态,全面解读五大主流编程语言

Go、Rust、Kotlin、Python 与 Java 从性能到生态,全面解读五大主流编程语言

文章目录 * 从性能到生态,全面解读五大主流编程语言 * 一、语言定位与设计哲学:为何而生? * 二、性能对比:谁更快?谁更省资源? * 性能维度拆解 * 性能对比表(基于典型 Web API 场景) * 性能实测案例(斐波那契数列第45项) * 三、并发模型:谁更适合高并发? * 并发模型对比 * 四、错误处理机制:如何应对失败? * 示例:读取文件内容 * 五、类型系统:静态 vs 动态,强类型 vs 弱类型 * 空安全对比(防 NPE) * 六、内存管理:GC vs 所有权 * Rust 的“所有权”机制详解 * 七、生态系统与社区活跃度 * 典型生态代表

By Ne0inhk
Python 驱动浏览器自动化:Playwright + AI 的 2026 最佳实践

Python 驱动浏览器自动化:Playwright + AI 的 2026 最佳实践

摘要:在 Web 自动化领域,Selenium 曾经的霸主地位已成历史,Playwright 凭其“快、稳、强”的现代特性成为了新标准。而在 2026 年,随着 LLM(大语言模型)和视觉多模态模型的爆发,自动化测试与 RPA(机器人流程自动化)迎来了范式革命。本文将深度解析 Playwright 的核心架构,并手把手教你构建一个具备“自愈能力”的 AI 驱动自动化 Agent。本文超 7000 字,包含大量实战代码与反爬对抗技巧。 第一章:Selenium 已死,Playwright 当立? 1.1 自动化的“不可能三角” 长期以来,Web 自动化工程师都在速度、稳定性和抗检测性之间做取舍: * Selenium:

By Ne0inhk