PDF doğru görünüyorsa ancak düz metin düzenleyicisine yapıştırıldığında farklı karakterler oluşuyorsa, yazı tiplerini değiştirmeden veya OCR'yi çalıştırmadan önce nedeni kontrol edin. Sayfaya çizilen şekil ile temsil ettiği karakter arasındaki eşleme hatalı olabilir. Bu PDF metin hatalarının düzeltilmesi, işlemin hangi bölümünün başarısız olduğunu belirlemekle başlar.
Metin neden doğru görünüp yanlış kopyalanabiliyor?
PDF metin içeriği, Unicode metni yerine yazı tipine özgü kaynak karakter kodlarını saklayabilir. PDF okuyucu, bir glifi bulmak ve çizmek için yazı tipini ve kodlama bilgilerini kullanır. Kopyalama aynı zamanda bu kodların anlamlı karakterlere çevrilmesini de gerektirir.
Bu nedenle A harfinin çizilmesi, çıkartmanın A döndüreceğini garanti etmez. ToUnicode, PDF kaynak karakter kodlarını Unicode karakter dizileriyle ilişkilendiren bir yazı tipi sözlüğündeki eşlemedir. Metnin görüntülenmesi ve çıkarılması arasındaki bu ayrım Adobe PDF Referansı, bölüm 5.9'de açıklanmaktadır.

Yazı tipi eşleme aslında ne anlama geliyor?
Bu üç kavram birbiriyle ilişkilidir ancak birbirinin yerine kullanılamaz:
| Haritalama | Ana rol |
|---|---|
Bir yazı tipi dosyasının içindeki cmap tablosu | Karakter kodlarını glif indeksleriyle eşler; Unicode alt tabloları Unicode kodlarını kullanır |
| PDF Kodlama; kompozit yazı tipleri Encoding CMap kullanabilir | PDF kaynak karakter kodlarını yorumlar ve çizilecek glifin bulunmasına yardımcı olur |
PDF ToUnicode | Kopyalama ve çıkarma için PDF kaynak karakter kodlarını Unicode metniyle eşler |
İlk tür için OpenType cmap spesifikasyonu'ye bakın. Burada tartışılan onarım üçüncüyü hedef alıyor; yazı tipi dosyasını yeniden oluşturmaz veya sayfadaki glifleri değiştirmez.
Eksik bir ToUnicode eşlemesi her zaman bozuk metne neden olmaz. Bir PDF okuyucu bazen metni standart bir kodlamadan, bilinen glif adlarından veya bir karakter koleksiyonundan kurtarabilir. Bunun tersine, bir eşleme tablosu var olabilir ve yine de hatalı ilişkilendirmeler içerebilir.
Öncelikle sorunun eşlemeden kaynaklanıp kaynaklanmadığını kontrol edin
Kısa bir pasajı düz metin düzenleyicisine kopyalayın ve orijinal sayfayla karşılaştırın:
| Belirti | İlk önce ne kontrol edilmeli |
|---|---|
| Sayfa doğru görünüyor ancak kopyalanan karakterler sürekli olarak başka karakterlere dönüşüyor | Eksik veya yanlış karakter eşlemeleri |
| Metin değil, yalnızca bir resim seçebilirsiniz | Eksik bir metin katmanı veya ana hatlara dönüştürülmüş metin; kaynak dosyayı veya OCR'yi düşünün |
| Taranan sayfada metin seçilebiliyor ancak görüntüyle eşleşmiyor | OCR metin katmanındaki tanıma sonuçları |
| Tek tek karakterler doğru ancak sütunlar veya tablolar hatalı | Okuma sırası ve düzen çıkarma |
| Sayfanın kendisi eksik karakterler veya kutular içeriyor | Yazı tipi kaynakları, glif kapsamı veya ekran kodlaması |
Bunlar yalnızca görünüme dayalı teşhisler değil, sorun giderme ipuçlarıdır. Yazı tipi yerleştirme ve doğru kopyalama da ayrı konulardır; bkz. PDF yazı tipi yerleştirme ve alt kümeleri.
Orijinal glifleri kullanarak kopyalanan metni nasıl düzeltebilirsiniz?
Belirli bir yazı tipindeki <0001> kaynak kodunun A çizdiğini ancak 错 (U+9519) ile hatalı şekilde eşleştiğini varsayalım. Bu, tam bir CMap dosyası değil, açıklayıcı bir eşleme parçasıdır:
Before: <0001> <9519>
After: <0001> <0041>
<0001>, Unicode karakteri U+0001 değil, bu yazı tipindeki bir PDF kaynak kodudur. Bunu U+0041 ile eşlemek, glifin A'yi temsil ettiğini belirtir. Bir ligature'nin (bir glifi paylaşan birkaç harf), fi gibi birkaç Unicode karakteriyle eşlenmesi de gerekebilir.
Eşleme onarımının uygun olduğunu onayladıktan sonra PDF metin onarım aracı'yi kullanın:
- PDF'yi seçin, ardından düzeltilecek yazı tipini seçin.
- Izgaradaki orijinal glifleri karşılaştırın ve her glifin altına doğru metni girin.
- Onarılan PDF dosyasını dışa aktarın ve karşılaştırma için orijinali saklayın.
Aynı yazı tipinin ve kaynak kodunun kullanıldığı her yerde değişiklik uygulanır. Adları eşleşse bile farklı yazı tiplerini ayrı ayrı kontrol edin. OCR yalnızca bir kelimeyi yanlış tanıdıysa, bir karakterin genel olarak yeniden eşlenmesi zaten doğru olan metne de zarar verebilir.
Onarımı nasıl doğrularsınız?
Dışa aktarılan dosyayı yeniden açın ve hedef PDF okuyucunuzda örnek metni kopyalayıp arayın. Düzenlemediğiniz aynı kodun ve yazı tiplerinin diğer oluşumlarını kontrol edin. Yalnızca ilk hatalı karakteri test etmek yerine, sayfa görünümünü karşılaştırın ve noktalama işaretlerini, bitişik harfleri ve sayıları inceleyin.
Bazı PDF'ler, destekleyici yazılımın tercih edebileceği yedek metin sağlamak için ActualText'yi de kullanır. ToUnicode'yi değiştirmek sorunu çözmezse bu geçersiz kılmayı kontrol edin. Geçerli araç ActualText hakkında uyarı veriyor ancak düzenlemiyor. PDF İlişkilendirme açıklaması'ye bakın.
OCR hataları için metin katmanını düzeltin veya yeniden tanıyın. Orijinal düzen dosyanız varsa onu düzeltmeyi ve yeni bir PDF'yi dışa aktarmayı düşünün. Açılmayacak veya yapısal hataları tetiklemeyecek dosyalar için farklı bir yaklaşıma ihtiyaç vardır; bkz. PDF format onarımı uygun olduğunda.
Yazı tipi karakter eşleme sorununu belirledikten sonra yerel PDF metin onarım aracı ile sorunu düzeltin. Dosyalar tarayıcınızda yüklenmeden işlenir. Dışa aktardıktan sonra da kopyalanan metni ve sayfa görünümünü doğrulamanız gerekir.


