PDF'teki Tablolar Neden Zor Çıkarılır? Excel Dönüşümünün Arkasındaki Mantık
5 dk okuma
Gözünüzün gördüğü tablo, dosyada yok
Bir PDF açıp içindeki tabloya baktığınızda ne görürsünüz? Satırlar, sütunlar, hücreler, belki kenarlıklar ve gölgeli başlık satırı. Yapı son derece nettir; bir bakışta hangi değerin hangi sütuna ait olduğunu anlarsınız.
Şimdi aynı dosyanın içine bakalım. PDF dosyasının içinde şu tür komutlar bulunur: şu noktaya şu karakterleri çiz, buradan buraya bir çizgi çek, şu dikdörtgeni açık gri ile doldur. Hepsi bu. Dosyanın hiçbir yerinde "burada üç sütunlu bir tablo var" yazmaz. Hücre diye bir kavram yoktur. Satır diye bir kavram yoktur.
Sizin tablo olarak gördüğünüz şey, düzenli hizalanmış metinler ile etrafına çizilmiş çizgilerin gözünüzde yarattığı izlenimdir. İnsan beyni bu örüntüyü anında tablo olarak yorumlar; bir algoritma ise bunu sıfırdan tahmin etmek zorundadır.
Bu yazıda o tahmin sürecinin nasıl işlediğini, neden bazı tabloların kusursuz çıkarıldığını ve bazılarının neden dağıldığını anlatıyoruz.
Dönüştürücü tabloyu nasıl bulur?
Bir tablo çıkarma algoritması aslında iki ayrı problem çözer. Önce sayfada tablo olabilecek bölgeleri bulur, sonra o bölgenin hücre ızgarasını çıkarır. İkinci adım için iki temel strateji vardır ve hangisinin kullanılabildiği, dönüşüm kalitesini büyük ölçüde belirler.
Çizgi tabanlı yaklaşım
Tabloda gerçek kenarlıklar varsa iş oldukça kolaydır. Algoritma sayfadaki yatay ve dikey çizgileri toplar, bunların kesişim noktalarını bulur ve ortaya çıkan ızgarayı hücre yapısı olarak kabul eder. Ardından her hücrenin sınırları içine düşen metin parçalarını o hücreye atar.
Bu yaklaşım güvenilirdir çünkü tahmin payı azdır; çizgiler dosyada açıkça yazılıdır. Tam kenarlıklı, düzenli çizilmiş tablolar bu yüzden neredeyse kusursuz aktarılır.
Boşluk tabanlı yaklaşım
Tablo kenarlıksızsa, ki modern belge tasarımında bu çok yaygındır, algoritmanın elinde çizgi yoktur. Bu durumda tek ipucu hizalamadır. Algoritma şunu yapar: farklı satırlardaki metin parçalarının yatay başlangıç konumlarına bakar ve birbiriyle hizalanmış olanları aynı sütuna ait kabul eder. Benzer şekilde dikey konumlara bakarak aynı satırdaki hücreleri gruplar.
Bu yaklaşım işe yarar ama kırılgandır. Bir hücre boşsa hizalama örüntüsü kesintiye uğrar. Bir hücrede metin sağa hizalıysa ve diğerleri sola hizalıysa algoritma bunları farklı sütun sanabilir. Bir hücrede metin iki satıra taşıyorsa, ikinci satır ayrı bir tablo satırı olarak yorumlanabilir.
En sık bozulan durumlar ve nedenleri
Neden bazı tabloların dağıldığını anlamak, hangi belgelerde ne beklemeniz gerektiğini de gösterir.
Birleştirilmiş hücreler. İki sütuna yayılan bir başlık, ızgara mantığını bozar. Algoritma bu metnin hangi sütuna ait olduğuna karar vermek zorunda kalır ve genellikle ilkine atar, bu da alttaki verilerle hizasızlık yaratır.
Hücre içinde çok satırlı metin. Uzun bir açıklama hücre içinde üç satıra sarmışsa, boşluk tabanlı yaklaşım bunu üç ayrı tablo satırı sanabilir ve diğer sütunlardaki tek satırlık değerlerle hizası kayar.
Boş hücreler. Boş bir hücre, o konumda hiçbir metin çizilmediği anlamına gelir. Algoritma orada bir sütun olduğunu anlayamayabilir ve sağdaki değerler bir sütun sola kayarak yerleşir. Bu, sessizce yanlış veri üreten en tehlikeli hata türüdür.
Sayfa aşan tablolar. PDF'te her sayfa bağımsızdır. Tablo bir sonraki sayfada devam ediyorsa algoritma bunu ayrı bir tablo olarak ele alır. Araya giren sayfa başlıkları, sayfa numaraları ve tekrar eden sütun başlıkları veriye karışır.
İç içe geçmiş başlıklar. Üstte geniş bir kategori başlığı, altında alt başlıklar bulunan iki katmanlı yapılar Excel'in düz tablo modeline doğrudan çevrilemez ve genellikle düzleştirilir.
Formüller neden gelmez?
Bu, kullanıcıların en çok şaşırdığı konudur, ama sebebi son derece basittir: formüller PDF dosyasında hiç yoktur.
Bir Excel dosyasını PDF olarak kaydettiğinizde ne olur? Excel önce tüm formülleri hesaplar, sonuçları bulur ve o sonuçları sayfaya çizer. PDF dosyasına yazılan şey 1.250 sayısıdır; o sayıyı üreten toplama formülü değil. Formül, kaydetme anında kalıcı olarak kaybolmuştur.
Dolayısıyla hiçbir dönüştürücü PDF'ten formül çıkaramaz, çünkü çıkarılacak bir formül yoktur. Dönüşüm sonrası elinizde doğru sayılar olur ama bunlar sabit değerlerdir; hesaplama mantığını yeniden kurmanız gerekir. Aynı mantık hücre biçimlendirmesi, koşullu biçimlendirme kuralları ve veri doğrulama ayarları için de geçerlidir; hepsi PDF'e yazılırken kaybolur.
Bu, dönüşümün bir eksikliği değil, formatın doğasıdır. Formüllere ihtiyacınız varsa tek yol, belgeyi üreten kişiden orijinal dosyayı istemektir.
Taranmış tablolar: ekstra bir hata katmanı
Taranmış bir belgede sayfa aslında bir fotoğraftır ve içinde okunacak hiçbir metin komutu yoktur. Bu dosyalarda önce OCR yani optik karakter tanıma çalışmalıdır.
Tablolarda OCR'ın özel bir riski vardır: sayısal verilerde karakter karışıklığı. Sıfır ile büyük O harfi, bir rakamı ile küçük l harfi, altı ile sekiz, üç ile sekiz gibi çiftler düşük çözünürlüklü taramalarda kolaylıkla yanlış tanınır. Metin belgesinde böyle bir hata gözle hemen fark edilir çünkü kelime anlamsızlaşır. Tabloda ise 68 yerine 63 yazılması hiçbir şekilde göze batmaz ve tüm hesabınıza sessizce yanlış olarak girer.
Bu yüzden taranmış tablolarda çıktıyı denetlemek isteğe bağlı bir adım değildir. Orijinalde toplam satırı varsa Excel'de aynı toplamı alıp karşılaştırmak, en hızlı ve en etkili doğrulama yöntemidir.
Hangi tablolar sorunsuz aktarılır?
Bu bilgiyi pratik bir beklenti haritasına çevirelim. Şu özellikleri taşıyan tablolar neredeyse eksiksiz aktarılır: tam kenarlıklı, her hücrede tek satır metin bulunan, birleştirilmiş hücre içermeyen, tek sayfaya sığan ve metin tabanlı olan tablolar. Banka ekstreleri, basit fiyat listeleri ve düz veri dökümleri genellikle bu kategoriye girer.
Şu özellikler ise düzeltme gerektirir: kenarlıksız ve yalnızca boşlukla hizalanmış tablolar, çok satırlı hücreler, iç içe başlıklar, sayfa aşan uzun tablolar ve taranmış belgeler. Bu tür dosyalarda dönüşümü bir başlangıç noktası olarak görmek, elle giriş yapmaktan yine de çok daha hızlıdır; ama sonucu denetlemeden kullanmamak gerekir. Elinizdeki dosyada ne çıkacağını görmek için PDF'ten Excel'e aracını deneyebilirsiniz.
Özetle
PDF dosyalarında tablo yapısı çoğu zaman hiç saklanmaz; yalnızca metin koordinatları ve çizgiler bulunur. Dönüştürücüler hücre ızgarasını ya çizgilerden okuyarak ya da hizalama örüntülerinden tahmin ederek çıkarır. Çizgili ve düzenli tablolarda sonuç güvenilirdir; kenarlıksız, birleşik hücreli ya da sayfa aşan tablolarda tahmin payı büyür ve düzeltme gerekir. Formüller hiçbir koşulda gelmez çünkü PDF'e hiç yazılmamışlardır. Taranmış tablolarda ise OCR ayrı bir hata katmanı ekler ve sayısal doğrulama zorunlu hale gelir.
Sıkça Sorulan Sorular
PDF'te tablo diye bir yapı gerçekten hiç yok mu?
Standart PDF dosyalarının büyük çoğunluğunda gerçekten yoktur. Dosyanın içinde yalnızca hangi karakterin sayfanın hangi koordinatına çizileceği ve hangi çizginin nereden nereye çekileceği yazar. Gözünüzün tablo olarak gördüğü şey, düzenli hizalanmış metinler ile etraflarına çizilmiş çizgilerin birleşiminden doğan görsel bir izlenimdir. Bir istisna vardır: erişilebilirlik kurallarına uygun üretilmiş etiketli PDF'lerde tablo yapısı açıkça işaretlenir ve bu dosyalarda çıkarma çok daha isabetli olur, ancak pratikte karşılaşılan dosyaların çoğu etiketsizdir.
Dönüştürücü hücre sınırlarını nasıl tahmin ediyor?
İki temel ipucu kullanılır. Birincisi çizgilerdir: sayfada çizilmiş yatay ve dikey çizgiler varsa bunların kesişimleri hücre ızgarasını doğrudan verir ve sonuç oldukça güvenilir olur. İkincisi hizalamadır: çizgi yoksa algoritma, farklı satırlardaki metin parçalarının benzer yatay konumlarda başlayıp başlamadığına bakar ve dikey olarak hizalanmış metin kümelerini sütun olarak yorumlar. İkinci yöntem doğası gereği tahmine dayalıdır ve özellikle boş hücreleri olan ya da içeriği farklı hizalanmış tablolarda yanılabilir.
Excel'e aktardığım tabloda formüller neden yok?
Çünkü formüller PDF dosyasında hiçbir zaman bulunmaz. Bir Excel dosyasını PDF olarak kaydettiğinizde hesaplamaların sonuçları sayfaya çizilir, ancak o sonuçları üreten formüller dosyaya hiç yazılmaz. PDF yalnızca görüntüyü saklar, hesaplama mantığını değil. Dolayısıyla dönüşüm sonrası elinizde doğru sayılar olur ama bunlar sabit değerlerdir. Formülleri geri kazanmanın tek yolu, belgeyi üreten kişiden orijinal Excel dosyasını istemektir; dönüşüm bu bilgiyi yeniden üretemez çünkü kaynakta hiç yoktur.
Aynı tabloyu farklı araçlar neden farklı çıkarıyor?
Çünkü hücre sınırı tahmini için kullanılan eşik değerleri her araçta farklıdır. İki metin parçası arasındaki boşluğun ne kadar geniş olması gerektiğinde bunların ayrı hücreler sayılacağı, hangi hizalama sapmasının hâlâ aynı sütun kabul edileceği gibi kararlar tasarım tercihleridir. Bu farklar çizgili ve düzenli tablolarda hiç hissedilmez çünkü orada tahmine gerek kalmaz. Kenarlıksız, düzensiz aralıklı tablolarda ise aynı dosya farklı araçlarda gözle görülür biçimde farklı sonuçlar verebilir.
Bu konuyu PDF → Excel Dönüştür aracıyla hemen deneyin.
PDF → Excel Dönüştür aracını dene