harmony 鸿蒙@ohos.print (打印)

2023-10-30 浏览 (725)

@ohos.print (打印)

该模块为基本打印的操作API,提供调用基础打印功能的接口。

说明:
本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import print from '@ohos.print';

PrintTask

打印任务完成后的事件监听回调接口类

on

on(type: 'block', callback: Callback<void>): void

注册打印完成后的监听,使用callback回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
typestring注册监听,
监听字段:block,
表示打印阻塞
callbackCallback<void>打印完成后处于响应状态的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let file = ['file://data/print/a.png', 'file://data/print/b.png'];
print.print(file).then((printTask: print.PrintTask) => {
    printTask.on('block', () => {
        console.log('print state is block');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

on

on(type: 'succeed', callback: Callback<void>): void

注册打印完成后的监听,使用callback回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
typestring注册监听,
监听字段:succeed,
表示打印成功
callbackCallback<void>打印完成后处于响应状态的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let file = ['file://data/print/a.png', 'file://data/print/b.png'];
print.print(file).then((printTask: print.PrintTask) => {
    printTask.on('succeed', () => {
        console.log('print state is succeed');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

on

on(type: 'fail', callback: Callback<void>): void

注册打印完成后的监听,使用callback回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
typestring注册监听,
监听字段:fail,
表示打印失败
callbackCallback<void>打印完成后处于响应状态的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let file = ['file://data/print/a.png', 'file://data/print/b.png'];
print.print(file).then((printTask: print.PrintTask) => {
    printTask.on('fail', () => {
        console.log('print state is fail');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

on

on(type: 'cancel', callback: Callback<void>): void

注册打印完成后的监听,使用callback回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
typestring注册监听,
监听字段:cancel,
表示打印取消
callbackCallback<void>打印完成后处于响应状态的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let file = ['file://data/print/a.png', 'file://data/print/b.png'];
print.print(file).then((printTask: print.PrintTask) => {
    printTask.on('cancel', () => {
        console.log('print state is cancel');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

off

off(type: 'block', callback?: Callback<void>): void

取消打印完成后的监听,使用callback回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
typestring取消监听,
监听字段:block,
表示打印阻塞
callbackCallback<void>取消相应状态监听成功后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let file = ['file://data/print/a.png', 'file://data/print/b.png'];
print.print(file).then((printTask: print.PrintTask) => {
    printTask.off('block', () => {
        console.log('unregister state block');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

off

off(type: 'succeed', callback?: Callback<void>): void

取消打印完成后的监听,使用callback回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
typestring取消监听,
监听字段:succeed,
表示打印成功
callbackCallback<void>取消相应状态监听成功后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let file = ['file://data/print/a.png', 'file://data/print/b.png'];
print.print(file).then((printTask: print.PrintTask) => {
    printTask.off('succeed', () => {
        console.log('unregister state succeed');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

off

off(type: 'fail', callback?: Callback<void>): void

取消打印完成后的监听,使用callback回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
typestring取消监听,
监听字段:fail,
表示打印失败
callbackCallback<void>取消相应状态监听成功后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let file = ['file://data/print/a.png', 'file://data/print/b.png'];
print.print(file).then((printTask: print.PrintTask) => {
    printTask.off('fail', () => {
        console.log('unregister state fail');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

off

off(type: 'cancel', callback?: Callback<void>): void

取消打印完成后的监听,使用callback回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
typestring取消监听,
监听字段:cancel,
表示打印取消
callbackCallback<void>取消相应状态监听成功后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let file = ['file://data/print/a.png', 'file://data/print/b.png'];
print.print(file).then((printTask: print.PrintTask) => {
    printTask.off('cancel', () => {
        console.log('unregister state cancel');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

print

print(files: Array<string>, callback: AsyncCallback<PrintTask>): void

打印接口,传入文件进行打印,使用callback异步回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
fileArray<string>待打印文件列表,支持图片(.jpg .png .gif .bmp .webp)
callbackAsyncCallback<PrintTask>异步获取打印完成之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

//传入文件的uri
let file = ['file://data/print/a.png', 'file://data/print/b.png'];
//或者传入id
//let file = ['fd://1', 'fd://2'];
print.print(file, (err: BusinessError, printTask: print.PrintTask) => {
    if (err) {
        console.log('print err ' + JSON.stringify(err));
    } else {
        printTask.on('succeed', () => {
            console.log('print state is succeed');
        })
        // ...
    }
})

print

print(files: Array<string>): Promise<PrintTask>

打印接口,传入文件进行打印,使用Promise异步回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
fileArray<string>待打印文件列表,支持图片(.jpg .png .gif .bmp .webp)

返回值:

类型说明
Promise<PrintTask>打印完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

//传入文件的uri
let file = ['file://data/print/a.png', 'file://data/print/b.png'];
//或者传入id
//let file = ['fd://1', 'fd://2'];
print.print(file).then((printTask: print.PrintTask) => {
    printTask.on('succeed', () => {
        console.log('print state is succeed');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

PrintMargin

定义打印页边距的接口

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称类型必填说明
topnumber表示页面上边距
bottomnumber表示页面下边距
leftnumber表示页面左边距
rightnumber表示页面右边距

PrinterRange

定义打印范围的接口

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称类型必填说明
startPagenumber表示起始页
endPagenumber表示结束页
pagesArray<number>表示离散页面

PreviewAttribute

定义打印预览属性的接口

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称类型必填说明
previewRangePrinterRange表示预览页面范围
resultnumber表示预览文件结果

PrintResolution

定义打印分辨率的接口

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称类型必填说明
idstring表示分辨率ID
horizontalDpinumber表示水平DPI
verticalDpinumber表示垂直DPI

PrintPageSize

定义打印页面尺寸的接口

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称类型必填说明
idstring表示页面尺寸ID
namestring表示页面尺寸名称
widthnumber表示页面宽度,单位:毫米
heightnumber表示页面高度,单位:毫米

PrinterCapability

定义打印能力的接口

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称类型必填说明
colorModenumber表示色彩模式
duplexModenumber表示单双面打印模式
pageSizeArray<PrintPageSize>表示打印机支持的页面尺寸列表
resolutionArray<PrintResolution>表示打印机支持的分辨率列表
minMarginPrintMargin表示打印机最小边距

PrinterInfo

定义打印信息的接口

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称类型必填说明
printerIdstring表示打印机ID
printerNamestring表示打印机名称
printerStatePrinterState表示当前打印机状态
printerIconnumber表示打印机图标的资源ID
descriptionstring表示打印机说明
capabilityPrinterCapability表示打印机功能
optionsObject表示JSON对象字符串

PrintJob

定义打印任务的接口

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称类型必填说明
fdListArray<number>表示待打印文件fd列表
jobIdstring表示打印任务ID
printerIdstring表示负责打印的打印机ID
jobStatePrintJobState表示当前打印任务状态
copyNumbernumber表示文件列表副本
pageRangePrinterRange表示打印范围大小
isSequentialboolean表示连续打印
pageSizePrintPageSize表示选定的页面尺寸
isLandscapeboolean表示垂直打印
colorModenumber表示色彩模式
duplexModenumber表示单双面打印模式
marginPrintMargin表示当前页边距设置
previewPreviewAttribute表示预览设置
optionsObject表示JSON对象字符串

PrinterState

打印机状态的枚举

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

名称说明
PRINTER_ADDED0表示新打印机到达
PRINTER_REMOVED1表示打印机丢失
PRINTER_CAPABILITY_UPDATED2表示打印机更新
PRINTER_CONNECTED3表示打印机已连接
PRINTER_DISCONNECTED4表示打印机已断开连接
PRINTER_RUNNING5表示打印机正在运行

PrintJobState

打印任务状态的枚举

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

名称说明
PRINT_JOB_PREPARE0表示打印任务的初始状态
PRINT_JOB_QUEUED1表示打印任务传送到打印机
PRINT_JOB_RUNNING2表示执行打印任务
PRINT_JOB_BLOCKED3表示打印任务已被阻止
PRINT_JOB_COMPLETED4表示打印任务完成

PrintJobSubState

打印任务子状态的枚举

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

名称说明
PRINT_JOB_COMPLETED_SUCCESS0表示打印任务成功
PRINT_JOB_COMPLETED_FAILED1表示打印任务失败
PRINT_JOB_COMPLETED_CANCELLED2表示打印任务已取消
PRINT_JOB_COMPLETED_FILE_CORRUPTED3表示打印任务已损坏
PRINT_JOB_BLOCK_OFFLINE4表示打印处于离线状态
PRINT_JOB_BLOCK_BUSY5表示打印被其他进程占用
PRINT_JOB_BLOCK_CANCELLED6表示打印任务已取消
PRINT_JOB_BLOCK_OUT_OF_PAPER7表示打印纸张用完
PRINT_JOB_BLOCK_OUT_OF_INK8表示打印墨水用完
PRINT_JOB_BLOCK_OUT_OF_TONER9表示打印墨粉用完
PRINT_JOB_BLOCK_JAMMED10表示打印卡纸
PRINT_JOB_BLOCK_DOOR_OPEN11表示打印盖开启
PRINT_JOB_BLOCK_SERVICE_REQUEST12表示打印服务请求
PRINT_JOB_BLOCK_LOW_ON_INK13表示打印墨水不足
PRINT_JOB_BLOCK_LOW_ON_TONER14表示打印墨粉不足
PRINT_JOB_BLOCK_REALLY_LOW_ON_INK15表示打印墨水量非常低
PRINT_JOB_BLOCK_BAD_CERTIFICATE16表示打印证书有误
PRINT_JOB_BLOCK_UNKNOWN99表示打印未知问题

PrintErrorCode

打印错误代码的枚举

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

名称说明
E_PRINT_NONE0表示没有错误
E_PRINT_NO_PERMISSION201表示没有许可
E_PRINT_INVALID_PARAMETER401表示无效的参数
E_PRINT_GENERIC_FAILURE13100001表示一般打印失败
E_PRINT_RPC_FAILURE13100002表示RPC失败
E_PRINT_SERVER_FAILURE13100003表示打印服务失败
E_PRINT_INVALID_EXTENSION13100004表示打印扩展无效
E_PRINT_INVALID_PRINTER13100005表示打印机无效
E_PRINT_INVALID_PRINT_JOB13100006表示打印任务无效
E_PRINT_FILE_IO13100007表示文件输入/输出错误

PrinterExtensionInfo

定义打印扩展信息的接口

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称类型必填说明
extensionIdstring表示打印机扩展的扩展ID
vendorIdstring表示扩展的供应商ID
vendorNamestring表示供应商名称
vendorIconnumber表示供应商图标
versionstring表示当前打印机扩展的版本

queryAllPrinterExtensionInfos

queryAllPrinterExtensionInfos(callback: AsyncCallback<Array<PrinterExtensionInfo>>): void

查询所有已安装的打印机扩展服务,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
callbackAsyncCallback<Array<PrinterExtensionInfo>>异步查询所有已安装的打印机扩展服务之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

print.queryAllPrinterExtensionInfos((err: BusinessError, extensionInfos: print.PrinterExtensionInfo[]) => {
    if (err) {
        console.log('queryAllPrinterExtensionInfos err ' + JSON.stringify(err));
    } else {
        console.log('queryAllPrinterExtensionInfos success ' + JSON.stringify(extensionInfos));
    }
})

queryAllPrinterExtensionInfos

queryAllPrinterExtensionInfos(): Promise<Array<PrinterExtensionInfo>>

查询所有已安装的打印机扩展服务,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

返回值:

类型说明
Promise<Array<PrinterExtensionInfo>>查询所有已安装的打印机扩展服务完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

print.queryAllPrinterExtensionInfos().then((extensionInfos: print.PrinterExtensionInfo[]) => {
    console.log('queryAllPrinterExtensionInfos success ' + JSON.stringify(extensionInfos));
    // ...
}).catch((error: BusinessError) => {
    console.log('failed to get AllPrinterExtension bacause ' + JSON.stringify(error));
})

startDiscoverPrinter

startDiscoverPrinter(extensionList: Array<string>, callback: AsyncCallback<void>): void

加载特定的打印机扩展并开始发现打印机,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
extensionListArray<string>要加载的打印机扩展列表
callbackAsyncCallback<void>异步开始发现打印机之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let extensionList: string[] = [];
//extensionList内无信息表示发现所有扩展
print.startDiscoverPrinter(extensionList, (err: BusinessError, data : void) => {
    if (err) {
        console.log('failed to start Discover Printer because : ' + JSON.stringify(err));
    } else {
        console.log('start Discover Printer success data : ' + JSON.stringify(data));
    }
})

startDiscoverPrinter

startDiscoverPrinter(extensionList: Array<string>): Promise<void>

加载特定的打印机扩展并开始发现打印机,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

返回值:

类型说明
Promise<void>加载特定的打印机扩展并开始发现打印机完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let extensionList: string[] = [];
//extensionList内无信息表示发现所有扩展
print.startDiscoverPrinter(extensionList).then((data : void) => {
    console.log('start Discovery success data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('failed to start Discovery because : ' + JSON.stringify(error));
})

stopDiscoverPrinter

stopDiscoverPrinter(callback: AsyncCallback<void>): void

停止发现具有特定打印机扩展的打印机,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
callbackAsyncCallback<void>异步停止发现具有特定打印机扩展的打印机之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

print.stopDiscoverPrinter((err: BusinessError, data : void) => {
    if (err) {
        console.log('failed to stop Discover Printer because : ' + JSON.stringify(err));
    } else {
        console.log('stop Discover Printer success data : ' + JSON.stringify(data));
    }
})

stopDiscoverPrinter

stopDiscoverPrinter(): Promise<void>

停止发现具有特定打印机扩展的打印机,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

返回值:

类型说明
Promise<void>停止发现具有特定打印机扩展的打印机完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

print.stopDiscoverPrinter().then((data : void) => {
    console.log('stop Discovery success data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('failed to stop Discovery because : ' + JSON.stringify(error));
})

connectPrinter

connectPrinter(printerId: string, callback: AsyncCallback<void>): void

连接特定打印机,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdstring打印机ID
callbackAsyncCallback<void>异步连接特定打印机之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId: string = 'printerId_32';
print.connectPrinter(printerId, (err: BusinessError, data : void) => {
    if (err) {
        console.log('failed to connect Printer because : ' + JSON.stringify(err));
    } else {
        console.log('start connect Printer success data : ' + JSON.stringify(data));
    }
})

connectPrinter

connectPrinter(printerId: string): Promise<void>

连接特定打印机,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdstring打印机ID

返回值:

类型说明
Promise<void>连接特定打印机完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId: string = 'printerId_32';
print.connectPrinter(printerId).then((data : void) => {
    console.log('start connect Printer success data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('failed to connect Printer because : ' + JSON.stringify(error));
})

disconnectPrinter

disconnectPrinter(printerId: string, callback: AsyncCallback<void>): void

断开特定打印机的连接,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdstring打印机ID
callbackAsyncCallback<void>异步断开特定打印机的连接之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId: string = 'printerId_32';
print.disconnectPrinter(printerId, (err: BusinessError, data : void) => {
    if (err) {
        console.log('failed to disconnect Printer because : ' + JSON.stringify(err));
    } else {
        console.log('start disconnect Printer success data : ' + JSON.stringify(data));
    }
})

disconnectPrinter

disconnectPrinter(printerId: string): Promise<void>

断开特定打印机的连接,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdstring打印机ID

返回值:

类型说明
Promise<void>断开特定打印机的连接完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId: string = 'printerId_32';
print.disconnectPrinter(printerId).then((data : void) => {
    console.log('start disconnect Printer success data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('failed to disconnect Printer because : ' + JSON.stringify(error));
})

queryPrinterCapability

queryPrinterCapability(printerId: string, callback: AsyncCallback<void>): void

查询打印机能力,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdstring打印机ID
callbackAsyncCallback<void>异步查询打印机能力之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId: string = 'printerId_32';
print.queryPrinterCapability(printerId, (err: BusinessError, data : void) => {
    if (err) {
        console.log('failed to query Printer Capability because : ' + JSON.stringify(err));
    } else {
        console.log('start query Printer Capability success data : ' + JSON.stringify(data));
    }
})

queryPrinterCapability

queryPrinterCapability(printerId: string): Promise<void>

查询打印机能力,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdstring打印机ID

返回值:

类型说明
Promise<void>查询打印机能力完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId: string = 'printerId_32';
print.queryPrinterCapability(printerId).then((data : void) => {
    console.log('start query Printer success data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('failed to query Printer Capability because : ' + JSON.stringify(error));
})

startPrintJob

startPrintJob(jobInfo: PrintJob, callback: AsyncCallback<void>): void

开始打印任务,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
jobInfoPrintJob打印任务信息
callbackAsyncCallback<void>异步开始打印任务之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let jobInfo : print.PrintJob = {
    fdList : [0,1],
    jobId : 'jobId_12',
    printerId : 'printerId_32',
    jobState : 3,
    copyNumber : 1,
    pageRange : {},
    isSequential : false,
    pageSize : {id : '', name : '', width : 10, height : 20},
    isLandscape : false,
    colorMode : 6,
    duplexMode : 6,
    margin : undefined,
    preview : undefined,
    options : undefined
};
print.startPrintJob(jobInfo, (err: BusinessError, data : void) => {
    if (err) {
        console.log('failed to start Print Job because : ' + JSON.stringify(err));
    } else {
        console.log('start Print Job success data : ' + JSON.stringify(data));
    }
})

startPrintJob

startPrintJob(jobInfo: PrintJob): Promise<void>

开始打印任务,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
jobInfoPrintJob打印任务信息

返回值:

类型说明
Promise<void>开始打印任务完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let jobInfo : print.PrintJob = {
    fdList : [0,1],
    jobId : 'jobId_12',
    printerId : 'printerId_32',
    jobState : 3,
    copyNumber : 1,
    pageRange : {},
    isSequential : false,
    pageSize : {id : '', name : '', width : 10, height : 20},
    isLandscape : false,
    colorMode : 6,
    duplexMode : 6,
    margin : undefined,
    preview : undefined,
    options : undefined
};
print.startPrintJob(jobInfo).then((data : void) => {
    console.log('start Print success data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('failed to start Print because : ' + JSON.stringify(error));
})

cancelPrintJob

cancelPrintJob(jobId: string, callback: AsyncCallback<void>): void

取消已发送到打印机的打印任务,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
jobIdstring打印任务ID
callbackAsyncCallback<void>异步取消已发送到打印机的打印任务之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let jobId : string = '121212';
print.cancelPrintJob(jobId, (err: BusinessError, data : void) => {
    if (err) {
        console.log('cancelPrintJob failed, because : ' + JSON.stringify(err));
    } else {
        console.log('cancelPrintJob success, data: ' + JSON.stringify(data));
    }
})

cancelPrintJob

cancelPrintJob(jobId: string): Promise<void>

取消已发送到打印机的打印任务,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
jobIdstring打印任务ID

返回值:

类型说明
Promise<void>取消已发送到打印机的打印任务完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let jobId : string = '121212';
print.cancelPrintJob(jobId).then((data : void) => {
    console.log('cancelPrintJob success, data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('cancelPrintJob failed, because : ' + JSON.stringify(error));
})

requestPrintPreview

requestPrintPreview(jobInfo: PrintJob, callback: Callback<number>): void

请求预览打印数据,使用callback回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
jobInfoPrintJob打印任务信息
callbackCallback<number>请求预览打印数据之后的回调

示例:

import print from '@ohos.print';

let jobInfo : print.PrintJob = {
    fdList : [0,1],
    jobId : 'jobId_12',
    printerId : 'printerId_32',
    jobState : 3,
    copyNumber : 1,
    pageRange : {},
    isSequential : false,
    pageSize : {id : '', name : '', width : 10, height : 20},
    isLandscape : false,
    colorMode : 6,
    duplexMode : 6,
    margin : undefined,
    preview : undefined,
    options : undefined
};
print.requestPrintPreview(jobInfo, (num : number) => {
    console.log('requestPrintPreview success, num : ' + JSON.stringify(num));

})

requestPrintPreview

requestPrintPreview(jobInfo: PrintJob): Promise<number>

请求预览打印数据,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
jobInfoPrintJob打印任务信息

返回值:

类型说明
Promise<number>请求预览打印数据完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let jobInfo : print.PrintJob = {
    fdList : [0,1],
    jobId : 'jobId_12',
    printerId : 'printerId_32',
    jobState : 3,
    copyNumber : 1,
    pageRange : {},
    isSequential : false,
    pageSize : {id : '', name : '', width : 10, height : 20},
    isLandscape : false,
    colorMode : 6,
    duplexMode : 6,
    margin : undefined,
    preview : undefined,
    options : undefined
};
print.requestPrintPreview(jobInfo).then((num: number) => {
    console.log('requestPrintPreview success, num : ' + JSON.stringify(num));
}).catch((error: BusinessError) => {
    console.log('requestPrintPreview failed, because : ' + JSON.stringify(error));
})

on

on(type: 'printerStateChange', callback: (state: PrinterState, info: PrinterInfo) => void): void

注册打印机状态变化事件回调,使用callback回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
type'printerStateChange'表示打印机状态改变
callback(state: PrinterState, info: PrinterInfo) => void打印机状态改变之后的回调

示例:

import print from '@ohos.print';

print.on('printerStateChange', (state: print.PrinterState, info: print.PrinterInfo) => {
    if (state === null||info === null) {
        console.log('printer state changed state is null or info is null');
        return;
    } else {
        console.log('on printer state changed, state : ' + JSON.stringify(state));
        console.log('on printer state changed, info : ' + JSON.stringify(info));
    }
})

off

off(type: 'printerStateChange', callback?: Callback<boolean>): void

取消注册打印机状态变化事件回调,使用callback回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
type'printerStateChange'表示打印机状态改变
callbackCallback<boolean>打印机状态改变之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

print.off('printerStateChange', (err: BusinessError, data: boolean) => {
    if (err) {
        console.log('off printerStateChange failed, because : ' + JSON.stringify(err));
    } else {
        console.log('off printerStateChange data : ' + JSON.stringify(data));
    }
})

on

on(type: 'jobStateChange', callback: (state: PrintJobState, job: PrintJob) => void): void

注册打印任务状态变化事件回调,使用callback回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
type'jobStateChange'表示打印任务状态改变
callback(state: PrintJobState, job: PrintJob) => void打印任务状态改变之后的回调

示例:

import print from '@ohos.print';

print.on('jobStateChange', (state: print.PrintJobState, job: print.PrintJob) => {
    console.log('onJobStateChange, state : ' + JSON.stringify(state) + ', job : ' + JSON.stringify(job));
})

off

off(type: 'jobStateChange', callback?: Callback<boolean>): void

取消注册打印任务状态变化事件回调,使用callback回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
type'jobStateChange'表示打印任务状态改变
callbackCallback<boolean>打印任务状态改变之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

print.off('jobStateChange', (err: BusinessError, data: boolean) => {
    if (err) {
        console.log('offJobStateChanged failed, because : ' + JSON.stringify(err));
    } else {
        console.log('offJobStateChanged data : ' + JSON.stringify(data));
    }
})

on

on(type: 'extInfoChange', callback: (extensionId: string, info: string) => void): void

注册打印扩展信息变化事件回调,使用callback回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
type'extInfoChange'表示打印扩展信息改变
callback(extensionId: string, info: string) => void打印扩展信息改变之后的回调

示例:

import print from '@ohos.print';

print.on('extInfoChange', (extensionId: string, info: string) => {
    console.log('onExtInfoChange, entensionId : ' + JSON.stringify(extensionId) + ', info : ' + JSON.stringify(info));
})

off

off(type: 'extInfoChange', callback?: Callback<boolean>): void

取消注册打印扩展信息变化事件回调,使用callback回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
type'extInfoChange'表示打印扩展信息改变
callbackCallback<boolean>打印任务扩展信息改变之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

print.off('extInfoChange', (err: BusinessError, data: boolean) => {
    if (err) {
        console.log('offExtInfoChange failed, because : ' + JSON.stringify(err));
    } else {
        console.log('offExtInfoChange data : ' + JSON.stringify(data));
    }
})

addPrinters

addPrinters(printers: Array<PrinterInfo>, callback: AsyncCallback<void>): void

添加打印机,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printersArray<PrinterInfo>表示新到达的打印机列表
callbackAsyncCallback<void>异步添加打印机之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerInfo : print.PrinterInfo = {
    printerId : '3232',
    printerName : 'hhhhh',
    printerState : 0,
    printerIcon : 12,
    description : 'str',
    capability : undefined,
    options : 'opt'
};
print.addPrinters([printerInfo], (err: BusinessError, data : void) => {
    if (err) {
        console.log('addPrinters failed, because : ' + JSON.stringify(err));
    } else {
        console.log('addPrinters success, data : ' + JSON.stringify(data));
    }
})

addPrinters

addPrinters(printers: Array<PrinterInfo>): Promise<void>

添加打印机,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printersArray<PrinterInfo>表示新到达的打印机列表

返回值:

类型说明
Promise<void>添加打印机完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerInfo : print.PrinterInfo = {
    printerId : '3232',
    printerName : 'hhhhh',
    printerState : 0,
    printerIcon : 12,
    description : 'str',
    capability : undefined,
    options : 'opt'
};
print.addPrinters([printerInfo]).then((data : void) => {
    console.log('add printers data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('add printers error : ' + JSON.stringify(error));
})

removePrinters

removePrinters(printerIds: Array<string>, callback: AsyncCallback<void>): void

移除打印机,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdsArray<string>表示需移除的打印机列表
callbackAsyncCallback<void>异步移除打印机之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId : string = '1212';
print.removePrinters([printerId], (err: BusinessError, data : void) => {
    if (err) {
        console.log('removePrinters failed, because : ' + JSON.stringify(err));
    } else {
        console.log('removePrinters success, data : ' + JSON.stringify(data));
    }
})

removePrinters

removePrinters(printerIds: Array<string>): Promise<void>

移除打印机,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdsArray<string>表示需移除的打印机列表

返回值:

类型说明
Promise<void>移除打印机完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId : string = '1212';
print.removePrinters([printerId]).then((data : void) => {
    console.log('remove printers data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('remove printers error : ' + JSON.stringify(error));
})

updatePrinters

updatePrinters(printers: Array<PrinterInfo>, callback: AsyncCallback<void>): void

更新特定打印机的信息,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printersArray<PrinterInfo>表示待更新的打印机列表
callbackAsyncCallback<void>异步更新打印机信息之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerInfo : print.PrinterInfo = {
    printerId : '3232',
    printerName : 'hhhhh',
    printerState : 0,
    printerIcon : 12,
    description : 'str',
    capability : undefined,
    options : 'opt'
};
print.updatePrinters([printerInfo], (err: BusinessError, data : void) => {
    if (err) {
        console.log('updataPrinters failed, because : ' + JSON.stringify(err));
    } else {
        console.log('updataPrinters success, data : ' + JSON.stringify(data));
    }
})

updatePrinters

updatePrinters(printers: Array<PrinterInfo>): Promise<void>

更新特定打印机的信息,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printersArray<PrinterInfo>表示待更新的打印机列表

返回值:

类型说明
Promise<void>更新打印机完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerInfo : print.PrinterInfo = {
    printerId : '3232',
    printerName : 'hhhhh',
    printerState : 0,
    printerIcon : 12,
    description : 'str',
    capability : undefined,
    options : 'opt'
};
print.updatePrinters([printerInfo]).then((data : void) => {
    console.log('update printers data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('update printers error : ' + JSON.stringify(error));
})

updatePrinterState

updatePrinterState(printerId: string, state: PrinterState, callback: AsyncCallback<void>): void

更新打印机状态,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdstring表示打印机ID
statePrinterState表示打印机状态
callbackAsyncCallback<void>异步更新打印机状态之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId : string = '1212';
let state : print.PrinterState = print.PrinterState.PRINTER_CONNECTED;
print.updatePrinterState(printerId, state, (err: BusinessError, data : void) => {
    if (err) {
        console.log('updataPrinterState failed, because : ' + JSON.stringify(err));
    } else {
        console.log('updataPrinterState success, data : ' + JSON.stringify(data));
    }
})

updatePrinterState

updatePrinterState(printerId: string, state: PrinterState): Promise<void>

更新打印机状态,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
printerIdstring表示打印机ID
statePrinterState表示打印机状态

返回值:

类型说明
Promise<void>更新打印机状态完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let printerId : string = '1212';
let state : print.PrinterState = print.PrinterState.PRINTER_CONNECTED;
print.updatePrinterState(printerId, state).then((data : void) => {
    console.log('update printer state data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('update printer state error : ' + JSON.stringify(error));
})

updatePrintJobState

updatePrintJobState(jobId: string, state: PrintJobState, subState: PrintJobSubState, callback: AsyncCallback<void>): void

更新打印任务状态,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
jobIdstring表示打印任务ID
statePrintJobState表示打印任务状态
subStatePrintJobSubState表示打印任务子状态
callbackAsyncCallback<void>异步更新打印任务状态之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let jobId : string = '3434';
let state : print.PrintJobState = print.PrintJobState.PRINT_JOB_PREPARE;
let subState : print.PrintJobSubState = print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS;
print.updatePrintJobState(jobId, state, subState, (err: BusinessError, data : void) => {
    if (err) {
        console.log('updataPrintJobState failed, because : ' + JSON.stringify(err));
    } else {
        console.log('updatePrintJobState success, data : ' + JSON.stringify(data));
    }
})

updatePrintJobState

updatePrintJobState(jobId: string, state: PrintJobState, subState: PrintJobSubState): Promise<void>

更新打印任务状态,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
jobIdstring表示打印任务ID
statePrintJobState表示打印任务状态
subStatePrintJobSubState表示打印任务子状态

返回值:

类型说明
Promise<void>更新打印任务状态完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let jobId : string = '3434';
let state : print.PrintJobState = print.PrintJobState.PRINT_JOB_PREPARE;
let subState : print.PrintJobSubState = print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS;
print.updatePrintJobState(jobId, state, subState).then((data : void) => {
    console.log('update print job state data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('update print job state error : ' + JSON.stringify(error));
})

updateExtensionInfo

updateExtensionInfo(info: string, callback: AsyncCallback<void>): void

更新打印扩展状态,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
infostring表示打印扩展变更信息
callbackAsyncCallback<void>异步更新打印扩展状态之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let info : string = 'WIFI_INACTIVE';
print.updateExtensionInfo(info, (err: BusinessError, data : void) => {
    if (err) {
        console.log('updateExtensionInfo failed, because : ' + JSON.stringify(err));
    } else {
        console.log('updateExtensionInfo success, data : ' + JSON.stringify(data));
    }
})

updateExtensionInfo

updateExtensionInfo(info: string): Promise<void>

更新打印扩展状态,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
infostring表示打印扩展变更信息

返回值:

类型说明
Promise<void>更新打印扩展状态完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

let info : string = 'WIFI_INACTIVE';
print.updateExtensionInfo(info).then((data : void) => {
    console.log('update print job state data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('update print job state error : ' + JSON.stringify(error));
})

queryAllPrintJobs

queryAllPrintJobs(callback: AsyncCallback<void>): void

查询所有打印任务,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名类型必填说明
callbackAsyncCallback<void>异步查询所有打印任务之后的回调

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

print.queryAllPrintJobs((err: BusinessError, data : void) => {
    if (err) {
        console.log('queryAllPrintJobs failed, because : ' + JSON.stringify(err));
    } else {
        console.log('queryAllPrintJobs success, data : ' + JSON.stringify(data));
    }
})

queryAllPrintJobs

queryAllPrintJobs(): Promise<void>

查询所有打印任务,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Print.PrintFramework

返回值:

类型说明
Promise<void>查询所有打印任务完成结果

示例:

import print from '@ohos.print';
import { BusinessError } from '@ohos.base';

print.queryAllPrintJobs().then((data : void) => {
    console.log('update print job state data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('update print job state error : ' + JSON.stringify(error));
})

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/f26ead5027f84d039f679aa6d946ff51