PDF dosyam neden neredeyse hiç küçülmedi?
PDF dosyamı bir sıkıştırıcıdan geçirdim, 4,1 MB'tan 4,0 MB'a düştü. Araç bozuk mu?
PDF bir evrak dolabıdır
Hayal kırıklığına yol açan zihinsel model, PDF'yi bir belgenin resmi sanmaktır. Değildir. ISO 32000'de tanımlandığı haliyle bir PDF, numaralandırılmış nesnelerden oluşan bir kapsayıcıdır: sayfa ağaçları, çizim operatörleriyle dolu içerik akışları, gömülü yazı tipi programları, görüntü XObject'leri, form alanları, ek açıklamalar, içindekiler yapısı ve her nesnenin nerede başladığını söyleyen bir çapraz başvuru tablosu.
Bu nesnelerin çoğu zaten sıkıştırılmıştır. İçerik akışları genellikle Flate ile kodlanır; bu, bir ZIP dosyasının kullandığı algoritmanın aynısıdır. Gömülü fotoğraflar çoğunlukla DCT akışları olarak saklanır; bu da hiç değiştirilmeden aktarılmış JPEG verisidir. Yani genel amaçlı bir sıkıştırıcı bir PDF'ye baktığında, her biri zaten bir kez sıkıştırılmış şeylerle dolu bir kutuya bakıyordur.
Bir şey sıkıştırmadan önce baytların nerede olduğunu bulun
En işe yarar tek teşhis, elinizde ne tür bir belge olduğunu bilmektir; çünkü sonucu neredeyse tamamen bu belirler.
| Belge türü | Baytlar nerede | Yapısal kayıt ne yapabilir |
|---|---|---|
| Kelime işlemciden çıkan metin raporu | Gömülü yazı tipi programları ve küçük içerik akışları | Çok az; içerik zaten yoğun |
| Taranmış sayfalar | Sayfa başına bir büyük görüntü | Görüntülere dokunmadan neredeyse hiçbir şey |
| Sunum dışa aktarımı | Gömülü fotoğraflar ve renk geçişleri | Görüntüler slaytlar arasında yinelenmişse bir miktar |
| Teknik çizim | Uzun vektör içerik akışları | Akışları yeniden kodlayarak ve kullanılmayan nesneleri atarak bir miktar |
| Ekleri olan form | Gömülü dosyalar, JavaScript, ek açıklama sözlükleri | Fazlalıklar kaldırılabiliyorsa epeyce |
Yapısal kayıt gerçekte neyi kaldırır
Yapısal kayıt, hiçbir sayfanın görünümünü değiştirmeden belgeyi yeniden yazar. Artık hiçbir şeyin başvurmadığı nesneleri atabilir; bunlar, bir belge her düzenlenip artımlı olarak kaydedildiğinde birikir. Çapraz başvuru tablosunu sıkıştırabilir ve küçük nesneleri nesne akışlarına paketleyebilir. Belge meta verisini, küçük resimleri ve bazı üretici yazılımların geride bıraktığı düzenleme geçmişini atabilir.
Defalarca düzenlenip yeniden kaydedilmiş bir belgede bu büyük bir kazanç olabilir. Bir kelime işlemciden bir kez, temiz biçimde dışa aktarılmış bir belgede ise toplanacak bir şey yoktur: dosya zaten kendi en küçük haline yakındır ve dört megabayttan yüz kilobayt düşmesi tam da beklenecek sonuçtur.
Bir metin belgesi neden direnir
Metin ağırlıklı bir PDF'de dosyanın büyük bir bölümü genellikle gömülü yazı tipleridir. Bir yazı tipi programı, glif konturlarını ve görüntüleme ipuçlarını içeren derli toplu bir ikili dosyadır; oradadır, çünkü belge o yazı tipi kurulu olmayan bir makinede de birebir aynı görünmek zorundadır. Onu ya daha da alt kümelemeden ya da tümüyle kaldırmadan sıkıştırıp yok edemezsiniz; kaldırmak ise sayfanın görünümünü değiştirir.
Metnin kendisi minicik kalır. Yüz sayfalık düz yazı, sıkıştırmadan önce birkaç yüz kilobaytlık karakter demektir. Metin ağırlıklı PDF dosyanız büyükse, sözcüklere değil yazı tiplerine ve metnin arkasına gizlenmiş görüntülere bakın: üst bilgide tekrarlanan bir logo, arka planda bir filigran.
Bir tarama neden çarpıcı biçimde küçülür
Taranmış bir sayfa, bir kâğıt parçasının tek bir büyük fotoğrafıdır ve çoğu zaman inç başına 300 nokta ya da daha yüksek çözünürlükte alınır. 300 DPI'da bir A4 sayfası kabaca 2480 × 3508 pikseldir — bilgi içeriği birkaç kilobayt metinden ibaret bir sayfa için neredeyse dokuz milyon piksel. Taramaların rasterleştirilmiş sıkıştırmaya bu kadar çarpıcı yanıt vermesinin nedeni budur: işleme çözünürlüğünü düşürüp sayfa görüntülerini yeniden kodlamak, dosyanın gerçekten büyük olan kısmına saldırır.
Bu kipin yıkıcı olmasının nedeni de aynıdır. Bir sayfa resme dönüştüğünde aranabilir metin katmanı, bağlantılar, form alanları, ek açıklamalar, etiketli erişilebilirlik yapısı ve varsa dijital imza yok olur. FileSlimmer rasterleştirmeyi, yapısal kayıt hayal kırıklığı yarattığında sessizce devreye giren bir yedek olarak değil, bu uyarının iliştirildiği ayrı ve açıkça etiketlenmiş bir kip olarak ele alır.
Neden kimse size bir sayı vaat edemez
Bir PDF için hedef boyut, işleme çözünürlüğü ve görüntü kalitesi üzerinde yürütülen bir aramadır ve bu aramanın bir tabanı vardır: belirli bir çözünürlüğün altında, bir taramadaki metin okunabilir olmaktan çıkar. Belirli bir belgenin bu tabanın üstünde belirli bir bütçeye ulaşıp ulaşmayacağı sayfa sayısına, mürekkep yoğunluğuna, fotoğrafik içerik miktarına ve tarayıcının gürültüsüne bağlıdır. Aynı sayfa sayısına sahip iki belge çok farklı boyutlarda bitebilir.
Dürüst davranış, tabanda durup aramanın nerede durduğunu bildirmektir; FileSlimmer'ın PDF hedef hazır ayarları bunu yapar. Yazdığınız sayıyı her seferinde tutturan bir araç, ya sayı konusunda yalan söylüyordur ya da oraya ulaşmak için belgeyi mahvediyordur.
Aracı suçlamadan önce
- PDF'nin tarama olup olmadığına bakın. Bir satır metni seçmeyi deneyin: imleç hiçbir şey seçmiyorsa her sayfa bir görüntüdür.
- Sayfa sayısını boyutla karşılaştırın. Üç sayfalık 40 MB'lık bir dosya görüntü ağırlıklıdır; 900 sayfalık 40 MB'lık bir dosya ise tümüyle makul olabilir.
- Belgenin şifreli olup olmadığına bakın. Parola korumalı bir PDF, kilidi açılana kadar hiçbir şekilde yeniden yapılandırılamaz.
- İmzalı olup olmadığına bakın. İmzalı bir belgeyi yeniden yazmak imzayı geçersiz kılar ve bu genellikle büyük bir dosyadan daha kötü bir sonuçtur.
- Gerçekte neye ihtiyacınız olduğuna bakın. Göndermek zorunda olduğunuz altı sayfayı ayırmak, doksan sayfanın tamamını sıkıştırmaktan çoğu zaman daha iyidir.
Bunun için araçlar
Kaynaklar
- ISO 32000-2 — Document management, Portable Document Format
- Adobe — PDF 32000-1:2008, the freely published PDF 1.7 specification
- PDF Association — ISO 32000 and the PDF standards family