harmony 鸿蒙OH_Print

2025-06-12 浏览 (1)

OH_Print

概述

向应用提供使用CAPI访问打印系统的能力。

起始版本: 12

汇总

类型定义

名称描述
Print_StringList打印机设备列表。
Print_Property打印机属性。
Print_PropertyList打印机属性列表。
Print_Resolution打印分辨率单元。
Print_Margin打印边距。
Print_PageSize打印纸张尺寸。
Print_PrinterCapability打印机能力。
Print_DefaultValue打印默认信息。
Print_PrinterInfo打印机信息。
Print_PrintJob打印任务。
Print_Range打印范围。
Print_PrintAttributes打印属性。
Print_WriteResultCallback写结果回调。
Print_OnStartLayoutWrite开始布局回调。
Print_OnJobStateChanged打印任务状态回调。
Print_PrintDocCallback打印文件状态回调。
Print_PrinterDiscoveryCallback打印机发现回调。
Print_PrinterChangeCallback打印机状态变化回调。

枚举类型

名称描述
Print_ErrorCode枚举错误码。
Print_PrinterState打印机状态码。
Print_DiscoveryEvent打印机发现事件。
Print_PrinterEvent打印机状态改变事件。
Print_DuplexMode打印单双面模式。
Print_ColorMode打印色彩模式。
Print_OrientationMode打印方向。
Print_Quality打印质量。
Print_DocumentFormat打印机文件类型。
Print_JobDocAdapterState打印任务状态。

函数

名称描述
OH_Print_Init拉起打印服务,初始化打印客户端,并建立到打印服务的连接。
OH_Print_Release关闭与打印服务的连接,解除注册的回调,并释放打印客户端资源。
OH_Print_StartPrinterDiscovery启动发现打印机。
OH_Print_StopPrinterDiscovery停止发现打印机。
OH_Print_ConnectPrinter使用打印机id连接打印机。
OH_Print_StartPrintJob启动打印任务。
OH_Print_RegisterPrinterChangeListener注册打印机状态变化事件。
OH_Print_UnregisterPrinterChangeListener注销打印机状态变化事件。
OH_Print_QueryPrinterList查询打印机列表。
OH_Print_ReleasePrinterList释放打印机列表。
OH_Print_QueryPrinterInfo查询打印机信息。
OH_Print_ReleasePrinterInfo释放打印机信息内存。
OH_Print_LaunchPrinterManager启动打印机管理窗口。
OH_Print_QueryPrinterProperties查询打印机属性。
OH_Print_ReleasePrinterProperties释放打印机属性。
OH_Print_UpdatePrinterProperties更新打印机属性。
OH_Print_RestorePrinterProperties根据属性关键字列表将打印机属性恢复为默认设置。
OH_Print_StartPrintByNative启动打印。

类型定义说明

Print_StringList

描述

打印机设备列表。

起始版本: 12

成员描述
count字符串个数。
list字符串指针数组。

Print_Property

描述

打印机属性。

起始版本: 12

成员描述
key属性关键字。
value属性值。

Print_PropertyList

描述

打印机属性列表。

起始版本: 12

成员描述
count属性个数。
list属性指针数组。

Print_Resolution

描述

打印分辨率单元。

起始版本: 12

参数描述
horizontalDpi水平分辨率(dpi)。
verticalDpi垂直分辨率(dpi)。

Print_Margin

描述

打印边距。

起始版本: 12

参数描述
leftMargin左边距(微米)。
topMargin顶部边距(微米)。
rightMargin右边距(微米)。
bottomMargin底边距(微米)。

Print_PageSize

描述

打印纸张尺寸。

起始版本: 12

参数描述
id纸张编号。
name纸张名称。
width纸张宽度(微米)。
height纸张高度(微米)。

Print_PrinterCapability

描述

打印机能力。

起始版本: 12

参数描述
supportedColorModes支持的颜色模式列表。
supportedColorModesCount支持的颜色模式个数。
supportedDuplexModes支持的双面模式列表。
supportedDuplexModesCount支持的双面模式个数。
supportedPageSizes支持的纸张尺寸列表。
supportedPageSizesCount支持的纸张尺寸个数。
supportedMediaTypes支持的介质类型(JSON字符串数组格式)。
supportedQualities支持的打印质量列表。
supportedQualitiesCount支持的打印质量个数。
supportedPaperSources支持的纸张来源(JSON字符串数组格式)。
supportedCopies支持的最大打印份数。
supportedResolutions支持的分辨率列表。
supportedResolutionsCount支持的分辨率个数。
supportedOrientations支持的打印方向列表。
supportedOrientationsCount支持的打印方向个数。
advancedCapability高级能力(JSON格式)。

