为什么从 MS Word 生成的 PDF 这么大?

Bor*_*ard 71 pdf docx microsoft-word

我创建了一个简单的 MS Word 文档,只包含这句话:

这是一个小文件。

没有其他的。然后我将此文档另存为 DOCX 和 PDF。以下是文件大小:

DOCX:12 KB
PDF:89 KB

这种差异在技术上是巨大的,当DOCX中数十 kB 的大部分文本文档开始生成数百 kB 的PDF时,它真的开始困扰我。PDF 格式效率低下的原因是什么?或者只是 Word 使用了一些糟糕的输出算法?

顺便说一句,PDF 输出设置被设置为创建尽可能小的文件:

PDF 输出选项

ren*_*ene 105

如果您在 notepad++ 中打开 PDF,您会发现:

9 0 obj
<</Filter/FlateDecode/Length 79100/Length1 171804>>
stream
xœì}    XTGºvÕ9½/t7Ðl
..... many more bytes  ...   ëH|  
endstream
endobj
10 0 obj
Run Code Online (Sandbox Code Playgroud)

并且该对象在 /FontFile2 指令的末尾被引用:

6 0 obj
<</Type/FontDescriptor/FontName/ABCDEE+Calibri/Flags 32/ItalicAngle 0/Ascent 750/Descent -250/CapHeight 750/AvgWidth 521/MaxWidth 1743/FontWeight 400/XHeight 250/StemV 52/FontBBox[ -503 -250 1240 750] /FontFile2 9 0 R>>
endobj
Run Code Online (Sandbox Code Playgroud)

Word 文档使用的字体被嵌入到 PDF 中,因此 pdf 是自包含的。

我使用这个幻灯片来解密 PDF 说明。

如果您想防止字体嵌入 PDF 文件中,请确保您的 Word 文档使用 PDF 查看器中可用的 14 种标准字体之一,(来源维基百科

  • Times New Roman > Times (v3)(常规、斜体、粗体和粗斜体)
  • Courier New > Courier(常规、斜体、粗体和斜体)
  • Arial > Helvetica (v3)(常规、斜体、粗体和粗体斜体)
  • 符号 > 符号
  • Wingdings > Zapf Dingbats

  • 相关:http://superuser.com/questions/607840/how-can-i-save-a-word-document-as-a-pdf-without-any-embedded-fonts (6认同)
  • 旁注:[链接幻灯片](http://www.adobe.com/content/dam/Adobe/en/technology/pdfs/PDF_Day_A_Look_Inside.pdf)(Powershell 演示文稿)值得一读。非常详细。不要错过他解释 PDF 结构的评论 (2认同)