OpenHarmony其他工具类—libharu [GN编译]

简介

libharu主要用于生成 PDF格式文件。

下载安装

直接在OpenHarmony-SIG仓中搜索libharu并下载。

使用说明

以OpenHarmony 3.1 Beta的rk3568版本为例

  1. 库代码存放路径:./third_party/libharu

  2. 修改添加依赖的编译脚本,路径:/developtools/bytrace_standard/ohos.build

    {
    "subsystem": "developtools",
    "parts": {
    "bytrace_standard": {
    "module_list": [
    "//developtools/bytrace_standard/interfaces/innerkits/native:bytrace_core",
    "//developtools/bytrace_standard/bin:bytrace_target",
    "//developtools/bytrace_standard/bin:bytrace.cfg",
    "//developtools/bytrace_standard/interfaces/kits/js/napi:bytrace",
    "//third_party/libharu:libhpdf",
    "//third_party/libharu:libharu_test"
    ],
    "inner_kits": [
    {
    "type": "so",
    "name": "//developtools/bytrace_standard/interfaces/innerkits/native:bytrace_core",
    "header": {
    "header_files": [
    "bytrace.h"
    ],
    "header_base": "//developtools/bytrace_standard/interfaces/innerkits/native/include"
    }
    }
    ],
    "test_list": [
    "//developtools/bytrace_standard/bin/test:unittest"
    ]
    }
    }
    }

  3. 用命令 ./build.sh --product-name rk3568 --ccache 编译

  4. 生成库文件路径:out/rk3568/graphic/graphic_standard,该路径会生成库文件

接口说明

  1. 创建pdf对象 HPDF_New(HPDF_Error_Handler user_error_fn, void *user_data)

  2. 设置压缩模式 HPDF_SetCompressionMode(HPDF_Doc pdf, HPDF_UINT mode)

  3. 设置page模式 HPDF_SetPageMode(HPDF_Doc pdf, HPDF_PageMode mode)

  4. 设置密码 HPDF_SetPassword(HPDF_Doc pdf, const char *owner_passwd, const char *user_passwd)

  5. 添加pdf到page HPDF_AddPage(HPDF_Doc pdf)

  6. 设置宽度 HPDF_Page_SetWidth(HPDF_Page page, HPDF_REAL value)

  7. 设置高度 HPDF_Page_SetHeight(HPDF_Page page, HPDF_REAL value)

  8. 设置字体和大小 HPDF_Page_SetFontAndSize(HPDF_Page page, HPDF_Font font, HPDF_REAL size)

  9. 移动文字位置 HPDF_Page_MoveTextPos(HPDF_Page page, HPDF_REAL x, HPDF_REAL y)

  10. 设置显示的文字 HPDF_Page_ShowText(HPDF_Page page, const char *text)

  11. 保存pdf HPDF_Page_ShowText(HPDF_Page page, const char *text)

  12. 回收pdf对象 HPDF_Free(HPDF_Doc pdf)

约束与限制

在下述版本验证通过:

DevEco Studio 版本:3.1 Beta1(3.1.0.200),SDK:API9 Beta5(3.2.10.6)

目录结构

复制代码
|---- libharu
|     |---- include         #头文件
|     |---- src             #具体功能实现
|     |---- test            #单元测试用例
|     |---- README.md       #安装使用方法

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ......

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ......

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ......

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题

2.性能优化方向

3.架构方向

4.鸿蒙开发系统底层方向

5.鸿蒙音视频开发方向

6.鸿蒙车载开发方向

7.鸿蒙南向开发方向

相关推荐
袁雅倩19979 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
HwJack209 小时前
HarmonyOS APP开发玩转鸿蒙 HSP:打造高复用“乐高模块”的底层逻辑
华为·harmonyos
CHANG_THE_WORLD14 小时前
C语言中的 %*s 和 %.*s 和C++的字符串格式化输出
c语言·c++·c#
消失的旧时光-194314 小时前
C语言对象模型系列(四)《Linux 内核里的 container_of 到底是什么黑魔法?》—— 一篇讲透 Linux 内核的“对象模型”核心技巧
linux·c语言·算法
2501_9318037515 小时前
Go:一门为解决C语言痛点而生的现代语言
c语言·开发语言·golang
qeen8715 小时前
【数据结构】二叉树相关经典函数C语言实现
c语言·数据结构·c++·笔记·学习·算法·二叉树
●VON16 小时前
28个Token重构鸿蒙App:企业级设计系统的搭建实践
华为·重构·harmonyos
求学中--17 小时前
AppStorage和LocalStorage有什么区别?鸿蒙全局状态管理方案选型指南
华为·harmonyos
Hello.Reader17 小时前
ds4.c 深度解析为 DeepSeek V4 Flash 打造的本地推理引擎
c语言·开发语言
谙弆悕博士19 小时前
快速学C语言—— 第0章:C语言简介
c语言·开发语言·经验分享·笔记·程序人生·课程设计·学习方法