Mengapa PDF yang dihasilkan dari MS Word begitu besar?

70

Saya membuat dokumen MS Word sederhana yang hanya berisi kalimat ini:

Ini adalah dokumen kecil.

Tidak ada lagi. Kemudian saya menyimpan dokumen ini sebagai DOCX dan PDF. Berikut ukuran file:

DOCX: 12 kB
PDF: 89 kB

Perbedaan ini sangat besar , secara teknis, dan itu benar-benar mulai mengganggu saya ketika sebagian besar dokumen tekstual yang puluhan kB di DOCX mulai menghasilkan PDF yang ratusan kB besar. Apa yang tidak efisien tentang format PDF? Atau hanya Word yang menggunakan beberapa algoritma output yang mengerikan?

BTW, pengaturan output PDF diatur untuk membuat file sekecil mungkin:

Opsi output PDF

Borek Bernard
sumber
28
Dugaan saya adalah bahwa PDF menyematkan font, yang diperlukan jika dokumen harus benar-benar portabel.
AFH
2
Ya, subset font tertanam. Mungkin itu. Saya sudah mencoba mengulangi kalimat yang sama beberapa ratus kali dan ukuran file PDF hanya bertambah 4 kB yang hampir benar. (DOCX tetap pada 12kB yang tidak mengherankan karena itu adalah format zip dan teks yang diulang akan mengambil hampir tidak ada byte baru.)
Borek Bernard
1
@AFH Itu tidak menanamkan Arial. i.stack.imgur.com/aUZgt.png
MonkeyZeus
1
Memikirkannya dari sudut pandang kompleksitas Kolmogorov, Microsoft Word lebih besar dari rata-rata penampil PDF Anda, lebih dari beberapa ratus kB.
hobbs
8
Saya pikir pertanyaan sebenarnya adalah mengapa format pengolah kata Anda jauh lebih besar daripada LaTeX yang setara ... :-p
Toby Speight

Jawaban:

104

Jika Anda membuka PDF di notepad ++, Anda akan menemukan:

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

dan objek itu direferensikan di sini di bagian akhir dalam instruksi / 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

Font yang digunakan oleh dokumen Word akan disematkan ke dalam PDF sehingga pdfnya mandiri.

Saya menggunakan slide-deck ini untuk mendekripsi instruksi PDF.

Jika Anda ingin mencegah font yang tertanam dalam file PDF pastikan dokumen Word Anda menggunakan salah satu dari 14 tipografi standar yang tersedia di pemirsa PDF, (sumber Wikipedia )

  • Times New Roman> Times (v3) (dalam italic biasa, miring, tebal, dan tebal)
  • Courier New> Courier (secara reguler, miring, tebal dan miring)
  • Arial> Helvetica (v3) (dalam oblique reguler, miring, tebal, dan tebal)
  • Simbol> Simbol
  • Wingdings> Zapf Dingbats
rene
sumber
6
Terkait: superuser.com/questions/607840/…
Borek Bernard
2
Sidenote: Dek geser yang ditautkan (presentasi Powershell) layak dibaca. Sangat detail. Jangan lewatkan komentar di mana ia menjelaskan struktur PDF
nixda
3

Ini telah terjadi berulang kali pada saya di Microsoft Word ketika mencoba untuk mengekspor naskah sederhana ke PDF. Dokumen Word 5–8 halaman, berukuran ~ 50 KB, akan berakhir sebagai file PDF 10+ MB, yang terlalu besar untuk dapat diemailkan kepada seseorang secara wajar.

Jawaban Rene ada di jalur yang benar — masalahnya adalah font bisa dimasukkan ke dalam dokumen — tetapi hanya menggunakan salah satu tipografi standar tidak akan menyelesaikan masalah.

Semua dokumen saya ada di Times New Roman, tidak menggunakan huruf tebal dan miring. Atau begitulah yang saya pikirkan. Ternyata saya mengaktifkan kerning otomatis di templat default saya (untuk alasan yang jelas ). Ketika mengekspor ke PDF, Word sebenarnya menanamkan masing-masing ligatur tersebut sebagai objek font terpisah ke dalam dokumen, membuatnya kembung di luar semua kepercayaan.

Cara mengatasinya sederhana, Anda hanya harus ingat untuk melakukannya setiap kali:

  1. Pilih semua teks dalam dokumen.
  2. Format → Font → Lanjutan
  3. Hapus centang "Kerning for fonts"

Menariknya, Anda dapat membiarkan ligatur, alternatif kontekstual, dan fitur tipografi canggih lainnya diaktifkan; mereka tidak memiliki efek yang terlihat pada ukuran PDF yang dihasilkan.

Ekspor ulang dokumen dalam bentuk PDF, dan itu turun menjadi sekitar seratus KB. Sayangnya, kerningnya di bawah standar, jadi saya tidak akan merekomendasikan mencetak dengan cara ini, tetapi berfungsi baik untuk mengirim dokumen melalui email.

Cody Grey
sumber
-3

Untuk memberikan jawaban yang kurang teknis yang dapat membantu adalah bahwa PDF menggunakan vektor (yaitu: persamaan matematika) untuk menggambarkan semua yang Anda lihat. Semua kurva dan garis ditentukan oleh persamaan matematika, dan dengan demikian akan selalu ada banyak informasi untuk disimpan, terutama ketika Anda memiliki gambar dalam dokumen Anda.

Manfaat dari ini adalah Anda dapat memperbesar secara teoritis mendekati tanpa mengurangi resolusi atau detail, karena garis dan kurva tidak memiliki lebar, sehingga mereka dapat skala dengan zoom Anda.

Seperti halnya perubahan font Google baru-baru ini mengurangi ukuran logo dari ~ 14KB menjadi ~ 300B, font yang lebih sederhana kemungkinan akan membantu mengurangi ukuran file Anda.

Ben Sandeen
sumber
4
Analogi itu tidak berhasil. Sama sekali. Perubahan logo Google bukan hanya font, tetapi juga dari gradien ke flat yang membuat perbedaan ukuran. Selain itu, mengekspor dokumen ke bitmap besar akan jauh lebih besar daripada font + teks. Persamaan matematika, seperti yang Anda katakan secara keliru, hanyalah pasangan koordinat bilangan bulat, yang mungkin ada beberapa lusin per mesin terbang. Dan karena ini adalah font, tidak perlu diulang untuk setiap huruf.
Joey