OH_Print

概述

提供打印模块的C接口定义。

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

汇总

文件

名称 描述
ohprint.h 声明用于发现和连接打印机、从打印机打印文件、查询已添加打印机的列表及其中的打印机信息等API。

结构体

名称 描述
struct Print_Margin 打印边距。
struct Print_PageSize 纸张大小信息。
struct Print_Range 打印范围。
struct Print_PrintAttributes 打印属性结构体。
struct Print_PrintDocCallback 打印文档任务回调结构体。

类型定义

名称 描述
typedef void(* Print_WriteResultCallback) (const char *jobId, uint32_t code) 文件回写回调。
typedef void(* Print_OnStartLayoutWrite) (const char *jobId, uint32_t fd, const Print_PrintAttributes *oldAttrs, const Print_PrintAttributes *newAttrs, Print_WriteResultCallback writeCallback) 文件开始回写回调函数。
typedef void(* Print_OnJobStateChanged) (const char *jobId, uint32_t state) 打印任务状态回调。

枚举

名称 描述
Print_ErrorCode {
PRINT_ERROR_NONE = 0, PRINT_ERROR_NO_PERMISSION = 201, PRINT_ERROR_INVALID_PARAMETER = 401, PRINT_ERROR_GENERIC_FAILURE = 24300001,
PRINT_ERROR_RPC_FAILURE = 24300002, PRINT_ERROR_SERVER_FAILURE = 24300003, PRINT_ERROR_INVALID_EXTENSION = 24300004, PRINT_ERROR_INVALID_PRINTER = 24300005,
PRINT_ERROR_INVALID_PRINT_JOB = 24300006, PRINT_ERROR_FILE_IO = 24300007, PRINT_ERROR_UNKNOWN = 24300255
}
枚举错误码。
Print_JobDocAdapterState {
PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY = 0, PRINT_DOC_ADAPTER_PRINT_TASK_SUCCEED = 1, PRINT_DOC_ADAPTER_PRINT_TASK_FAIL = 2, PRINT_DOC_ADAPTER_PRINT_TASK_CANCEL = 3,
PRINT_DOC_ADAPTER_PRINT_TASK_BLOCK = 4, PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY_FOR_CANCELED = 5, PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY_FOR_STARTED = 6
}
打印文档任务的状态。

函数

名称 描述
Print_ErrorCode OH_Print_StartPrintByNative (const char *printJobName, Print_PrintDocCallback printDocCallback, void *context) 拉起打印预览界面接口。

类型定义说明

typedef void(* Print_OnJobStateChanged) (const char *jobId, uint32_t state)

描述 打印任务状态回调。

起始版本: 13

参数:

名称 描述
jobId 打印任务id。
state 当前任务状态。
typedef void(* Print_OnStartLayoutWrite) (const char *jobId, uint32_t fd, const Print_PrintAttributes *oldAttrs, const Print_PrintAttributes *newAttrs, Print_WriteResultCallback writeCallback)

描述 文件开始回写回调函数。

起始版本: 13

参数:

名称 描述
jobId 打印任务id。
fd 回写的文件句柄。
oldAttrs 用户设置打印参数变化前的参数。
newAttrs 用户设置打印参数变化后的参数。
writeCallback 使用方回写完文件后调用回调函数通知打印服务。
typedef void(* Print_WriteResultCallback) (const char *jobId, uint32_t code)

描述 文件回写回调。

起始版本: 13

参数:

名称 描述
jobId 打印任务id。
code 文件回写结果。

枚举类型说明

enum Print_ErrorCode

描述 枚举错误码。

起始版本: 12

枚举值 描述
PRINT_ERROR_NONE 成功。
PRINT_ERROR_NO_PERMISSION 没有权限。
PRINT_ERROR_INVALID_PARAMETER 无效参数。
PRINT_ERROR_GENERIC_FAILURE 内部错误。
PRINT_ERROR_RPC_FAILURE rpc传输错误。
PRINT_ERROR_SERVER_FAILURE 打印服务错误。
PRINT_ERROR_INVALID_EXTENSION 无效打印扩展。
PRINT_ERROR_INVALID_PRINTER 无效打印机。
PRINT_ERROR_INVALID_PRINT_JOB 无效打印任务。
PRINT_ERROR_FILE_IO 文件读写错误。
PRINT_ERROR_UNKNOWN 未知错误。
enum Print_JobDocAdapterState

描述 打印文档任务的状态。

起始版本: 13

枚举值 描述
PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY 打印预览界面销毁。
PRINT_DOC_ADAPTER_PRINT_TASK_SUCCEED 打印任务执行成功。
PRINT_DOC_ADAPTER_PRINT_TASK_FAIL 打印任务执行失败。
PRINT_DOC_ADAPTER_PRINT_TASK_CANCEL 打印任务被取消。
PRINT_DOC_ADAPTER_PRINT_TASK_BLOCK 打印任务阻塞。
PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY_FOR_CANCELED 预览界面点击取消按钮界面退出。
PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY_FOR_STARTED 预览界面点击打印按钮界面退出。

函数说明

OH_Print_StartPrintByNative()

Print_ErrorCode OH_Print_StartPrintByNative (const char * printJobName, Print_PrintDocCallback printDocCallback, void * context )

描述 拉起打印预览界面接口。

系统能力: SystemCapability.Print.PrintFramework

起始版本: 13

参数:

名称 描述
printJobName 打印任务名称。
printDocCallback 打印文档任务回调结构体。
context 调用接口的ability的上下文。

Permission:

ohos.permission.PRINT

返回:

Print_ErrorCode#PRINT_ERROR_NONE:执行成功。

PRINT_ERROR_NO_PERMISSION:需要配置ohos.permission.PRINT权限。

PRINT_ERROR_RPC_FAILURE:无法连接打印服务。