İçeriğe geç
LeedyBox
Destek ol

PDF'den Metin Çıkarma: Metin Katmanı ve OCR

Bazı PDF'ler metinlerini bir saniyede verir; bazıları ise yalnızca sayfaların görüntülerini içerir ve OCR gerektirir. Bu rehber metnin PDF'te nasıl saklandığını, çıkarılan metnin neden bozuk ya da yanlış sırada gelebileceğini, OCR'nin taranmış sayfaları nasıl okuduğunu ve doğruluğunu nelerin etkilediğini, sonuca güvenmeden önce nelere bakmanız gerektiğini açıklar.

İki Tür PDF Sayfası

Bir PDF sayfası metni iki şekilde taşıyabilir. Kelime işlemciden, tarayıcıdan veya tasarım programından dışa aktarılan PDF'lerin çoğunda bir metin katmanı vardır: her karakter bir yazı tipindeki kod olarak saklanır ve sayfada belirli bir konuma yerleştirilir. Taranmış veya fotoğrafı çekilmiş bir sayfa ise farklıdır. Sayfanın tek bir görüntüsüdür ve yazılım için üzerindeki harfler yalnızca piksellerdir.

Sayfa türüNasıl oluşturuldu?Çıkarma ne verir?
Metin PDF'iBir uygulamadan PDF olarak dışa aktarıldı veya yazdırıldıSaklanan karakterler, genellikle birebir
Taranmış PDFTarayıcı, telefon kamerası veya faksOCR görüntüyü okuyana kadar hiçbir şey
Aranabilir taramaSonradan OCR metin katmanı eklenmiş bir taramaO zamanki OCR sonucu ve hataları
Anahatlara dönüştürülmüş metinTasarım programında şekillere dönüştürülmüş metinKarakter yok; yalnızca OCR okuyabilir

Hangi türle karşı karşıya olduğunuzu genellikle bir PDF görüntüleyici gösterir. Tek bir kelimeyi seçebiliyor veya arama kutusuyla bulabiliyorsanız sayfada metin katmanı vardır. Sürüklediğinizde sayfanın tamamı tek blok olarak seçiliyorsa ya da arama hiçbir şey bulamıyorsa sayfa bir görüntüdür. Tek bir dosya ikisini birden içerebilir; örneğin bilgisayarda yazılmış ve ekleri taranmış bir rapor.

Metin Katmanı Çıkarma Nasıl Çalışır?

Bir PDF paragraf saklamaz. Her biri bir yazı tipi ve konuma sahip karakter parçalarını, çoğu zaman bir kelime ya da birkaç harf hâlinde, dosyayı oluşturan programın seçtiği sırayla saklar. Bir çıkarma aracı bu parçaları okur ve konumlarından satırları yeniden kurar.

LeedyBox'ın PDF'den Metne aracı parçaları Firefox'un PDF motoru olan PDF.js ile okur. Dikey konum 5 punto (yaklaşık 1,8 mm) değerinden fazla değiştiğinde yeni bir satır başlatır, aksi hâlde parçaları bir boşlukla birleştirir; sonuçtaki her sayfa --- Sayfa 1 --- gibi bir işaretle başlar. Tek sütunlu belgelerin çoğu okunaklı çıkar, ancak bazı yan etkiler vardır:

  • Örneğin harf aralığı nedeniyle birkaç parça hâlinde saklanmış bir kelime, içinde boşluklarla çıkabilir.
  • Sütunlar, kenar kutuları ve görsel altyazıları saklandıkları sırayla gelir; bu sıra okuma sırasından farklı olabilir.
  • Üst simgeler, dipnot işaretleri ve satırdan yukarıda ya da aşağıda duran diğer metinler ayrı bir satır oluşturabilir.
  • Üst bilgi, alt bilgi ve sayfa numaraları her sayfanın metnine dahildir.

Çıkarılan Metin Neden Bozuk Görünebilir?