Print_DefaultValue

描述

打印机默认信息。

起始版本: 12

参数描述
defaultColorMode默认颜色模式。
defaultDuplexMode默认双面模式。
defaultMediaType默认介质类型。
defaultPageSizeId默认纸张尺寸ID。
defaultMargin默认边距。
defaultPaperSource默认纸张来源。
defaultPrintQuality默认打印质量。
defaultCopies默认打印份数。
defaultResolution默认分辨率。
defaultOrientation默认打印方向。
otherDefaultValues其他默认值(JSON格式)。

Print_PrinterInfo

描述

打印机信息。

起始版本: 12

参数描述
printerState打印机状态。
capability打印机能力。
defaultValue打印机默认属性。
isDefaultPrinter是否是默认打印机。
printerId打印机ID。
printerName打印机名称。
description打印机描述。
location打印机位置。
makeAndModel打印机制造商和型号信息。
printerUri打印机URI。
detailInfo详细信息(JSON格式)。

Print_PrintJob

描述

打印任务。

起始版本: 12

参数描述
jobName打印任务名称。
fdList打印文件描述符数组。
fdListCount打印文件描述符数量。
printerId打印机ID。
copyNumber打印份数。
paperSource纸张来源。
mediaType介质类型。
pageSizeId纸张尺寸ID。
colorMode颜色模式。
duplexMode双面模式。
resolution分辨率。
printMargin打印边距。
borderless是否无边距打印。
orientationMode打印方向。
printQuality打印质量。
documentFormat文档格式。
advancedOptions高级选项(JSON格式)。

Print_Range

描述

打印范围。

起始版本: 13

参数描述
startPage打印起始页码。
endPage打印结束页码。
pagesArrayLen打印页数组长度。
pagesArray打印页数组。

Print_PrintAttributes

描述

打印属性。

起始版本: 13

参数描述
pageRange打印范围。
pageSize纸张尺寸。
pageMargin页边距。
copyNumber打印份数。
duplexMode双面模式。
colorMode颜色模式。
isSequential是否顺序打印。
isLandscape是否横向打印。
hasOption是否有打印选项。
options打印选项(256字节)。

Print_WriteResultCallback

描述

写结果回调。

起始版本: 13

参数:

名称描述
jobId打印任务ID。
code写结果状态码。

Print_OnStartLayoutWrite

描述

开始布局回调。

起始版本: 13

参数:

名称描述
jobId打印任务ID。
fd文件描述符。
oldAttrs上一个打印属性。
newAttrs当前打印属性。
writeCallback写结果回调函数。

Print_OnJobStateChanged

描述

打印任务状态变化回调。

起始版本: 13

参数:

名称描述
jobId打印任务ID。
state打印任务状态。

Print_PrintDocCallback

描述

打印文档状态回调。

起始版本: 13

参数描述
startLayoutWriteCb开始布局写回调。
jobStateChangedCb任务状态变化回调。

Print_PrinterDiscoveryCallback

描述

打印机发现回调。

起始版本: 12

参数:

名称描述
event发现事件。
printerInfo打印机信息。

Print_PrinterChangeCallback

描述

打印机状态变化回调。

起始版本: 12

参数:

名称描述
event变化事件。
printerInfo打印机信息。

枚举类型说明

Print_ErrorCode

描述

枚举错误码。

起始版本: 12

枚举值描述
PRINT_ERROR_NONE操作成功。0
PRINT_ERROR_NO_PERMISSION权限验证失败。201
PRINT_ERROR_INVALID_PARAMETER无效参数。401
PRINT_ERROR_GENERIC_FAILURE一般内部错误。24300001
PRINT_ERROR_RPC_FAILURERPC通信错误。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_PrinterState

描述

打印机状态码。

起始版本: 12

枚举值描述
PRINTER_IDLE打印机空闲。
PRINTER_BUSY打印机忙碌。
PRINTER_UNAVAILABLE打印机不可用。

Print_DiscoveryEvent

描述

打印机发现事件。

起始版本: 12

