MS Word'den oluşturulan PDF'ler neden bu kadar büyük?


70

Sadece bu cümleyi içeren basit bir MS Word belgesi oluşturdum:

Bu küçük bir belgedir.

Başka hiçbir şey. Sonra bu belgeyi DOCX ve PDF olarak kaydettim. İşte dosya boyutları:

DOCX: 12 kB
PDF: 89 kB

Bu fark teknik olarak çok büyük ve DOCX'te onlarca kB olan yazılı belgeler çoğunlukla yüzlerce kB büyüklüğünde PDF'ler oluşturmaya başladığında beni gerçekten rahatsız ediyor . PDF formatında bu kadar verimsiz olan nedir? Yoksa sadece korkunç çıktı algoritması kullanıyor mu?

BTW, PDF çıktı ayarları mümkün olan en küçük dosyayı oluşturacak şekilde ayarlandı:

PDF çıktı seçenekleri


28
Tahminime göre, PDF, bir belgenin gerçekten taşınabilir olması için gerekli olan fontu gömüyor.
AFH

2
Evet, yazı tipi alt kümesi gömülüdür. Bu olabilir. Aynı cümleyi birkaç kez tekrarlamaya çalıştım ve PDF dosyası sadece 4 kB büyüdü, bu da tam olarak doğru. (DOCX 12kB'de kaldı, bu sıkıştırılmış bir format olduğu için hiç şaşırtıcı değil ve tekrarlanan metinler yeni baytlar
almazlar

1
@ AFH Arial'i gömmez. i.stack.imgur.com/aUZgt.png
MonkeyZeus

1
Kolmogorov karmaşıklığı açısından düşünen Microsoft Word, ortalama PDF görüntüleyicinizden birkaç yüz kB'tan daha büyüktür.
Ocaklar

8
Sanırım asıl soru, kelime işlem biçiminizin neden eşdeğer LaTeX'ten çok daha büyük olduğunu düşünüyorum ... :-p
Toby Speight

Yanıtlar:


104

PDF'yi notepad ++ ile açarsanız şunları bulacaksınız:

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

ve bu nesneye burada / FontFile2 komutunun sonunda referans verilmiştir:

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 belgesi tarafından kullanılan Yazı Tipleri PDF'ye gömülür, böylece pdf kendi kendine yeter.

Kullandığım Bu kaydırma güverte PDF talimatları decypher.

Yazı tiplerinin PDF dosyasına gömülmesini önlemek istiyorsanız, Word belgenizin PDF görüntüleyicilerde bulunan 14 standart yazı tipinden birini kullandığından emin olun, (kaynak Wikipedia )

  • Times New Roman> Times (v3) (normal, italik, kalın ve kalın italik)
  • Courier New> Courier (düzenli, eğik, kalın ve kalın eğik)
  • Arial> Helvetica (v3) (düzenli, eğik, kalın ve kalın eğik)
  • Sembol> Sembol
  • Kanatlı Kanatlar> Zapf Dingbats


2
Sidenote: Bağlantılı slayt güvertesi (Powershell sunumu) okumaya değer. Çok detaylı. Bir PDF'nin yapısını açıkladığı yorumları kaçırmayın
nixda

3

Bu basit bir el yazması PDF'ye dışa aktarmaya çalışırken Microsoft Word'de birçok kez başıma geldi. 5–8 sayfalık bir Word belgesi, ~ 50 KB boyutunda, birisine makul derecede e-postayla göndermek için çok büyük olan 10+ MB'lık bir PDF dosyası olarak sonuçlanacaktır.

Rene'nin cevabı doğru yolda - sorun fontların belgeye gömülü olması - ancak yalnızca standart yazı tiplerinden birini kullanmak mutlaka sorunu çözmez.

Belgelerimin tümü Times New Roman’daydı, kalın ve italikten başka bir meraklısı kullanmıyordu. Ya da öyle düşünmüştüm. Varsayılan şablonumda otomatik karakter aralığı etkin olduğunun ( bariz nedenlerden dolayı ) ortaya çıktı. PDF'ye dışa aktarırken, Word aslında bu bitiş harflerinin her birini ayrı bir yazı tipi nesnesi olarak belgeye gömüp tüm inancın ötesine doğru şişiriyordu.

Düzeltme basittir, her seferinde yapmayı hatırlamanız gerekir:

  1. Belgedeki tüm metni seçin.
  2. Biçim → Yazı Tipi → Gelişmiş
  3. "Yazı tipleri için karakter aralığı" seçeneğinin işaretini kaldırın

İlginç bir şekilde, bitişik harfleri, bağlamsal alternatifleri ve diğer gelişmiş tipografi özelliklerini etkin bırakabilirsiniz; Elde edilen PDF'nin boyutu üzerinde algılanabilir bir etkisi yoktur.

Belgeyi PDF olarak yeniden dışa aktarın, yüzlerce KB kadardır. Ne yazık ki, karakter aralığı alt olduğundan, bu şekilde yazdırmayı tavsiye etmem, ancak bir belgeyi e-postayla göndermek için iyi çalışır.


-3

Yardımcı olabilecek daha az teknik bir cevap vermek için, PDF'lerin gördüğünüz her şeyi tanımlamak için vektörleri (yani: matematiksel denklemler) kullanmasıdır. Tüm eğriler ve çizgiler, matematiksel denklemlerle tanımlanır ve bu nedenle, özellikle belgenizde görüntüler olduğunda, elinizde tutulması gereken çok fazla bilgi olması gerekir.

Bunun avantajı, herhangi bir çözünürlük veya ayrıntı kaybetmeden teorik olarak sonsuz yakınlaştırma yapabilmenizdir, çünkü çizgiler ve eğrilerin genişliği yoktur, bu sayede yakınlaştırma ile ölçeklenebilirler.

Tıpkı Google’ın son font değişikliğinin logonun boyutunu ~ 14KB’den ~ 300B’ye düşürdüğü gibi, daha basit fontlar da dosya boyutunuzun küçülmesine yardımcı olacaktır.


4
Bu benzetme işe yaramıyor. Hiç. Google’ın logo değişikliği yalnızca yazı tipi değil, aynı zamanda degradelerden düzlüğe kadar büyüklük farkını yaratır. Ayrıca, bir belgeyi büyük bir bitmap'e dışa aktarmak font + metinden çok daha büyük olacaktır. Yanıltıcı bir şekilde söylediğiniz gibi matematiksel denklemler, sadece glif başına birkaç düzine olan tam sayı koordinat çiftleridir. Yazı tipi olduğu için her harf için tekrarlanması gerekmiyor.
Joey
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.