PDF'in içinde metin, Unicode karakterleri olarak değil bir yazı tipinin glif kodları olarak saklanır. Kodları yeniden harflere çevirmek için dosyada bir eşleme tablosu gerekir. İyi hazırlanmış PDF'ler her yazı tipi için bir ToUnicode tablosu içerir; standart kodlama kullanan yazı tipleri ise bu tablo olmadan da çözülebilir. Sorun, bir yazı tipi kendi numaralandırmasıyla alt küme olarak gömüldüğünde ve eşleme tablosu olmadığında başlar: kodlar dosyanın dışında bir anlam taşımaz ve sayfa düzgün görünse de çıkarma işlemi yanlış harfler, simgeler veya boş kutular üretir. Eski yazı tipleriyle hazırlanmış Türkçe belgelerde ğ, ş ve ı gibi harflerin başka karakterlere dönüşmesinin yaygın bir nedeni de budur.

Çince, Japonca ve Korece yazı tipleri kendi tabloları yerine çoğu zaman Adobe-Japan1 veya Adobe-Korea1 gibi önceden tanımlanmış karakter eşlemelerini (CMap) kullanır. LeedyBox aracı bu CMap'leri PDF.js ile birlikte yükler; böylece basit araçların bozduğu birçok Doğu Asya belgesini doğru okur. Diğer yaygın nedenler; fi gibi tek glif olarak saklanan bitişik harfler, harfleri şekil olarak çizilen ve çoğu zaman eşleme tablosu olmayan Type 3 yazı tipleri ve kopyalamayı zorlaştırmak için kodlaması bilerek karıştırılmış PDF'lerdir.

Bir sayfada metin katmanı varsa araç, metin bozuk olsa bile onu kullanır ve o sayfada OCR çalıştırmaz. Böyle bir sayfayı OCR ile okumak için sayfayı PDF'den JPG'ye aracıyla görüntüye dönüştürün ve görüntüyü Görselden Metne (OCR) ile okuyun.

LeedyBox Aracı OCR'yi Ne Zaman Kullanır?

Araç her sayfa için ayrı karar verir. Bir sayfanın metin katmanında 15'ten az karakter varsa sayfa normal boyutunun iki katında, inç başına yaklaşık 144 pikselde bir görüntü olarak çizilir ve Tesseract.js tarafından "OCR Dili" alanında seçilen dil ve İngilizceyle okunur. Bu nedenle yazılmış ve taranmış sayfaların karıştığı bir belgede yazılmış sayfalar birebir okunur, yalnızca taramalar OCR'den geçer.

Bir damga veya sayfa numarası yüzünden birkaç karakter içeren taranmış bir sayfa yine boş sayılır ve OCR'den geçer. Zaten 15 veya daha fazla karakterlik bir metin katmanı olan bir tarama ise geçmez; tarayıcının eklediği düşük kaliteli bir OCR katmanı olduğu gibi çıkar. OCR motoru ve dil verileri OCR ilk kez çalıştığında leedybox.com'dan indirilir, bu yüzden ilk taranmış sayfa daha uzun sürer. PDF'iniz tarayıcıda okunur ve yüklenmez.

OCR Pikselleri Nasıl Metne Dönüştürür?

OCR aşamalar hâlinde çalışır. Motor önce görüntüyü siyah beyaza çevirir ve metin bloklarını, satırları ve kelimeleri bulur; bu adıma sayfa bölütleme denir. Ardından bir dil veya yazı sistemi için eğitilmiş bir sinir ağı her satırı okur ve dilin kelime listelerinden de yararlanarak en olası karakter dizisini seçer. Sonuç bir kopya değil, en iyi tahmindir: 0 ile O, 1, l ile I veya rn ile m gibi benzer şekiller karışabilir ve dil verilerinde olmayan kelimeler daha sık yanlış okunur.

Dil ayarı diğer tüm seçeneklerden daha önemlidir. Latin harfleriyle eğitilmiş bir model Tayca veya Japonca okuyamaz ve seçilmemiş bir dildeki metin genellikle yanlış karakterler olarak çıkar. Türkçe için doğru dili seçmek ı, İ, ğ ve ş gibi harflerin tanınmasına da yardımcı olur. LeedyBox aracında "Yalnızca İngilizce" dışındaki tüm seçenekler seçilen dili İngilizceyle birleştirir; bu da İngilizce ürün adları içeren Türkçe bir sözleşme gibi karışık belgelerde işe yarar.

OCR Doğruluğunu Neler Etkiler?

