这个场景太常见了。你打开一个PDF里面文字清清楚楚用选择工具框选一段CtrlC复制贴到Word或记事本里结果出来一堆符号、问号或者干脆一片空白。很多人第一反应是“这个PDF加密了”或者“我的阅读器坏了”。其实绝大多数情况下既不是加密也不是坏了问题出在字体上。PDF里的文字本质上记录的是“这个位置用这个字体显示这个字符”。如果系统里没有安装对应的字体阅读器就会用默认字体去替代显示。你屏幕上看到的可能是替代字体显示的内容但你复制的时候复制出来的是原始编码而那个编码在你电脑上没有对应的映射于是就变成了乱码。还有一种情况更隐蔽。有些PDF是从设计软件导出来的制作者为了文件体积小把字体做了“子集化”——也就是只嵌入文件中用到的那几个字符而不是整套字体。这种文件在制作者电脑上打开没问题但到了别的机器上因为缺少完整的字体映射表复制就会出问题。怎么解决有两种思路都不需要额外花钱。第一种换个阅读器试试。不同的阅读器在处理未嵌入字体时的逻辑不一样有的直接放弃映射显示乱码有的会尝试用系统现有字体去匹配。你电脑里通常不止一个程序能打开PDF浏览器是一个系统自带的阅读器是另一个有时候还装了第三方办公套件自带的查看器。如果一个复制出来是乱码换另一个打开再复制很可能就正常了。第二种如果换阅读器还是不行那说明这个PDF里用的字体确实没有被完整嵌入。这时候换个思路——你不是要复制文字你是要提取文本内容。在阅读器里找“另存为”或者“导出”的选项看看有没有“保存为纯文本”或者“导出文本”的功能。这个功能不走剪贴板复制的那条路而是让阅读器自己把文本内容提取出来存成一个文件有时候能绕开字体缺失的问题。如果PDF里的文字不是用的标准字体而是被转成了曲线或轮廓多见于设计稿和海报那它本质上已经是图形了复制不出来是正常的。这种情况只有通过识别的方式来处理但那属于扫描件处理的范畴不是字体的问题了。还有一个细节值得注意你从PDF复制文字粘贴到Word里如果发现每一行后面都跟了一个换行符段落全被打散了这是PDF里的换行逻辑导致的不是乱码。处理办法是粘贴的时候选择“只保留文本”或者粘完之后用Word的查找替换功能把段落标记替换成空格。如果你需要频繁从PDF提取文字用于写作或整理资料可以养成一个习惯打开PDF之后先试一下“文件”菜单里的“导出文本”功能如果导出的文本是正常的就说明这个文件的编码没有问题只是复制粘贴那条路径不通。以后就用导出的方式别用复制。复制粘贴这条路走不通的时候别死磕。换条路往往几秒钟就解决了。
复制PDF里的文字,粘贴出来全是乱码或空白?原因比你想象的简单
这个场景太常见了。你打开一个PDF里面文字清清楚楚用选择工具框选一段CtrlC复制贴到Word或记事本里结果出来一堆符号、问号或者干脆一片空白。很多人第一反应是“这个PDF加密了”或者“我的阅读器坏了”。其实绝大多数情况下既不是加密也不是坏了问题出在字体上。PDF里的文字本质上记录的是“这个位置用这个字体显示这个字符”。如果系统里没有安装对应的字体阅读器就会用默认字体去替代显示。你屏幕上看到的可能是替代字体显示的内容但你复制的时候复制出来的是原始编码而那个编码在你电脑上没有对应的映射于是就变成了乱码。还有一种情况更隐蔽。有些PDF是从设计软件导出来的制作者为了文件体积小把字体做了“子集化”——也就是只嵌入文件中用到的那几个字符而不是整套字体。这种文件在制作者电脑上打开没问题但到了别的机器上因为缺少完整的字体映射表复制就会出问题。怎么解决有两种思路都不需要额外花钱。第一种换个阅读器试试。不同的阅读器在处理未嵌入字体时的逻辑不一样有的直接放弃映射显示乱码有的会尝试用系统现有字体去匹配。你电脑里通常不止一个程序能打开PDF浏览器是一个系统自带的阅读器是另一个有时候还装了第三方办公套件自带的查看器。如果一个复制出来是乱码换另一个打开再复制很可能就正常了。第二种如果换阅读器还是不行那说明这个PDF里用的字体确实没有被完整嵌入。这时候换个思路——你不是要复制文字你是要提取文本内容。在阅读器里找“另存为”或者“导出”的选项看看有没有“保存为纯文本”或者“导出文本”的功能。这个功能不走剪贴板复制的那条路而是让阅读器自己把文本内容提取出来存成一个文件有时候能绕开字体缺失的问题。如果PDF里的文字不是用的标准字体而是被转成了曲线或轮廓多见于设计稿和海报那它本质上已经是图形了复制不出来是正常的。这种情况只有通过识别的方式来处理但那属于扫描件处理的范畴不是字体的问题了。还有一个细节值得注意你从PDF复制文字粘贴到Word里如果发现每一行后面都跟了一个换行符段落全被打散了这是PDF里的换行逻辑导致的不是乱码。处理办法是粘贴的时候选择“只保留文本”或者粘完之后用Word的查找替换功能把段落标记替换成空格。如果你需要频繁从PDF提取文字用于写作或整理资料可以养成一个习惯打开PDF之后先试一下“文件”菜单里的“导出文本”功能如果导出的文本是正常的就说明这个文件的编码没有问题只是复制粘贴那条路径不通。以后就用导出的方式别用复制。复制粘贴这条路走不通的时候别死磕。换条路往往几秒钟就解决了。