@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

参数:

参数名 类型 必填 说明
type string 注册监听,
监听字段:block,
表示打印阻塞
callback Callback<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

参数:

参数名 类型 必填 说明
type string 注册监听,
监听字段:succeed,
表示打印成功
callback Callback<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

参数:

参数名 类型 必填 说明
type string 注册监听,
监听字段:fail,
表示打印失败
callback Callback<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

参数:

参数名 类型 必填 说明
type string 注册监听,
监听字段:cancel,
表示打印取消
callback Callback<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

参数:

参数名 类型 必填 说明
type string 取消监听,
监听字段:block,
表示打印阻塞
callback Callback<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

参数:

参数名 类型 必填 说明
type string 取消监听,
监听字段:succeed,
表示打印成功
callback Callback<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

参数:

参数名 类型 必填 说明
type string 取消监听,
监听字段:fail,
表示打印失败
callback Callback<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

参数:

参数名 类型 必填 说明
type string 取消监听,
监听字段:cancel,
表示打印取消
callback Callback<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));
})

PrintDocumentAdapter11+

第三方应用程序实现此接口来渲染要打印的文件。

onStartLayoutWrite

onStartLayoutWrite(jobId: string, oldAttrs: PrintAttributes, newAttrs: PrintAttributes, fd: number, writeResultCallback: (jobId: string, writeResult: PrintFileCreationState) => void): void

实现这个接口来更新要打印文件,使用writeResultCallback回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
jobId string 表示打印任务ID
oldAttrs PrintAttributes 表示旧打印参数
newAttrs PrintAttributes 表示新打印参数
fd number 表示文件描述符
writeResultCallback (jobId: string, writeResult: PrintFileCreationState) 表示更新要打印的文件完成后的回调

示例:

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

class MyPrintDocumentAdapter implements print.PrintDocumentAdapter {
    onStartLayoutWrite(jobId: string, oldAttrs: print.PrintAttributes, newAttrs: print.PrintAttributes, fd: number,
        writeResultCallback: (jobId: string, writeResult: print.PrintFileCreationState) => void) {
        writeResultCallback(jobId, print.PrintFileCreationState.PRINT_FILE_CREATED);
    };
    onJobStateChanged(jobId: string, state: print.PrintDocumentAdapterState) {
        if (state == print.PrintDocumentAdapterState.PREVIEW_DESTROY) {
            console.log('PREVIEW_DESTROY');
        } else if (state == print.PrintDocumentAdapterState.PRINT_TASK_SUCCEED) {
            console.log('PRINT_TASK_SUCCEED');
        } else if (state == print.PrintDocumentAdapterState.PRINT_TASK_FAIL) {
            console.log('PRINT_TASK_FAIL');
        } else if (state == print.PrintDocumentAdapterState.PRINT_TASK_CANCEL) {
            console.log('PRINT_TASK_CANCEL');
        } else if (state == print.PrintDocumentAdapterState.PRINT_TASK_BLOCK) {
            console.log('PRINT_TASK_BLOCK');
        }
    }
}

onJobStateChanged

onJobStateChanged(jobId: string, state: PrintDocumentAdapterState): void

实现这个接口来监听打印任务状态的改变。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
jobId string 表示打印任务ID
state PrintDocumentAdapterState 表示打印任务更改为该状态

示例:

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

class MyPrintDocumentAdapter implements print.PrintDocumentAdapter {
    onStartLayoutWrite(jobId: string, oldAttrs: print.PrintAttributes, newAttrs: print.PrintAttributes, fd: number,
        writeResultCallback: (jobId: string, writeResult: print.PrintFileCreationState) => void) {
        writeResultCallback(jobId, print.PrintFileCreationState.PRINT_FILE_CREATED);
    };
    onJobStateChanged(jobId: string, state: print.PrintDocumentAdapterState) {
        if (state == print.PrintDocumentAdapterState.PREVIEW_DESTROY) {
            console.log('PREVIEW_DESTROY');
        } else if (state == print.PrintDocumentAdapterState.PRINT_TASK_SUCCEED) {
            console.log('PRINT_TASK_SUCCEED');
        } else if (state == print.PrintDocumentAdapterState.PRINT_TASK_FAIL) {
            console.log('PRINT_TASK_FAIL');
        } else if (state == print.PrintDocumentAdapterState.PRINT_TASK_CANCEL) {
            console.log('PRINT_TASK_CANCEL');
        } else if (state == print.PrintDocumentAdapterState.PRINT_TASK_BLOCK) {
            console.log('PRINT_TASK_BLOCK');
        }
    }
}

