更新记录

0.0.2(2026-04-27)

功能优化


平台兼容性

uni-app(4.87)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(5.0)

Chrome Safari Android iOS 鸿蒙 微信小程序
-

lime-print

支持Android、iOS、Harmony平台的UTS打印插件

安装方法

  1. 在uni-app插件市场中搜索并导入lime-print
  2. 导入后在页面引入相关方法
  3. 需要自定义基座才能使用

自定义基座准备(Android/iOS)

重要:在Android和iOS平台上使用本插件时,需要特别注意以下事项

自定义基座前的准备工作

  • 必须先在页面中引入相关函数:在生成自定义基座之前,确保至少在一个页面中引入并使用插件的相关函数
  • 避免被树摇掉:如果没有在代码中实际引用插件函数,构建工具可能会将其视为未使用的代码而在构建过程中"树摇"掉,导致自定义基座中缺少必要的插件功能

示例

// 在页面中至少添加以下引用代码
import { print } from '@/uni_modules/lime-print'

功能特性

  • 图片打印(支持多图分页布局)
  • PDF打印
  • HTML内容打印
  • 网页URL打印
  • 统一的API接口
  • 完整的错误处理

代码演示

uni-app 示例

uni-app 不强制使用类型断言,会自动推断类型。

import { print } from '@/uni_modules/lime-print'

print({
  type: 'image',
  content: '/static/test.jpg',
  name: 'My Photo',
  success: () => {
    console.log('打印成功')
  },
  fail: (err) => {
    console.log('打印失败', err.errCode, err.errMsg)
  }
})

uni-app-x 示例

uni-app-x 需要显式类型断言

import { print, type PrintOptions } from '@/uni_modules/lime-print'

print({
  type: 'image',
  content: '/static/test.jpg',
  name: 'My Photo',
  success: () => {
    console.log('打印成功')
  },
  fail: (err) => {
    console.log('打印失败', err.errCode, err.errMsg)
  }
} as PrintOptions)

更多示例

打印多图(带布局)

print({
  type: 'images',
  content: [
    '/static/image1.jpg',
    '/static/image2.jpg',
    '/static/image3.jpg',
    '/static/image4.jpg'
  ],
  name: '多图打印',
  orientation: 'portrait',
  layoutItemsPerRow: 2,    // 每行显示2张图片
  layoutRows: 2,           // 每页显示2行(共4张图片,分2页打印)
  layoutSpacing: 5,        // 图片间距5mm
  success: () => {
    console.log('打印成功')
  },
  fail: (err) => {
    console.log('打印失败', err.errCode, err.errMsg)
  }
} as PrintOptions)

打印PDF

print({
  type: 'pdf',
  content: '/static/document.pdf',
  name: 'My Document',
  orientation: 'landscape'
} as PrintOptions)

打印HTML

print({
  type: 'html',
  content: '<h1>Hello World</h1><p>This is a test</p>',
  name: 'HTML Content'
} as PrintOptions)

打印网页

print({
  type: 'url',
  content: 'https://example.com',
  name: 'Example Page'
} as PrintOptions)

API文档

PrintOptions 参数说明

参数 类型 必填 说明
type 'image' | 'images' | 'pdf' | 'html' | 'url' 打印内容类型
content string | string[] 打印内容(文件路径/HTML字符串/URL/图片路径数组)
name string 打印任务名称
orientation 'portrait' | 'landscape' 打印方向,默认值'portrait'
scale 'auto' | 'fill' | 'fit' | 'center' 图片缩放模式,默认值'auto'
rotation number 图片旋转角度(0/90/180/270),默认值0
layoutItemsPerRow number 每行显示的图片数量(仅多图打印有效)
layoutSpacing number 图片间距,单位mm
layoutMaxWidth number 图片最大宽度,单位mm
layoutMaxHeight number 图片最大高度,单位mm
layoutRows number 每页显示的行数(仅多图打印有效)
timeout number 超时时间,单位毫秒,默认值1000
success () => void 成功回调
fail (error: PrintError) => void 失败回调
complete () => void 完成回调

PrintError 属性说明

属性 类型 说明
errCode number 错误码
errMsg string 错误信息

错误码说明

错误码 说明
9010001 无效的打印内容类型
9010002 文件不存在
9010003 无法读取文件
9010004 打印服务不可用
9010005 打印操作失败

平台特别说明

Harmony平台

重要:Harmony平台有以下功能限制,请知悉

功能支持情况 功能 Android iOS Harmony
图片打印
多图打印 ⚠️
PDF打印
HTML打印
URL打印

Harmony平台特殊说明

  • 多图打印:Harmony系统的打印服务不支持多图拼接,每张图片会作为独立打印任务处理,效果与单图打印相同
  • 布局参数:Harmony平台忽略 layoutItemsPerRowlayoutSpacinglayoutRows 等布局参数
  • HTML/URL打印:Harmony平台通过WebView实现HTML和URL打印,支持基本的网页内容打印

图片格式支持

Android 平台

  • 支持的图片格式:JPG、PNG、BMP、WebP、GIF
  • 说明:基于Android系统的BitmapFactory类,支持系统原生支持的所有图片格式
  • 参考Android官方文档 - BitmapFactory

iOS 平台

  • 支持的图片格式:JPG、JPEG、PNG、BMP、GIF、WebP、HEIC、TIFF 等
  • 说明:基于iOS的UIImage类,系统原生支持常见图片格式,加载后均可打印
  • 参考Apple官方文档 - UIImage

Harmony 平台

  • 支持的图片格式:JPG、JPEG、PNG、BMP、GIF、WebP、JFIF
  • 支持的文档格式:PDF、DOC、DOCX、XLS、XLSX、PPT、PPTX、TXT、RTF 等
  • 说明:基于HarmonyOS的print模块,支持系统原生支持的文件格式
  • 参考HarmonyOS官方文档 - print模块

推荐使用的格式

  • JPG:适合照片和复杂图像,文件体积小
  • PNG:适合需要透明背景的图像
  • WebP:现代格式,提供更好的压缩率(Android 4.0+ 和 iOS 14+ 支持)

注意事项

  1. Android、iOS、Harmony平台均支持全部打印功能(图片、多图、PDF、HTML、URL)
  2. Harmony平台多图打印无拼接功能,每张图片独立打印
  3. Harmony平台忽略布局参数(layoutItemsPerRow、layoutSpacing、layoutRows)
  4. 打印前请确保文件路径正确
  5. HTML打印需要注意样式兼容性
  6. 图片缩放模式说明:
    • auto:自动选择最佳缩放方式
    • fill:拉伸填满(可能变形)
    • fit:保持比例缩放(完整显示)
    • center:居中裁剪(只显示中间部分)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。