Jika PDF terlihat benar tetapi menempelkannya ke editor teks biasa menghasilkan karakter yang berbeda, periksa penyebabnya sebelum mengubah font atau menjalankan OCR. Pemetaan antara bentuk yang digambar pada halaman dan karakter yang diwakilinya mungkin salah. Memperbaiki kesalahan teks PDF ini dimulai dengan mengidentifikasi bagian mana dari proses yang gagal.
Mengapa teks terlihat benar tetapi salinannya salah?
Konten teks PDF dapat menyimpan kode karakter sumber khusus font, bukan teks Unicode. Pembaca PDF menggunakan font dan informasi pengkodean untuk mencari dan menggambar mesin terbang. Menyalin juga memerlukan penerjemahan kode-kode tersebut menjadi karakter yang bermakna.
Oleh karena itu, menggambar huruf A tidak menjamin bahwa ekstraksi akan menghasilkan A. ToUnicode adalah pemetaan dalam kamus font yang mengaitkan kode karakter sumber PDF dengan urutan karakter Unicode. Perbedaan antara menampilkan dan mengekstrak teks dijelaskan di Referensi Adobe PDF, bagian 5.9.

Apa sebenarnya arti pemetaan font?
Ketiga konsep ini saling terkait, namun tidak dapat dipertukarkan:
| Pemetaan | Peran utama |
|---|---|
Tabel cmap di dalam file font | Memetakan kode karakter ke indeks mesin terbang; Subtabel Unicode menggunakan kode Unicode |
| Pengkodean PDF; font komposit dapat menggunakan Encoding CMap | Menafsirkan kode karakter sumber PDF dan membantu menemukan mesin terbang yang akan digambar |
PDF ToUnicode | Memetakan kode karakter sumber PDF ke teks Unicode untuk disalin dan diekstraksi |
Untuk jenis pertama, lihat Spesifikasi OpenType cmap. Perbaikan yang dibahas di sini menargetkan yang ketiga; itu tidak membangun kembali file font atau mengganti mesin terbang pada halaman.
Pemetaan ToUnicode yang hilang tidak selalu menyebabkan teks kacau. Pembaca PDF terkadang dapat memulihkan teks dari pengkodean standar, nama mesin terbang yang dikenal, atau kumpulan karakter. Sebaliknya, tabel pemetaan mungkin ada dan masih berisi asosiasi yang salah.
Pertama periksa apakah pemetaannya masalahnya
Salin bagian pendek ke editor teks biasa dan bandingkan dengan halaman aslinya:
| Gejala | Apa yang harus diperiksa terlebih dahulu |
|---|---|
| Halaman terlihat benar, tetapi karakter yang disalin terus-menerus berubah menjadi karakter lain | Pemetaan karakter hilang atau salah |
| Anda hanya dapat memilih gambar, bukan teks | Lapisan teks hilang atau teks diubah menjadi kerangka; pertimbangkan file sumber atau OCR |
| Teks dapat dipilih pada halaman yang dipindai, namun tidak cocok dengan gambar | Hasil pengenalan pada lapisan teks OCR |
| Masing-masing karakter sudah benar, namun kolom atau tabel tidak berurutan | Urutan membaca dan ekstraksi tata letak |
| Halaman itu sendiri berisi karakter atau kotak yang hilang | Sumber daya font, cakupan mesin terbang, atau pengkodean tampilan |
Ini adalah petunjuk pemecahan masalah, bukan diagnosis berdasarkan penampilan saja. Penyematan font dan penyalinan yang benar juga merupakan masalah terpisah; lihat Penyematan dan subset font PDF.
Bagaimana cara memperbaiki teks yang disalin menggunakan mesin terbang asli?
Misalkan kode sumber <0001> dalam font tertentu mengambil A tetapi salah dipetakan ke 错 (U+9519). Ini adalah fragmen pemetaan ilustratif, bukan file CMap lengkap:
Before: <0001> <9519>
After: <0001> <0041>
<0001> adalah kode sumber PDF dalam font tersebut, bukan karakter Unicode U+0001. Memetakannya ke U+0041 menetapkan bahwa mesin terbang tersebut mewakili A. ligature (beberapa huruf berbagi satu mesin terbang) mungkin juga perlu dipetakan ke beberapa karakter Unicode, seperti fi.
Setelah Anda memastikan bahwa perbaikan pemetaan sudah sesuai, gunakan Alat perbaikan teks PDF:
- Pilih PDF, lalu pilih font yang akan diperbaiki.
- Bandingkan mesin terbang asli di kisi dan masukkan teks yang benar di bawah setiap mesin terbang.
- Ekspor PDF yang telah diperbaiki dan simpan yang asli untuk perbandingan.
Perubahan berlaku di mana pun font dan kode sumber yang sama digunakan. Periksa font yang berbeda secara terpisah, meskipun namanya cocok. Jika OCR salah mengenali hanya satu kata, memetakan ulang karakter secara global juga dapat merusak teks yang sudah benar.
Bagaimana Anda memverifikasi perbaikannya?
Buka kembali file yang diekspor dan salin serta cari contoh teks di pembaca PDF target Anda. Periksa kemunculan lain dari kode dan font yang sama yang tidak Anda edit. Bandingkan tampilan halaman dan periksa tanda baca, pengikat, dan angka, daripada hanya menguji karakter pertama yang salah.
Beberapa PDF juga menggunakan ActualText untuk menyediakan teks pengganti, yang mungkin lebih disukai oleh perangkat lunak pendukung. Jika mengubah ToUnicode tidak menyelesaikan masalah, periksa penggantian ini. Alat saat ini memperingatkan tentang ActualText tetapi tidak mengeditnya. Lihat Penjelasan Asosiasi PDF.
Untuk kesalahan OCR, perbaiki atau kenali lagi lapisan teks. Jika Anda memiliki file tata letak asli, pertimbangkan untuk memperbaikinya dan mengekspor PDF baru. File yang tidak dapat dibuka atau memicu kesalahan struktural memerlukan pendekatan berbeda; lihat ketika perbaikan format PDF sesuai.
Setelah Anda mengidentifikasi masalah pemetaan karakter font, perbaiki dengan alat perbaikan teks PDF lokal. File diproses di browser Anda tanpa mengunggahnya. Anda tetap harus memverifikasi teks yang disalin dan tampilan halaman setelah mengekspor.