枚举值描述
PRINTER_DISCOVERED发现打印机。
PRINTER_LOST丢失打印机。
PRINTER_CONNECTING正在连接打印机。
PRINTER_CONNECTED已连接打印机。

Print_PrinterEvent

描述

打印机事件。

起始版本: 12

枚举值描述
PRINTER_ADDED添加打印机。
PRINTER_DELETED删除打印机。
PRINTER_STATE_CHANGED打印机状态改变。
PRINTER_INFO_CHANGED打印机信息变更。
PRINTER_PREFERENCE_CHANGED打印机首选项变更。

Print_DuplexMode

描述

打印双面模式。

起始版本: 12

枚举值描述
DUPLEX_MODE_ONE_SIDED单面打印。
DUPLEX_MODE_TWO_SIDED_LONG_EDGE长边双面打印。
DUPLEX_MODE_TWO_SIDED_SHORT_EDGE短边双面打印。

Print_ColorMode

描述

打印色彩模式。

起始版本: 12

枚举值描述
COLOR_MODE_MONOCHROME单色模式。
COLOR_MODE_COLOR彩色模式。
COLOR_MODE_AUTO自动模式。

Print_OrientationMode

描述

打印方向。

起始版本: 12

枚举值描述
ORIENTATION_MODE_PORTRAIT纵向。
ORIENTATION_MODE_LANDSCAPE横向。
ORIENTATION_MODE_REVERSE_LANDSCAPE反向横向。
ORIENTATION_MODE_REVERSE_PORTRAIT反向纵向。
ORIENTATION_MODE_NONE未指定。

Print_Quality

描述

打印质量。

起始版本: 12

枚举值描述
PRINT_QUALITY_DRAFT草稿质量。
PRINT_QUALITY_NORMAL普通质量。
PRINT_QUALITY_HIGH高质量。

Print_DocumentFormat

描述

文档格式。

起始版本: 12

枚举值描述MIME类型
DOCUMENT_FORMAT_AUTO自动识别。application/octet-stream.
DOCUMENT_FORMAT_JPEGJPEG图像。image/jpeg.
DOCUMENT_FORMAT_PDFPDF文档。application/pdf.
DOCUMENT_FORMAT_POSTSCRIPTPostScript文档。application/postscript.
DOCUMENT_FORMAT_TEXT纯文本。text/plain.

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_Init()

Print_ErrorCode OH_Print_Init();

描述

拉起打印服务,初始化打印客户端,并建立到打印服务的连接。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。
PRINT_ERROR_SERVER_FAILURECUPS服务无法启动。

OH_Print_Release()

Print_ErrorCode OH_Print_Release();

描述

关闭与打印服务的连接,解除注册的回调,并释放打印客户端资源。

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。

OH_Print_StartPrinterDiscovery()

Print_ErrorCode OH_Print_StartPrinterDiscovery(Print_PrinterDiscoveryCallback callback);

描述

启动打印机发现过程。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
callback打印机发现事件回调函数。

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。
PRINT_ERROR_SERVER_FAILURE从BMS查询打印扩展列表失败。
PRINT_ERROR_INVALID_EXTENSION没有可用的打印扩展。

OH_Print_StopPrinterDiscovery()

Print_ErrorCode OH_Print_StopPrinterDiscovery();

描述

停止打印机发现过程。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。

OH_Print_ConnectPrinter()

Print_ErrorCode OH_Print_ConnectPrinter(const char *printerId);

描述

使用打印机ID连接打印机。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
printerId要连接的打印机ID。

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。
PRINT_ERROR_INVALID_PRINTER打印机不在已发现列表中。
PRINT_ERROR_SERVER_FAILURE无法找到负责该打印机的扩展。

OH_Print_StartPrintJob()

Print_ErrorCode OH_Print_StartPrintJob(const Print_PrintJob *printJob);

描述

启动打印任务。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
printJob指向包含打印任务信息的Print_PrintJob结构体指针

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。
PRINT_ERROR_INVALID_PRINTER打印机不在已连接列表中。
PRINT_ERROR_SERVER_FAILURE无法在打印服务中创建打印任务。
PRINT_ERROR_INVALID_PRINT_JOB无法在任务队列中找到该任务。

OH_Print_RegisterPrinterChangeListener()

Print_ErrorCode OH_Print_RegisterPrinterChangeListener(Print_PrinterChangeCallback callback);

描述

注册打印机状态变化监听器。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
callback打印机状态变化回调函数。

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。