EtkenEtkisiNe yardımcı olur?
ÇözünürlükKüçük yazılar harfleri ayırt ettiren ayrıntıları kaybeder300 DPI veya üzerinde tarama; küçük yazılar için daha yüksek
Eğiklik ve kavisEğik satırlar ve kitapların kavisli sayfaları satır tespitini zorlaştırırDüz ve hizalı tarama; tam yukarıdan fotoğraf
Kontrast ve parazitGri arka planlar, lekeler, arka sayfanın görünmesi ve JPEG bozulmaları çizgi gibi görünürBeyaz zemin üzerinde koyu metinli temiz taramalar
Yazı tipleriSüslü, çok ince veya çok kalın yazı tipleri daha sık yanlış okunurSonucu dikkatle kontrol etmek
El yazısıTesseract basılı metinle eğitilmiştirKötü sonuç beklemek; metni yazmak daha iyi
Dikey metinDikey yazılmış Japonca veya Çince sık sık yanlış okunurDikkatle kontrol etmek veya yeniden yazmak

Araç sayfaları inç başına yaklaşık 144 pikselde çizdiği için dipnotlar veya bir sözleşmenin küçük puntolu kısımları gibi küçük yazılar iyi bir taramada bile zor okunabilir. Bu tür sayfalar için PDF'den JPG'ye daha yüksek çözünürlükte görüntüler üretir; Görselden Metne (OCR) ise küçük metni iki kat boyutta yeniden okuyabilir ve tanımadan önce kontrastı artırabilir.

Tablolar, Sütunlar ve Düzen

Sonuç düz metindir. Tablolar ızgaralarını kaybeder, çok sütunlu sayfalar sütun sütun ya da sütunları kesen satırlar hâlinde çıkabilir; metin kutuları ve görsel altyazıları da dosyanın veya OCR motorunun okuma sırasında koyduğu yere düşer. Kelimeleri tanımak ile bir düzeni yeniden kurmak ayrı sorunlardır ve araç yalnızca ilkini çözer. Sayı tablolarında her değeri asılla karşılaştırın veya tabloyu bir elektronik tabloya yeniden girin; uzun belgelerde metni çıkardıktan sonra başlıkları ve paragrafları düzenleyicinizde yeniden kurun.

Sonucu Kontrol Etmek ve Temizlemek

  • Birkaç sayıyı, adı ve tarihi asılla karşılaştırın; rakamlardaki OCR hataları kolayca gözden kaçar.
  • Tipik karışıklıkları arayın: 0 ile O, 1, l ile I, 5 ile S, rn ile m ve eksik ya da yanlış Türkçe karakterler.
  • Satır sonunda kısa çizgiyle bölünmüş kelimeleri ve paragrafların ortasında kırılmış satırları yeniden birleştirin.
  • Kesintisiz metne ihtiyacınız varsa sayfa işaretlerini, üst bilgileri ve sayfa numaralarını silin.
  • Sonucu "Metni Kopyala" veya ".TXT olarak kaydet" ile saklayın; kaydedilen dosya UTF-8 düz metindir.

Sık Sorulan Sorular

Bir sayfa neden boş çıkıyor?

Sayfanın metin katmanı yoktu ve OCR okuyabileceği bir şey bulamadı: tarama boş, çok soluk veya çok küçük olabilir ya da metin el yazısı olabilir. Daha net bir tarama deneyin veya sayfayı PDF'den JPG'ye ile dönüştürüp Görselden Metne aracını kontrast ve büyütme seçenekleriyle kullanın.

Parola korumalı PDF'ler okunabilir mi?

Açılırken parola soran bir PDF okunamaz; araç bunun yerine bir hata gösterir. Yetkiniz varsa dosyayı parolayla bir PDF görüntüleyicide açın ve önce korumasız bir kopyasını kaydedin.

Araç aranabilir bir PDF oluşturabilir mi?

Hayır. Sonuç, kopyalayabileceğiniz veya .txt dosyası olarak kaydedebileceğiniz düz metindir ve PDF'in kendisi değişmez. Aranabilir PDF oluşturan programlar, taranmış her sayfanın üzerine görünmez bir OCR metin katmanı ekler.

OCR uzun belgelerde neden yavaş?

OCR motoru ve dil verileri indirildikten sonra her taranmış sayfa bir görüntü olarak çizilir ve tarayıcınızda tek tek tanınır. Daha yavaş bir cihazda bir sayfa birkaç saniye veya daha uzun sürebilir. Metin katmanı olan sayfalar tanıma gerektirmediği için çok daha hızlıdır.