跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

基于 Vue 3 和 Hiprint 的 Web 打印设计器 vg-print:拖拽设计与静默打印

在 Web 开发中,打印功能一直是一个让人头疼的痛点。传统的 CSS 打印难以精确控制分页、页眉页脚和复杂布局,而市面上的打印插件要么收费昂贵,要么集成复杂。 最近在项目中基于著名的 hiprint 库,封装了一套开箱即用的 Vue 3 打印设计组件库 —— vg-print。它不仅支持可视化拖拽设计模板,还集成了预览、PDF/图片导出,甚至支持配合客户端实现静默打印。今天就把这个开源项目分享给大…

山野来信发布于 2026/4/6更新于 2026/7/1175K 浏览
基于 Vue 3 和 Hiprint 的 Web 打印设计器 vg-print:拖拽设计与静默打印

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

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

为什么选择 vg-print?

vg-print 是一个基于 Vue 3 生态的打印解决方案。它不仅仅是对 hiprint 的简单封装,更提供了一个完整的 FullDesigner 设计器组件。

核心痛点解决:

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

功能展示

vg-print 界面展示

主要特性:

  1. FullDesigner 组件:全功能设计器,集成了头部操作栏和预览功能。
  2. 多格式导出:内置了 PDF 和图片导出插件,生成高清报表。
  3. 多语言支持:支持中、英、德、法、日等多国语言,适合国际化项目。
  4. 响应式布局:自动适应不同屏幕尺寸,小屏下自动折叠次要按钮。

快速上手

下面演示如何在 Vue 3 项目中快速集成。

  1. 安装依赖
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 }
]

// 保存模板回调
const handleSave = ({ template, data }) => {
  console.log('保存的模板 JSON:', JSON.stringify(template))
  // 这里可以将 template 保存到后端数据库
}

// 调用组件内部方法
const handlePreview = () => {
  designer.value?.value?.preView()
}

const handlePrint = () => {
  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 客户端,即可实现点击按钮直接出纸。

静默打印客户端

配套客户端下载:

为了实现静默打印,需要安装专门的客户端工具。请自行编译或获取安装包。

目录

  1. 为什么选择 vg-print?
  2. 核心痛点解决:
  3. 功能展示
  4. 主要特性:
  5. 快速上手
  6. 进阶:静默打印
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 人工智能:自然语言处理在教育领域的应用与实战
  • Microi 吾码低代码平台核心特性解析:跨数据库与分布式部署
  • FPGA 低延迟库在高频交易中的实战优化与避坑指南
  • 使用 OpenClaw 与 Chrome 插件自动化生成 AI 每日简报
  • Python 月相可视化项目实战:从计算到 Web 渲染
  • 大学生论文写作:AI 工具全流程实战指南
  • 两两交换链表中的元素
  • 利用 Web Scraper 插件爬取知乎评论数据实战
  • ZeroClaw:基于 Rust 的轻量级 AI Agent 框架,内存占用仅 5MB
  • 前端开发者 Agent 工程化开发学习路线
  • GitHub Copilot Token 消耗过快:5 种节省策略与 Claude 模型替代方案
  • 70 后转行程序员的经历与中年奋斗思考
  • Flood Fill 算法实战:图像渲染与岛屿问题解析
  • 将 Zed 集成到 Bright Data Web MCP,让 AI 编辑器具备“超能力”
  • 飞算 JavaAI:Java 开发智能辅助工具的功能解析
  • 二叉搜索树 C++ 实现:增删查改详解
  • 归并排序算法原理与 Java 实现
  • Spring Boot 实战:基于 WebSocket 的前后端实时匹配系统实现
  • C++ 模板编程详解:从函数模板到类模板
  • TSW-30 浊度传感器技术原理及智能家居应用

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online