print

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

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

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
file Array<string> 待打印文件列表,支持图片(.jpg .png .gif .bmp .webp)
callback AsyncCallback<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(files: Array<string>): Promise<PrintTask>

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

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
file Array<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));
})

print11+

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

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

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
file Array<string> 待打印文件列表,支持图片(.jpg .png .gif .bmp .webp)
context Context 用于启动打印的UIAbilityContext
callback AsyncCallback<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'];
let context = getContext(this);
print.print(file, context, (err: BusinessError, printTask: print.PrintTask) => {
    if (err) {
        console.log('print err ' + JSON.stringify(err));
    } else {
        printTask.on('succeed', () => {
            console.log('print state is succeed');
        })
        // ...
    }
})

print11+

print(files: Array<string>, context: Context): Promise<PrintTask>

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

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
file Array<string> 待打印文件列表,支持图片(.jpg .png .gif .bmp .webp)
context Context 用于启动打印的UIAbilityContext

返回值:

类型 说明
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'];
let context = getContext(this);
print.print(file, context).then((printTask: print.PrintTask) => {
    printTask.on('succeed', () => {
        console.log('print state is succeed');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

print11+

print(jobName: string, printAdapter: PrintDocumentAdapter, printAttributes: PrintAttributes, context: Context): Promise<PrintTask>

打印接口,传入文件进行打印,三方应用需要更新打印文件,使用Promise异步回调。

需要权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
jobName string 表示待打印文件名称
printAdapter PrintDocumentAdapter 表示三方应用实现的功能
printAttributes PrintAttributes 表示打印参数
context Context 用于启动打印的UIAbilityContext

返回值:

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

示例:

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

let jobName : string = "jobName";
let printAdapter : print.PrintDocumentAdapter | null = null;
let printAttributes : print.PrintAttributes = {
    copyNumber: 1,
    pageRange: {
        startPage: 0,
        endPage: 5,
        pages: []
    },
    pageSize: print.PrintPageType.PAGE_ISO_A3,
    directionMode: print.PrintDirectionMode.DIRECTION_MODE_AUTO,
    colorMode: print.PrintColorMode.COLOR_MODE_MONOCHROME,
    duplexMode: print.PrintDuplexMode.DUPLEX_MODE_NONE
}
let context = getContext();

print.print(jobName, printAdapter, printAttributes, context).then((printTask: print.PrintTask) => {
    printTask.on('succeed', () => {
        console.log('print state is succeed');
    })
    // ...
}).catch((error: BusinessError) => {
    console.log('print err ' + JSON.stringify(error));
})

PrintAttributes11+

定义打印参数的接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
copyNumber number 表示文件列表副本
pageRange PrinterRange 表示待打印文件的范围
pageSize PrintPageSize | PrintPageType 表示代打印文件的页面大小
directionMode PrintDirectionMode 表示待打印文件的方向
colorMode PrintColorMode 表示待打印文件的色彩模式
duplexMode PrintDuplexMode 表示待打印文件的单双面模式

PrintMargin

定义打印页边距的接口。

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

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
top number 表示页面上边距
bottom number 表示页面下边距
left number 表示页面左边距
right number 表示页面右边距

PrinterRange11+

定义打印范围的接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
startPage number 表示起始页
endPage number 表示结束页
pages Array<number> 表示离散页面

PreviewAttribute

定义打印预览属性的接口。

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

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
previewRange PrinterRange 表示预览页面范围
result number 表示预览文件结果

PrintResolution

定义打印分辨率的接口。

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

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
id string 表示分辨率ID
horizontalDpi number 表示水平DPI
verticalDpi number 表示垂直DPI

PrintPageSize11+

定义打印页面尺寸的接口。

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
id string 表示页面尺寸ID
name string 表示页面尺寸名称
width number 表示页面宽度,单位:毫米
height number 表示页面高度,单位:毫米

PrinterCapability

定义打印能力的接口。

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

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
colorMode number 表示色彩模式
duplexMode number 表示单双面打印模式
pageSize Array<PrintPageSize> 表示打印机支持的页面尺寸列表
resolution Array<PrintResolution> 表示打印机支持的分辨率列表
minMargin PrintMargin 表示打印机最小边距
options11+ Object 表示JSON对象字符串

PrinterInfo

定义打印信息的接口。

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

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
printerId string 表示打印机ID
printerName string 表示打印机名称
printerState PrinterState 表示当前打印机状态
printerIcon number 表示打印机图标的资源ID
description string 表示打印机说明
capability PrinterCapability 表示打印机功能
options Object 表示JSON对象字符串

PrintJob

定义打印任务的接口。

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

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
fdList Array<number> 表示待打印文件fd列表
jobId string 表示打印任务ID
printerId string 表示负责打印的打印机ID
jobState PrintJobState 表示当前打印任务状态
jobSubstate11+ PrintJobSubState 表示当前打印任务子状态
copyNumber number 表示文件列表副本
pageRange PrinterRange 表示打印范围大小
isSequential boolean 表示连续打印
pageSize PrintPageSize 表示选定的页面尺寸
isLandscape boolean 表示垂直打印
colorMode number 表示色彩模式
duplexMode number 表示单双面打印模式
margin PrintMargin 表示当前页边距设置
preview PreviewAttribute 表示预览设置
options Object 表示JSON对象字符串

PrintDirectionMode11+

打印纸张方向的枚举。

系统能力: SystemCapability.Print.PrintFramework

名称 说明
DIRECTION_MODE_AUTO 0 表示自动选择纸张方向
DIRECTION_MODE_PORTRAIT 1 表示纵向打印
DIRECTION_MODE_LANDSCAPE 2 表示横向打印

PrintColorMode11+

打印色彩模式的枚举。

系统能力: SystemCapability.Print.PrintFramework

名称 说明
COLOR_MODE_MONOCHROME 0 表示黑白打印
COLOR_MODE_COLOR 1 表示彩色打印

PrintDuplexMode11+

打印单双面模式的枚举。

系统能力: SystemCapability.Print.PrintFramework

名称 说明
DUPLEX_MODE_NONE 0 表示单面打印
DUPLEX_MODE_LONG_EDGE 1 表示双面打印长边翻转
DUPLEX_MODE_SHORT_EDGE 2 表示双面打印短边翻转

PrintPageType11+

打印纸张类型的枚举。

系统能力: SystemCapability.Print.PrintFramework

名称 说明
PAGE_ISO_A3 0 表示A3
PAGE_ISO_A4 1 表示A4
PAGE_ISO_A5 2 表示A5
PAGE_JIS_B5 3 表示B5
PAGE_ISO_C5 4 表示C5
PAGE_ISO_DL 5 表示DL
PAGE_LETTER 6 表示Letter
PAGE_LEGAL 7 表示Legal
PAGE_PHOTO_4X6 8 表示4x6相纸
PAGE_PHOTO_5X7 9 表示5x7相纸
PAGE_INT_DL_ENVELOPE 10 表示INT DL ENVELOPE
PAGE_B_TABLOID 11 表示B Tabloid

PrintDocumentAdapterState11+

打印任务状态的枚举。

系统能力: SystemCapability.Print.PrintFramework

名称 说明
PREVIEW_DESTROY 0 表示预览失败
PRINT_TASK_SUCCEED 1 表示打印任务成功
PRINT_TASK_FAIL 2 表示打印任务失败
PRINT_TASK_CANCEL 3 表示打印任务取消
PRINT_TASK_BLOCK 4 表示打印任务阻塞

PrintFileCreationState11+

打印文件创建状态的枚举。

系统能力: SystemCapability.Print.PrintFramework

名称 说明
PRINT_FILE_CREATED 0 表示打印文件创建成功
PRINT_FILE_CREATION_FAILED 1 表示打印文件创建失败
PRINT_FILE_CREATED_UNRENDERED 2 表示打印文件创建成功但未渲染

PrinterState

打印机状态的枚举。

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

系统能力: SystemCapability.Print.PrintFramework

名称 说明
PRINTER_ADDED 0 表示新打印机到达
PRINTER_REMOVED 1 表示打印机丢失
PRINTER_CAPABILITY_UPDATED 2 表示打印机更新
PRINTER_CONNECTED 3 表示打印机已连接
PRINTER_DISCONNECTED 4 表示打印机已断开连接
PRINTER_RUNNING 5 表示打印机正在运行

PrintJobState

打印任务状态的枚举。

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

系统能力: SystemCapability.Print.PrintFramework

名称 说明
PRINT_JOB_PREPARE 0 表示打印任务的初始状态
PRINT_JOB_QUEUED 1 表示打印任务传送到打印机
PRINT_JOB_RUNNING 2 表示执行打印任务
PRINT_JOB_BLOCKED 3 表示打印任务已被阻止
PRINT_JOB_COMPLETED 4 表示打印任务完成

PrintJobSubState

打印任务子状态的枚举。

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

系统能力: SystemCapability.Print.PrintFramework

名称 说明
PRINT_JOB_COMPLETED_SUCCESS 0 表示打印任务成功
PRINT_JOB_COMPLETED_FAILED 1 表示打印任务失败
PRINT_JOB_COMPLETED_CANCELLED 2 表示打印任务已取消
PRINT_JOB_COMPLETED_FILE_CORRUPTED 3 表示打印任务已损坏
PRINT_JOB_BLOCK_OFFLINE 4 表示打印处于离线状态
PRINT_JOB_BLOCK_BUSY 5 表示打印被其他进程占用
PRINT_JOB_BLOCK_CANCELLED 6 表示打印任务已取消
PRINT_JOB_BLOCK_OUT_OF_PAPER 7 表示打印纸张用完
PRINT_JOB_BLOCK_OUT_OF_INK 8 表示打印墨水用完
PRINT_JOB_BLOCK_OUT_OF_TONER 9 表示打印墨粉用完
PRINT_JOB_BLOCK_JAMMED 10 表示打印卡纸
PRINT_JOB_BLOCK_DOOR_OPEN 11 表示打印盖开启
PRINT_JOB_BLOCK_SERVICE_REQUEST 12 表示打印服务请求
PRINT_JOB_BLOCK_LOW_ON_INK 13 表示打印墨水不足
PRINT_JOB_BLOCK_LOW_ON_TONER 14 表示打印墨粉不足
PRINT_JOB_BLOCK_REALLY_LOW_ON_INK 15 表示打印墨水量非常低
PRINT_JOB_BLOCK_BAD_CERTIFICATE 16 表示打印证书有误
PRINT_JOB_BLOCK_ACCOUNT_ERROR11+ 18 表示打印账户时出错
PRINT_JOB_BLOCK_PRINT_PERMISSION_ERROR11+ 19 表示打印许可异常
PRINT_JOB_BLOCK_PRINT_COLOR_PERMISSION_ERROR11+ 20 表示彩色打印权限异常
PRINT_JOB_BLOCK_NETWORK_ERROR11+ 21 表示设备未连接到网络
PRINT_JOB_BLOCK_SERVER_CONNECTION_ERROR11+ 22 表示无法连接服务器
PRINT_JOB_BLOCK_LARGE_FILE_ERROR11+ 23 表示打印大文件异常
PRINT_JOB_BLOCK_FILE_PARSING_ERROR11+ 24 表示文件分析异常
PRINT_JOB_BLOCK_SLOW_FILE_CONVERSION11+ 25 表示文件转换太慢
PRINT_JOB_RUNNING_UPLOADING_FILES11+ 26 表示正在上传文件
PRINT_JOB_RUNNING_CONVERTING_FILES11+ 27 表示正在转换文件
PRINT_JOB_BLOCK_UNKNOWN 99 表示打印未知问题

PrintErrorCode

打印错误代码的枚举。

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

系统能力: SystemCapability.Print.PrintFramework

名称 说明
E_PRINT_NONE 0 表示没有错误
E_PRINT_NO_PERMISSION 201 表示没有许可
E_PRINT_INVALID_PARAMETER 401 表示无效的参数
E_PRINT_GENERIC_FAILURE 13100001 表示一般打印失败
E_PRINT_RPC_FAILURE 13100002 表示RPC失败
E_PRINT_SERVER_FAILURE 13100003 表示打印服务失败
E_PRINT_INVALID_EXTENSION 13100004 表示打印扩展无效
E_PRINT_INVALID_PRINTER 13100005 表示打印机无效
E_PRINT_INVALID_PRINT_JOB 13100006 表示打印任务无效
E_PRINT_FILE_IO 13100007 表示文件输入/输出错误

PrinterExtensionInfo

定义打印扩展信息的接口。

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

系统能力: SystemCapability.Print.PrintFramework

属性:

名称 类型 必填 说明
extensionId string 表示打印机扩展的扩展ID
vendorId string 表示扩展的供应商ID
vendorName string 表示供应商名称
vendorIcon number 表示供应商图标
version string 表示当前打印机扩展的版本

queryAllPrinterExtensionInfos

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

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

需要权限: ohos.permission.MANAGE_PRINT_JOB

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

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
extensionList Array<string> 要加载的打印机扩展列表
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
printerId string 打印机ID
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
printerId string 打印机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

参数:

参数名 类型 必填 说明
printerId string 打印机ID
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
printerId string 打印机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

参数:

参数名 类型 必填 说明
printerId string 打印机ID
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
printerId string 打印机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

参数:

参数名 类型 必填 说明
jobInfo PrintJob 打印任务信息
callback AsyncCallback<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,
    jobSubstate : print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS,
    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

参数:

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

返回值:

类型 说明
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,
    jobSubstate : print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS,
    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

参数:

参数名 类型 必填 说明
jobId string 打印任务ID
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
jobId string 打印任务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

参数:

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

示例:

import print from '@ohos.print';

let jobInfo : print.PrintJob = {
    fdList : [0,1],
    jobId : 'jobId_12',
    printerId : 'printerId_32',
    jobState : 3,
    jobSubstate : print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS,
    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

参数:

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

返回值:

类型 说明
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,
    jobSubstate : print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS,
    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' 表示打印机状态改变
callback Callback<boolean> 打印机状态改变之后的回调

示例:

import print from '@ohos.print';

print.off('printerStateChange', (data: boolean) => {
    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' 表示打印任务状态改变
callback Callback<boolean> 打印任务状态改变之后的回调

示例:

import print from '@ohos.print';

print.off('jobStateChange', (data: boolean) => {
    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' 表示打印扩展信息改变
callback Callback<boolean> 打印任务扩展信息改变之后的回调

示例:

import print from '@ohos.print';

print.off('extInfoChange', (data: boolean) => {
    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

参数:

参数名 类型 必填 说明
printers Array<PrinterInfo> 表示新到达的打印机列表
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
printers Array<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

参数:

参数名 类型 必填 说明
printerIds Array<string> 表示需移除的打印机列表
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
printerIds Array<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

参数:

参数名 类型 必填 说明
printers Array<PrinterInfo> 表示待更新的打印机列表
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
printers Array<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

参数:

参数名 类型 必填 说明
printerId string 表示打印机ID
state PrinterState 表示打印机状态
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
printerId string 表示打印机ID
state PrinterState 表示打印机状态

返回值:

类型 说明
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

参数:

参数名 类型 必填 说明
jobId string 表示打印任务ID
state PrintJobState 表示打印任务状态
subState PrintJobSubState 表示打印任务子状态
callback AsyncCallback<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

参数:

参数名 类型 必填 说明
jobId string 表示打印任务ID
state PrintJobState 表示打印任务状态
subState PrintJobSubState 表示打印任务子状态

返回值:

类型 说明
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

参数:

参数名 类型 必填 说明
info string 表示打印扩展变更信息
callback AsyncCallback<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

参数:

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

返回值:

类型 说明
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(deprecated)

从API version 10开始支持,从API version 11开始废弃。 建议使用queryPrintJobList替代。

queryAllPrintJobs(callback: AsyncCallback<void>): void

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

需要权限: ohos.permission.MANAGE_PRINT_JOB

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

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
callback AsyncCallback<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(deprecated)

从API version 10开始支持,从API version 11开始废弃。 建议使用queryPrintJobList替代。

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('queryAllPrintJobs success, data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('queryAllPrintJobs failed, error : ' + JSON.stringify(error));
})

queryPrintJobList11+

queryPrintJobList(callback: AsyncCallback<Array<PrintJob>>): void

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

需要权限: ohos.permission.MANAGE_PRINT_JOB

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

系统能力: SystemCapability.Print.PrintFramework

参数:

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

示例:

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

print.queryPrintJobList((err: BusinessError, printJobs : print.PrintJob[]) => {
    if (err) {
        console.log('queryPrintJobList failed, because : ' + JSON.stringify(err));
    } else {
        console.log('queryPrintJobList success, data : ' + JSON.stringify(printJobs));
    }
})

queryPrintJobList11+

queryPrintJobList(): Promise<Array<PrintJob>>

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

需要权限: ohos.permission.MANAGE_PRINT_JOB

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

系统能力: SystemCapability.Print.PrintFramework

返回值:

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

示例:

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

print.queryPrintJobList().then((printJobs : print.PrintJob[]) => {
    console.log('queryPrintJobList success, data : ' + JSON.stringify(printJobs));
}).catch((error: BusinessError) => {
    console.log('queryPrintJobList failed, error : ' + JSON.stringify(error));
})

queryPrintJobById11+

queryPrintJobById(jobId: string, callback: AsyncCallback<PrintJob>): void

按打印任务ID查询打印任务,使用callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

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

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
jobId string 表示打印任务ID
callback AsyncCallback<PrintJob> 异步按打印任务ID查询打印任务之后的回调

示例:

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

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

queryPrintJobById11+

queryPrintJobById(jobId: string): Promise<PrintJob>

按打印任务ID查询打印任务,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

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

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
jobId string 表示打印任务ID

返回值:

类型 说明
Promise<PrintJob> 按打印任务ID查询打印任务完成结果

示例:

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

let jobId : string = '1';
print.queryPrintJobById(jobId).then((printJob : PrintJob) => {
    console.log('queryPrintJobById data : ' + JSON.stringify(printJob));
}).catch((error: BusinessError) => {
    console.log('queryPrintJobById error : ' + JSON.stringify(error));
})

startGettingPrintFile11+

startGettingPrintFile(jobId: string, printAttributes: PrintAttributes, fd: number, onFileStateChanged: Callback<PrintFileCreationState>): void

开始获取打印文件,使用Callback异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

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

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
jobId string 表示打印任务ID
printAttributes PrintAttributes 表示打印参数
fd number 表示打印文件描述符
onFileStateChanged Callback<PrintFileCreationState> 表示更新文件状态的回调

示例:

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

let jobId : string= '1';
class MyPrintAttributes implements print.PrintAttributes {
    copyNumber?: number;
    pageRange?: print.PrinterRange;
    pageSize?: print.PrintPageSize | print.PrintPageType;
    directionMode?: print.PrintDirectionMode;
    colorMode?: print.PrintColorMode;
    duplexMode?: print.PrintDuplexMode;
}

class MyPrinterRange implements print.PrinterRange {
    startPage?: number;
    endPage?: number;
    pages?: Array<number>;
}

class MyPrintPageSize implements print.PrintPageSize {
    id: string = '0';
    name: string = '0';
    width: number = 210;
    height: number = 297;
}

let printAttributes = new MyPrintAttributes();
printAttributes.copyNumber = 2;
printAttributes.pageRange = new MyPrinterRange();
printAttributes.pageRange.startPage = 0;
printAttributes.pageRange.endPage = 5;
printAttributes.pageRange.pages = [1, 3];
printAttributes.pageSize = print.PrintPageType.PAGE_ISO_A3;
printAttributes.directionMode = print.PrintDirectionMode.DIRECTION_MODE_AUTO;
printAttributes.colorMode = print.PrintColorMode.COLOR_MODE_MONOCHROME;
printAttributes.duplexMode = print.PrintDuplexMode.DUPLEX_MODE_NONE;

let fd : number = 1;
print.startGettingPrintFile(jobId, printAttributes, fd, (state: print.PrintFileCreationState) => {
    console.log('onFileStateChanged success, data : ' + JSON.stringify(state));
})

notifyPrintService11+

notifyPrintService(jobId: string, type: 'spooler_closed_for_cancelled' | 'spooler_closed_for_started'): Promise<void>

将spooler关闭信息通知打印服务,使用Promise异步回调。

需要权限: ohos.permission.MANAGE_PRINT_JOB

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

系统能力: SystemCapability.Print.PrintFramework

参数:

参数名 类型 必填 说明
jobId string 表示打印任务ID
type 'spooler_closed_for_cancelled' | 'spooler_closed_for_started' 表示spooler关闭信息

返回值:

类型 说明
Promise<void> 将spooler关闭信息通知打印服务后的完成结果

示例:

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

let jobId : string = '1';
print.notifyPrintService(jobId, 'spooler_closed_for_started').then((data : void) => {
    console.log('queryPrintJobById data : ' + JSON.stringify(data));
}).catch((error: BusinessError) => {
    console.log('queryPrintJobById error : ' + JSON.stringify(error));
})