OH_Print_UnregisterPrinterChangeListener()

void OH_Print_UnregisterPrinterChangeListener();

描述

注销打印机状态变化监听器。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

OH_Print_QueryPrinterList()

Print_ErrorCode OH_Print_QueryPrinterList(Print_StringList *printerIdList);

描述

查询已添加的打印机列表。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
printerIdList用于存储查询结果的Print_StringList指针。

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_INVALID_PARAMETERprinterIdList为NULL。
PRINT_ERROR_INVALID_PRINTER无法查询到任何已连接打印机。
PRINT_ERROR_GENERIC_FAILURE无法复制打印机ID列表。

OH_Print_ReleasePrinterList()

void OH_Print_ReleasePrinterList(Print_StringList *printerIdList);

描述

释放查询打印机列表时分配的内存。

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
printerIdList要释放的打印机ID列表。

OH_Print_QueryPrinterInfo()

Print_ErrorCode OH_Print_QueryPrinterInfo(const char *printerId, Print_PrinterInfo **printerInfo);

描述

根据打印机ID查询打印机信息。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
printerId要查询的打印机ID。
printerInfo用于存储查询结果的Print_PrinterInfo指针。

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。
PRINT_ERROR_INVALID_PARAMETERprinterId或printerInfo为NULL。
PRINT_ERROR_INVALID_PRINTER无法在已连接打印机列表中找到该打印机。

OH_Print_ReleasePrinterInfo()

void OH_Print_ReleasePrinterInfo(Print_PrinterInfo *printerInfo);

描述

释放查询打印机信息时分配的内存。

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
printerInfo要释放的打印机信息指针。

OH_Print_LaunchPrinterManager()

Print_ErrorCode OH_Print_LaunchPrinterManager();

描述

启动系统打印机管理窗口。

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_GENERIC_FAILURE无法启动打印机管理窗口。

OH_Print_QueryPrinterProperties()

Print_ErrorCode OH_Print_QueryPrinterProperties(const char *printerId, 
                                              const Print_StringList *propertyKeyList,
                                              Print_PropertyList *propertyList);

描述

根据属性关键字列表查询打印机属性值。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
printerId要查询的打印机ID。
propertyKeyList要查询的属性关键字列表。
propertyList用于存储查询结果的属性列表。

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_INVALID_PARAMETER参数为NULL或关键字列表为空。
PRINT_ERROR_INVALID_PRINTER找不到指定打印机的属性。
PRINT_ERROR_GENERIC_FAILURE无法复制打印机属性。

OH_Print_ReleasePrinterProperties()

void OH_Print_ReleasePrinterProperties(Print_PropertyList *propertyList);

描述

释放查询打印机属性时分配的内存。

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
propertyList要释放的属性列表指针。

OH_Print_UpdatePrinterProperties()

Print_ErrorCode OH_Print_UpdatePrinterProperties(const char *printerId, 
                                               const Print_PropertyList *propertyList);

描述

根据属性键值对列表设置打印机属性。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
printerId要设置的打印机ID。
propertyList要设置的属性列表。

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。

OH_Print_RestorePrinterProperties()

Print_ErrorCode OH_Print_RestorePrinterProperties(const char *printerId, 
                                                const Print_StringList *propertyKeyList);

描述

根据属性关键字列表将打印机属性恢复为默认设置。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 12

参数:

名称描述
printerId要恢复的打印机ID。
propertyKeyList要恢复的属性关键字列表。

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。

OH_Print_StartPrintByNative()

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

描述

启动打印服务。

权限: ohos.permission.PRINT

系统能力: SystemCapability.Print.PrintFramework

起始版本: 13

参数:

名称描述
printJobName打印任务名称。
printDocCallback打印文档状态回调。
context调用者应用上下文。

返回值:

错误码描述
PRINT_ERROR_NONE操作成功。
PRINT_ERROR_NO_PERMISSION缺少打印权限。
PRINT_ERROR_RPC_FAILURE无法连接打印服务。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Basic Services Kit(基础服务)

harmony 鸿蒙DeviceInfo

harmony 鸿蒙Print_Margin

harmony 鸿蒙Print_PageSize

harmony 鸿蒙Print_PrintAttributes

harmony 鸿蒙Print_PrintDocCallback

harmony 鸿蒙Print_Range

harmony 鸿蒙TimeService

harmony 鸿蒙ohscan.h

harmony 鸿蒙CommonEvent

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