為什麼 MS Word 產生的 PDF 這麼大?

為什麼 MS Word 產生的 PDF 這麼大?

我創建了一個簡單的 MS Word 文檔,其中僅包含這句話:

這是一個小文檔。

沒有其他的。然後我將此文件另存為 DOCX 和 PDF。以下是檔案大小:

文件:12 KB
PDF:89 KB

這個區別是巨大的,從技術上講,當大多數文本文檔都是幾十kB在 DOCX 中開始產生 PDF數百 kB大的。 PDF 格式有什麼效率低的地方?或者只是Word 使用了一些糟糕的輸出演算法?

順便說一句,PDF 輸出設定被設定為創建盡可能最小的文件:

PDF 輸出選項

答案1

如果您在記事本++中開啟 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

該物件在 /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

Word 文件使用的字體會嵌入 PDF 中,因此 pdf 是獨立的。

我用了這個幻燈片解密 PDF 說明。

如果您想防止字體嵌入到 PDF 文件中,請確保您的 Word 文件使用 PDF 檢視器中可用的 14 種標準字體之一(來源維基百科

  • Times New Roman > Times (v3)(常規、斜體、粗體和粗斜體)
  • Courier 新 > Courier(常規、斜體、粗體和粗體斜體)
  • Arial > Helvetica (v3)(常規、傾斜、粗體和粗體傾斜)
  • 符號 > 符號
  • 翅膀 > Zapf 標誌

答案2

當我嘗試將簡單的手稿匯出為 PDF 時,我在 Microsoft Word 中多次發生過這種情況。一份 5-8 頁的 Word 文件(大小約為 50 KB)最終將成為一個 10+ MB 的 PDF 文件,該文件太大,無法合理地透過電子郵件發送給某人。

雷內的回答走在正確的軌道上——問題是字體嵌入到文件中——但僅使用一種標準字體不一定能解決問題。

我所有的文件都是用 Times New Roman 字體寫的,只使用粗體和斜體。或者說我是這麼想的。原來我有自動字距調整在我的預設模板中啟用(對於明顯的原因)。當匯出為 PDF 時,Word 實際上將每個連字作為單獨的字體物件嵌入到文件中,使其膨脹得令人難以置信。

修復方法很簡單,您只需記住每次都執行此操作:

  1. 選擇文檔中的所有文字。
  2. 格式 → 字型 → 高級
  3. 取消選取“字體字距調整”

有趣的是,您可以啟用連字、上下文替代和其他高級排版功能;它們對生成的 PDF 的大小沒有明顯影響。

將文件重新匯出為 PDF,文件大小減小到了 100 KB 左右。不幸的是,字距調整低於標準,所以我不建議以這種方式列印,但它對於透過電子郵件發送文件效果很好。

答案3

給出一個可能有幫助的不太技術性的答案是,PDF 使用向量(即:數學方程式)來描述您所看到的所有內容。所有曲線和直線都是由數學方程式定義的,因此必然需要保存大量信息,特別是當文件中有圖像時。

這樣做的好處是,理論上您可以無限放大,而不會丟失任何分辨率或細節,因為直線和曲線沒有寬度,因此它們可以隨著您的縮放而縮放。

就像 Google 最近的字體變更將徽標大小從 ~14KB 減小到 ~300B 一樣,更簡單的字體可能有助於減小檔案大小。

相關內容