当前位置: 首页 > web >正文

基于Qt6 + MuPDF在 Arm IMX6ULL运行的PDF浏览器(项目推介)

CCIMX Desktop 工程文档(PDF阅读器)

  • 项目地址:总项目Charliechen114514/CCIMXDesktop: This is a Qt Written Desktop with base GUI Utilities

  • 本子项目地址:CCIMXDesktop/extern_app/pdfReader at main · Charliechen114514/CCIMXDesktop

子项目跟总项目无耦合关系,你可以直接拿取项目对CMakeLists进行修改,项目整体遵守MIT开源协议,因此,请随意。

首先简单介绍一下这个子项目,本子项目是为了让IMX6ULL的开发板具备阅读PDF的能力的项目。基本上,这里的工程路径在现在您所看到的基本构成是——

├───mupdf_adapter
├───mupdf_tools
├───sources
├───ui
└───ui_tools

说明一下这里的结构。

mupdf_adapter是笔者自己做的跟Qt6一块的桥接器,目前主要包含的是三个部分的设计

  • PDF浏览控件ccpdfviewer,完全的负责了绘制MuPDF提供的图像资源。

  • PDF文档句柄ccpdfdocument,完全的负责和掌管了PDF的内存特性

  • PDF的文档章节解析ccpdfchaptercreator,完全的掌管了PDF的章节解析

mupdf_tools是驱动MuPDF真正做事情的地方,换而言之,mupdf_adapter将请求转发给了mupdf_tools下的所有的静态工具类,他们负责跟MuPDF底层的函数进行沟通,对于大部分想要了解如何封装MuPDF的朋友,这里是重点关心的地方。

sources只是一些Ui固化的资源文件,需要替换图标的朋友自行打开QtCreator自己修改即可

ui_tools则是一些Ui辅助的类,实际上包含的滑动SliderWidget等只是封装了一些传递信息的操作,这里笔者不再赘述,详细的讲解文章请到笔者的Charliechen114514/CCQtArchives: This Repo is using in Storing the Tutorial Of Some QtWidgets And QML, with portable libraries, common Applications and so on的Portable Modules部分单独拿取,那里会更新最新的控件,和修复一部分潜在的bugs

ui就是整体demo的一个设计文件了,这里是您所看到的整体样貌的代码实现,为此,修改上层的显示逻辑在这里做修改!

具体的设计在总项目的Documentations处笔者有介绍。一些相应的技术要点笔者也会放在那里进行讲解。

http://www.xdnf.cn/news/5750.html

相关文章:

  • 做为一个平台,给第三方提供接口的时候,除了要求让他们申请 appId 和 AppSecret 之外,还应当有哪些安全选项,要过等保3级
  • BUUCTF Pwn hitcontraining_uaf WP
  • 学习黑客5分钟深入浅出理解系列之Windows注册表
  • Odoo 18 安全组与访问权限管理指南
  • SQLite 数据库常见问题及解决方法
  • 一般纯软工程学习路径
  • 使用达梦数据库官方管理工具SQLark导入与导出数据库表
  • 解决IDEA无法运行git的问题
  • CVE-2020-1957 漏洞报告
  • 基于MCP的智能体架构设计:实现智能体与外部世界的无缝连接
  • 辣椒青椒幼苗和杂草检测数据集VOC+YOLO格式706张2类别
  • IP协议、以太网包头及UNIX域套接字
  • 在 Java 8 中 常用时间日期类
  • 【Linux系统】自动化构建-make/Makefile的使用
  • AI Agent开发第64课-DIFY和企业现有系统结合实现高可配置的智能零售AI Agent(上)
  • #S4U2SELF#S4U2Proxy#CVE-2021-42278/42287
  • 按指定位置或关键字批量删除工作表-Excel易用宝
  • 关系实验课--笛卡尔积
  • cURL:通过URL传输数据的命令行工具库介绍
  • 请求参数:Header 参数,Body 参数,Path 参数,Query 参数分别是什么意思,什么样的,分别通过哪个注解获取其中的信息
  • 每日算法刷题Day4 5.12:leetcode数组4道题,用时1h
  • zabbix6.4监控主机并触发邮件告警
  • Egg.js知识框架
  • Linux驱动:驱动编译流程了解
  • 向量组的维度是单个向量中元素的个数
  • Vue3的命名规范
  • 从ES5到ES6+:JavaScript语法演进与实现解析
  • 《汽车软件升级通用技术要求》 GB 44496-2024——解读
  • 仿函数和函数对象
  • Java中堆栈