# pdf_project **Repository Path**: xsgnpp/pdf_project ## Basic Information - **Project Name**: pdf_project - **Description**: No description available - **Primary Language**: C++ - **License**: Zlib - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-23 - **Last Updated**: 2024-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pdf_project #### ### Compress-jpeg 正在实现 :::danger 功能还没完全实现,卡在turbojpeg的检查jpeg的header上,Instance has not been initialized for decompression,这是报错信息。 ::: ### Remove-dummy-object 正在实现 :::danger 个人看了下pdf的底层结构,想删除重复的元素并不是表面上这么简单,不能根据对象的编号来删除,就算是内容一模一样的对象,他们两的编号也是不同的,得根据对象的内容进行对比,如果一样则删除,也可以直接引用第一个出现的内容,这是我的想法。 ::: ### Remove-Unused-object 正在实现 :::danger 这个跟移除重复对象一样,得查xref表看哪些对象的状态是f,然后进行删除,删除的话也不是很简单,得注意不能破坏pdf的完整性和可用性,感觉还有很多我没注意的地方,然后还得用别的库帮一下忙,个人觉得删除xref里面的内容应该还有我没注意的地方,得多了解点。 ::: ### Reduce-Font's-Unused-character 正在实现 :::danger 我的思路是用freetype库检测用到了pdf用到了哪些字符的unicode编码,用hash存着,时间复杂度是O(n),然后将他们形成字体子集,还有些步骤还没了解,还得多查阅资料。 ::: ### libharu v1 :::info 使用python+fontTools工具对TTF字体文件完成解析,解析、输出TTF文件内所有的字符至txt文件; 使用c++加上libharu库对txt进行解析、生成pdf。 ::: ### libharu v2 :::info 使用freetype完成解析,输出TTF文件内所有的字符至txt文件; 使用c++加上libharu库对txt进行解析、生成pdf。 :::