设为首页收藏本站

 找回密码
 立即注册

只需一步,快速开始

搜索
查看: 74|回复: 11

PDF Font Fixer v1.0 永久免费,修复PDF文档不能复制粘贴问题。

 火.. [复制链接]
累计签到:17 天
连续签到:11 天
灌水成绩
12
22
3004
主题
帖子
积分

等级头衔

ID : 610

初级技术员

积分成就 测量币 : 3004
在线时间 : 0 小时
注册时间 : 2026-4-19
最后登录 : 2026-5-18

勋章
UID勋章测量学徒测量员
发表于 2026-4-14 22:40:01 | 显示全部楼层 |阅读模式 IP:北京
经常遇到PDF文件可以浏览,但是无法复制粘贴文本的问题。复制文本之后粘贴到记事本,就会发现乱码。



为什么复制粘贴就乱码了呢?这就要提到一个字体中的概念----Unicode映射。字体文件的本质就是矢量绘图,而复制粘贴需要知道文字的Unicode码,把这个码放到剪贴板里面,其它的软件才会知道是什么字。正规的字体文件,都会带一个Unicode映射表,这个表会告诉软件字体中的第几个字对应的是Unicode中的哪一个字的编码。然后我们才能正确地复制粘贴。由于某些PDF文档在制作的时候,有意将Unicode映射表删掉了,造成我们无法得知复制的字对应的是Unicode的哪一个字,所以无法复制粘贴文档中的文本。这是一个很简单,也很有效的文档反拷贝手段。

为了解决这个问题,我写了一个软件PDFontFixer v1.0,采用OCR识别PDF文档中的字体里面的每一个字形,得到对应的Unicode编码,再将这些编码做成ToUnicode映射表,保存到PDF文档的字体里。这样,我们就可以正常复制粘贴文本了。





其实,修复PDF字体并不难,市面上也有若干软件支持修复,只是大多为商业版。实现字体修复的难点不在于为PDF字体创建Unicode映射,而在于如何快速准确识别几百~几千个汉字。前些年不怎么具备本机仅使用CPU进行快速OCR的条件,去年随着OCR小模型的进步,目前已经可以实现本机使用普通CPU对汉字进行快速识别。经测试,小模型仅依赖CPU就可以对印刷体汉字进行识别,几百个汉字图像的识别耗时只有1~2秒。不考虑特殊符号的话,实测识别准确率可以达到100%。这就给PDF修复字体缺失的Unicode映射解决了最大的麻烦。
于是,PDFontFixer v1.0诞生了。

蓝奏云下载 https://charltsing.lanzoum.com/iCaJ63mlqfjc

需要说明的是,按照PDF规范推荐,每页的汉字要求采用字体子集的方式嵌入在页面资源当中。字体子集最大的数量一般不超过3000个汉字,大部分在几百~一两千之间。字体子集的好处是渲染页面速度快。坏处自然也很明显,如果每页一个字体子集的话,整个文档假如有1000页,那就是一千个字体。然而,实际上很多文档为了排版好看,经常在一个页面嵌入十几个乃至几十个字体。这样整个文档的字体数量就非常可观了。即使字体子集可以复用,整个文档的字体数量也会有几百个。如果没有复用,那么整个文档的字体数量会多达两三万个。

<font style="color:rgb(63, 63, 63)">rgb考虑到需要人工审核OCR结果并进行个别字符的校正,所以,字体修复是一个极其耗时的工作。



软件使用方法:
1、文件菜单打开PDF。或者直接拖拽文档到软件窗口。
2、点击字体名称,查看字体属性,是否嵌入。本软件只处理嵌入字体,不处理Type3类型的pdf自绘字体。
3、按F4,识别右侧窗口中渲染出来的全部字符。点击字符图像可以人工校正。具有插入、删除、修改、修改并继续,等多个功能。
4、按F2,保存当前字体的Unicode映射。
5、如此循环,处理全部需要补充映射的字体。
6、文件菜单--保存PDF

运行环境:
1、由于使用最新的Direct2D构建UI,操作系统要求Windows 22H2或更高,64位操作系统。并安装最新补丁。
2、需要CPU支持SSE4.2、AES、AVX2指令集,否则本软件无法启动。
3、需要显卡支持DirectX 11, Direct 2D。
4、由于OCR比较吃CPU和内存,运行速度与CPU和内存大小有关。电脑配置不要低于8G内存。处理大量字体建议32G内存。
5、不支持Windows7、8、vista和早期的Windows10版本(低于1809)。
6、不支持32位操作系统。

如果有使用方面的问题,请在本贴留言。
精密测量技术论坛免责声明
✈️重要声明:以上内容仅代表该作者观点,不代表本站精密测量技术论坛立场。
✅如有涉及侵权请尽快告知,我们将会在第一时间处理。作者原创内容未经允许不得转载!
📱 站长联系邮箱:1339305021@qq.com
📱 站长联系微信:dddnnbbb
累计签到:20 天
连续签到:9 天
灌水成绩
0
157
12385
主题
帖子
积分

