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) | 拉起打印预览界面接口。 |
类型定义说明
Print_OnJobStateChanged
typedef void(* Print_OnJobStateChanged) (const char *jobId, uint32_t state)
描述 打印任务状态回调。
起始版本: 13
参数:
| 名称 | 描述 |
|---|---|
| jobId | 打印任务id。 |
| state | 当前任务状态。 |
Print_OnStartLayoutWrite
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 | 使用方回写完文件后调用回调函数通知打印服务。 |
Print_WriteResultCallback
typedef void(* Print_WriteResultCallback) (const char *jobId, uint32_t code)
描述 文件回写回调。
起始版本: 13
参数:
| 名称 | 描述 |
|---|---|
| jobId | 打印任务id。 |
| code | 文件回写结果。 |
枚举类型说明
Print_ErrorCode
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 | 未知错误。 |
Print_JobDocAdapterState
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:无法连接打印服务。