无损转换 PDF 到 Word 是不可能的

某位老同学让我推荐一款能“无损转换 PDF 到 Word”的软件。给出推荐后,我尝试向他解释,这种“无损”其实是不可能的。他希望我将这些内容写成一篇科普文章。

当你搜索“转换 PDF 到 Word”,会找到许多提供此功能的软件。若是在社区中提问,还能收获许多样板式的营销回答:“无损,支持所有 PDF 文档,不会出现格式错乱…”,一切真的这么美好么?

查阅维基百科,我们了解到 PDF 是“包含固定布局的平面文档的完整描述”。什么是“固定布局”呢?在这里我们不讲解 PostScript,仅以伪代码表示。

PDF 中的一些文字:

在坐标 100, 110 是文字 "你好"
在坐标 100, 160 是文字 "世界"

而 Word 中的一些文字:

顶部页边距 110
左侧页边距 100
单倍行距
文字 "你好"
换行
文字 "世界"

看出区别了么?

PDF 表达文字时直接使用坐标,阅读器只是直白地把这一个个规范的标记渲染出来。

而 Word 则使用“文本流”。段落由各种各样的属性,样式,被设置为我们所期望的模样。

接下来我们以“PDF 到 Word 转换器”的角度观察。对于 PDF 中的这样两个文本块,对应的“Word 表示”有以下可能:

  1. 左侧页边距 100,单倍行距,两行文字中有一个空行。
  2. 左侧页边距 100,双倍行距,两行文字间没有空行。
  3. 左侧页边距 94,首行缩进 2 字符,单倍行距,两行文字中有一个空行。
  4. 甚至可能是两个独立的,悬浮的文本框!
  5. ... 排列组合,还有更多可能 ...

现在,“PDF 到 Word 转换器”要如何判定,哪一种选择才是正确的呢?

显然,将 Word 转换为 PDF 是相对稳定的,其过程中的信息是有损失的;而将 PDF 转换为 Word,则存在着太多不确定性,因为损失的信息不可能凭空产生。转换器所能做的仅仅是“按照惯例猜测”而已。

这就是为什么:无损转换 PDF 到 Word 是不可能的。