等级头衔

ID : 541

高级技术员

积分成就 测量币 : 12385
在线时间 : 0 小时
注册时间 : 2026-2-4
最后登录 : 2026-5-20

勋章
UID勋章测量学徒测量员
发表于 2026-4-16 01:13:42 | 显示全部楼层 IP:美国
条理清晰,重点突出。
回复

使用道具 举报

累计签到:15 天
连续签到:6 天
灌水成绩
0
125
9638
主题
帖子
积分

等级头衔

ID : 596

中级技术员

积分成就 测量币 : 9638
在线时间 : 0 小时
注册时间 : 2026-3-17
最后登录 : 2026-4-5

勋章
UID勋章测量学徒测量员
发表于 2026-4-18 08:56:46 | 显示全部楼层 IP:美国
对比了好几篇,这篇最靠谱。
回复

使用道具 举报

累计签到:18 天
连续签到:6 天
灌水成绩
0
155
12362
主题
帖子
积分

等级头衔

ID : 543

高级技术员

积分成就 测量币 : 12362
在线时间 : 0 小时
注册时间 : 2025-10-3
最后登录 : 2026-5-18

勋章
UID勋章测量学徒测量员
发表于 2026-4-18 22:09:10 | 显示全部楼层 IP:湖南衡阳
很有启发性,打开新视角。
回复

使用道具 举报

累计签到:18 天
连续签到:1 天
灌水成绩
0
173
13344
主题
帖子
积分

等级头衔

ID : 524

高级技术员

积分成就 测量币 : 13344
在线时间 : 0 小时
注册时间 : 2026-3-21
最后登录 : 2026-5-17

勋章
UID勋章测量学徒测量员
发表于 2026-4-29 08:11:57 | 显示全部楼层 IP:法国
遇到的坑都提到了,非常贴心。
回复

使用道具 举报

累计签到:18 天
连续签到:9 天
灌水成绩
0
202
14827
主题
帖子
积分

等级头衔

ID : 564

高级技术员

积分成就 测量币 : 14827
在线时间 : 0 小时
注册时间 : 2025-12-7
最后登录 : 2026-5-19

勋章
UID勋章测量学徒测量员
发表于 2026-4-30 02:09:19 | 显示全部楼层 IP:广东东莞
很适合做笔记和复习。
回复

使用道具 举报

累计签到:20 天
连续签到:12 天
灌水成绩
0
152
10805
主题
帖子
积分

等级头衔

ID : 537

高级技术员

积分成就 测量币 : 10805
在线时间 : 0 小时
注册时间 : 2026-2-11
最后登录 : 2026-4-5

勋章
UID勋章测量学徒测量员
发表于 2026-4-30 20:30:01 | 显示全部楼层 IP:北京
希望以后多分享这类实战经验。
回复

使用道具 举报

累计签到:18 天
连续签到:3 天
灌水成绩
0
174
13731
主题
帖子
积分

等级头衔

ID : 516

高级技术员

积分成就 测量币 : 13731
在线时间 : 0 小时
注册时间 : 2025-10-29
最后登录 : 2026-4-3

勋章
UID勋章测量学徒测量员
发表于 2026-5-1 01:10:33 | 显示全部楼层 IP:广东东莞
希望以后多写这类实战教程。
回复

使用道具 举报

累计签到:20 天
连续签到:2 天
灌水成绩
0
184
14001
主题
帖子
积分

等级头衔

ID : 590

高级技术员

积分成就 测量币 : 14001
在线时间 : 0 小时
注册时间 : 2026-2-25
最后登录 : 2026-4-5

勋章
UID勋章测量学徒测量员
发表于 2026-5-1 01:19:47 | 显示全部楼层 IP:广东东莞
内容很扎实,经得起推敲。
回复

使用道具 举报

尚未签到

灌水成绩
0
7
795
主题
帖子
积分

等级头衔

ID : 1184

测量学徒

积分成就 测量币 : 795
在线时间 : 0 小时
注册时间 : 2025-10-31
最后登录 : 2026-5-15

勋章
UID勋章测量学徒
发表于 2026-5-10 13:39:24 | 显示全部楼层 IP:欧洲和中东地区
适合自学,不用再到处找资料。
回复

使用道具 举报

快速回复换一批
好贴支持!
感谢楼主,好人一生平安
好贴帮顶
强无敌
2333333333
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|精密测量技术论坛 ( 桂ICP备2026007449号-1 )

GMT+8, 2026-5-21 12:48 , Processed in 0.692352 second(s), 32 queries .

快速回复 返回顶部 返回列表