更新记录
1.0.3(2026-06-01)
优化已知问题和增加ios 版本
1.0.2(2025-11-18)
优化
1.0.1(2025-03-26)
优化
查看更多平台兼容性
uni-app(4.13)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | - | - | - | √ | 5.1 | √ | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.11)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | 5.1 | √ | - | - |
xtf-printer
系统打印插件,支持在 uni-app / uni-app x 的 App 端调起系统打印能力,打印本地图片或本地 PDF。
功能说明
- 打印本地图片
- 打印本地 PDF
- 支持设置打印名称
- 支持颜色模式
- 支持纸张尺寸
- 支持打印方向
- 支持图片缩放模式
- 支持自定义页边距
适用范围
平台支持矩阵
| 平台 | 状态 | 说明 |
|---|---|---|
Android App (uni-app) |
支持 | 支持图片、PDF 打印,参数支持最完整 |
Android App (uni-app x) |
支持 | 支持图片、PDF 打印,参数支持最完整 |
iOS App (uni-app) |
支持 | 支持图片、PDF 打印,当前已支持 name、orientation |
iOS App (uni-app x) |
支持 | 支持图片、PDF 打印,当前已支持 name、orientation |
| Harmony App | 暂不支持 | 当前版本未提供正式实现 |
| Web | 不支持 | 浏览器端不在本插件支持范围内 |
| 小程序平台 | 不支持 | 微信、支付宝、抖音等小程序均不支持 |
支持平台
uni-appAndroid Appuni-app xAndroid Appuni-appiOS Appuni-app xiOS App
不支持平台
- Web
- 微信小程序等小程序平台
- Harmony
使用前提
- 这是 App 原生打印能力插件,必须在 Android 或 iOS 真机环境下使用。
- Android 端需要使用自定义基座测试,标准基座下原生依赖无法完整生效。
- 设备本身需要支持系统打印服务,并已经配置可用打印机或 AirPrint 设备。
- Android 原生编译时,HBuilderX 运行配置中需要正确配置 JDK 路径。
安装后检查
- 确认插件已安装到
uni_modules/xtf-printer - 确认 Android 端运行到自定义基座
- 确认待打印文件真实存在
- 确认图片或 PDF 路径可被当前 App 读取
引入方式
import { xtf, PrintPara } from "@/uni_modules/xtf-printer"
API
xtf.isPrinterEnable()
检测当前设备是否可以获取系统打印服务。
const enabled = xtf.isPrinterEnable()
console.log("printer enabled:", enabled)
xtf.printerImage(para)
打印图片。
xtf.printerPdf(para)
打印 PDF。
iOS 参数说明
iOS 端当前优先保证图片和 PDF 的系统打印能力可用,name 会作为打印任务名生效。
以下参数在 iOS 端当前已支持或部分支持:
nameorientation
以下参数在 Android 端有实现,但 iOS 端暂未逐项映射到系统打印面板:
colorModemediaSizemarginsscalType
PrintPara 参数说明
export type PrintPara = {
name?: string
path: string
colorMode?: number
mediaSize?: number
margins?: number[]
scalType?: number
orientation?: number
}
参数说明:
name:打印任务名称,可选,默认值为printpath:待打印文件路径,必填colorMode:颜色模式,0为黑白,1为彩色mediaSize:纸张大小,默认4,即 A4margins:页边距数组,长度必须为4scalType:图片缩放模式,0为适应,1为填充orientation:打印方向,0为竖向,1为横向
mediaSize 对照
0:A01:A12:A23:A34:A45:A56:A67:A78:A89:A910:A1011:B012:B113:B214:B315及之后的部分 B 系列值:当前实现仍按插件内部映射处理
路径说明
打印项目内静态资源
支持直接传入 /static/ 开头的路径,例如:
path: "/static/logo.png"
path: "/static/a.pdf"
打印本地绝对路径文件
如果文件不是项目静态资源,也可以传入 Android 可访问的本地绝对路径。
uni-app x 示例
import { xtf, PrintPara } from "@/uni_modules/xtf-printer"
xtf.printerImage({
name: "image-demo",
path: "/static/logo.png",
colorMode: 1,
orientation: 0,
scalType: 0
} as PrintPara)
xtf.printerPdf({
name: "pdf-demo",
path: "/static/a.pdf",
colorMode: 1,
mediaSize: 4,
orientation: 0
} as PrintPara)
uni-app 示例
import { xtf } from "@/uni_modules/xtf-printer"
xtf.printerImage({
name: "image-demo",
path: "/static/logo.png",
colorMode: 1,
orientation: 0,
scalType: 0
})
xtf.printerPdf({
name: "pdf-demo",
path: "/static/a.pdf",
colorMode: 1,
mediaSize: 4,
orientation: 0
})
页面按钮示例
<template>
<view>
<button @click="printImage">打印图片</button>
<button @click="printPdf">打印 PDF</button>
</view>
</template>
<script>
import { xtf, PrintPara } from "@/uni_modules/xtf-printer"
export default {
methods: {
printImage() {
xtf.printerImage({
name: "test-image",
path: "/static/logo.png"
} as PrintPara)
},
printPdf() {
xtf.printerPdf({
name: "test-pdf",
path: "/static/a.pdf"
} as PrintPara)
}
}
}
</script>
常见问题
1. 出现 Can print only from an activity
这是 Android 系统打印要求必须从页面 Activity 发起。请使用插件最新版本,并在页面点击事件中调用打印方法,不要在应用未完成页面绑定时提前调用。
2. 为什么标准基座下无法正常打印
因为 Android 端依赖原生能力和三方依赖,标准基座下不能完整生效。请改用自定义基座。
3. 为什么编译时提示需要配置 JDK
因为 Android 原生插件编译依赖本地 JDK。请在 HBuilderX 的运行配置中填写正确的 JDK 根目录,注意不要填写到 bin 目录。iOS 端不依赖这个配置。
4. 为什么点了打印没有反应
请依次检查:
- 是否使用 Android 真机
- Android 端是否使用自定义基座
- 是否已配置系统打印服务
- 文件路径是否正确
- 文件是否真实存在
注意事项
- 推荐在用户点击按钮后再调用打印。
- PDF 打印请确保传入的是本地可读文件路径。
- 图片打印请确保图片文件可正常解码。
- iOS 端当前已支持
name、orientation,其余部分 Android 参数暂不保证完全对齐。 - 如果是插件市场购买版,使用前请先在自己的设备和业务场景中完整测试。
更新说明
1.0.2:新增 iOS 图片与 PDF 打印支持,并完善文档说明
开发参考
- UTS 语法:https://uniapp.dcloud.net.cn/tutorial/syntax-uts.html
- UTS 插件开发:https://uniapp.dcloud.net.cn/plugin/uts-plugin.html
- UTS 组件开发:https://uniapp.dcloud.net.cn/plugin/uts-component.html

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 11712
赞赏 74
下载 12287776
赞赏 1922
赞赏
京公网安备:11010802035340号