如何修复字体问题以使 PDF 文件正确显示?

如何修复字体问题以使 PDF 文件正确显示?

我下载了一个 PDF 文件并打开它,然后遇到以下错误:

错误消息框

pdf文件无法正常显示,文件中许多字符只剩下空白。

在我看来这是一个字体问题,但如何解决这个问题呢?

我尝试从互联网上下载类似名称(我自己找不到确切名称的文件)的字体文件(.ttf),并安装到我的电脑上,但问题仍然出现,所以有人可以给我一些建议吗?

答案1

当使用了质量较差的子集字体时,此消息很常见。在这种情况下,摘录自期刊。

奇怪的字体名称是 FZFangSongK 和 FZShuSongK(以及其他字体)的缩写,它们没有正确嵌入为子集(基本上缺少字符映射,Acrobat 无法可靠地替换)。

您可以忽略前 6 个大写英文字符,因为它们是一个随机组,以便在合并等时保持子集为不重叠的唯一名称。

源字体名称如下所示。

File: 被误诊为系统性血管炎的疥疮感染1例.pdf
Title: 被误诊为系统性血管炎的疥疮感染1例
Subject: 中华全科医师杂志2023年11期
Author: 马豆豆
Created: 2023-10-30 11:03:51
Modified: 2023-11-01 20:36:39
Application: 方正飞翔8.2 XML版 8.2.0.1731
PDF Producer: Founder; modified using iTextSharp™ 5.5.13.2 ©2000-2020 iText Group NV (AGPL-version)

Fonts: 
Cambria (TrueType (CID); Identity-H; embedded)
Cambria (TrueType; Ansi; embedded)
Cambria-Bold (TrueType; Ansi; embedded)
Cambria-Italic (TrueType; Ansi; embedded)
FZFSK--GBK1-0 (TrueType (CID); Identity-H; embedded)
FZHTK--GBK1-0 (TrueType (CID); Identity-H; embedded)
FZKTK--GBK1-0 (TrueType (CID); Identity-H; embedded)
FZSSK--GBK1-0 (TrueType (CID); Identity-H; embedded)
NEU-BZ-Regular (TrueType (CID); Identity-H; embedded)
NEU-HZ-Regular (TrueType (CID); Identity-H; embedded)
STXihei (TrueType (CID); Identity-H; embedded)

Adobe 中 CID 字体较差会导致字符丢失。 在此处输入图片描述

有时可能无法通过任何可靠的方法替换或更正大量放错的字符。

幸运的是,在这种情况下,可以使用另一个应用程序(可以是 PDF 浏览器或编辑器)以任意名称重新打印字符,并在 Windows 上使用 Arial 作为基本字体。 在此处输入图片描述

您确实需要检查内容,也许可以尝试另一种字体替换方法,因为可能会造成附带损害。(我早期的尝试破坏了一些次要的元数据)。

所有字体都可能会被重命名,字体数量也可能发生变化,这表明这里可能存在短缺,现在的字体数量为 10,以前是 11,因此请仔细检查是否有缺失的内容。

File: reprinted.pdf
Title: «ïÊ:ûß'@¡”—¥®˜Ó1‰C.pdf
PDF Producer: Microsoft: Print To PDF
   
Fonts: 
CIDFont+F1 (TrueType (CID); Identity-H; embedded)
CIDFont+F2 (TrueType (CID); Identity-H; embedded)
CIDFont+F3 (TrueType (CID); Identity-H; embedded)
CIDFont+F4 (TrueType (CID); Identity-H; embedded)
CIDFont+F5 (TrueType (CID); Identity-H; embedded)
CIDFont+F6 (TrueType (CID); Identity-H; embedded)
CIDFont+F7 (TrueType (CID); Identity-H; embedded)
CIDFont+F8 (TrueType (CID); Identity-H; embedded)
CIDFont+F9 (TrueType (CID); Identity-H; embedded)
CIDFont+F10 (TrueType (CID); Identity-H; embedded)

相关内容