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

基于 Vue 3 + Hiprint 的 Web 打印设计器 vg-print 使用指南

综述由AI生成一款基于 Vue 3 和 Hiprint 封装的 Web 打印设计器组件库 vg-print。该方案解决了传统 CSS 打印控制难的问题,提供可视化拖拽设计模板、预览、PDF 及图片导出功能。支持配合本地客户端实现静默打印,无需浏览器弹窗。文章包含核心特性介绍、快速上手步骤及代码示例,适用于需要高频打印场景如快递单或小票的开发者。

全栈工匠发布于 2026/4/6更新于 2026/5/2229 浏览
基于 Vue 3 + Hiprint 的 Web 打印设计器 vg-print 使用指南

基于 Vue 3 + Hiprint 的 Web 打印设计器 vg-print

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

最近项目中基于著名的 hiprint 库,封装了一套开箱即用的 Vue 3 打印设计组件库 —— vg-print。它不仅支持可视化拖拽设计模板,还集成了预览、PDF/图片导出,甚至支持配合客户端实现静默打印。

核心特性

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

核心痛点解决

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

功能展示

功能界面

主要特性包括:

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

快速上手

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

1. 安装依赖

npm i vg-print

2. 引入样式

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

3. 使用 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. 基于 Vue 3 + Hiprint 的 Web 打印设计器 vg-print
  2. 核心特性
  3. 核心痛点解决
  4. 功能展示
  5. 快速上手
  6. 1. 安装依赖
  7. 2. 引入样式
  8. 3. 使用 FullDesigner 组件
  9. 进阶:静默打印
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 基于 LangGraph + RAGFlow 的三智能体长文档生成平台 OpenSpec
  • Qwen3.5 小尺寸模型开源:昇腾适配完成及部署指南
  • MCP Gateway:零侵入式 API 至 MCP 协议转换网关
  • Flutter 使用 sanitize_html 库防止 OpenHarmony XSS 注入风险
  • Rust 异步编程错误处理:从原理到实战
  • 二叉树顺序结构:堆的定义与实现
  • Python uv 工具:安装、升级与卸载指南
  • AI 编程工具深度评测:Trae 3.0, Cursor, Qoder 等主流方案对比
  • RK3568 嵌入式开发环境搭建:Linux 5.10 内核移植与驱动适配
  • Win11 Docker Desktop 部署 CTyunOS 2.0.1 aarch64 容器嵌套实战
  • MNIST 读取出错:Dataset not found or corrupted
  • Llama.cpp Python 绑定与本地模型部署实战
  • VSCode Copilot 接入 DeepSeek 模型配置指南
  • GitHub 国内镜像站汇总与高速访问方案
  • 解决 Docker 报错 client version 1.24 过旧及 API 版本不兼容问题
  • LangChain4j 集成 Spring Boot 完整教程
  • 基于 Rokid 灵珠平台打造 AI Glasses 作业助手
  • A*算法在网格路径规划中的三种优化策略对比与实战
  • 字节 Seedance 2.0 AI 视频生成工具使用指南与渠道对比
  • MCPHost:命令行大模型与外部工具交互实践

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

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

  • Base64 文件转换器

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