Εάν ένα PDF φαίνεται σωστό, αλλά η επικόλληση σε ένα πρόγραμμα επεξεργασίας απλού κειμένου παράγει διαφορετικούς χαρακτήρες, ελέγξτε την αιτία πριν αλλάξετε γραμματοσειρές ή εκτελέσετε το OCR. Η αντιστοίχιση μεταξύ του σχήματος που σχεδιάστηκε στη σελίδα και του χαρακτήρα που αντιπροσωπεύει μπορεί να είναι λανθασμένη. Η διόρθωση αυτών των σφαλμάτων κειμένου PDF ξεκινά με τον προσδιορισμό του τμήματος αυτής της διαδικασίας που απέτυχε.
Γιατί το κείμενο μπορεί να φαίνεται σωστό αλλά να αντιγράφεται εσφαλμένα;
Το περιεχόμενο κειμένου PDF μπορεί να αποθηκεύσει κωδικούς πηγής χαρακτήρων που αφορούν συγκεκριμένες γραμματοσειρές αντί για κείμενο Unicode. Ένας αναγνώστης PDF χρησιμοποιεί τη γραμματοσειρά και τις πληροφορίες κωδικοποίησης για να εντοπίσει και να σχεδιάσει μια γλυφή. Η αντιγραφή απαιτεί επίσης τη μετάφραση αυτών των κωδικών σε χαρακτήρες με νόημα.
Επομένως, η σχεδίαση του γράμματος A δεν εγγυάται ότι η εξαγωγή θα επιστρέψει το A. Το ToUnicode είναι μια αντιστοίχιση σε ένα λεξικό γραμματοσειρών που συσχετίζει τους πηγαίους κωδικούς χαρακτήρων PDF με ακολουθίες χαρακτήρων Unicode. Αυτή η διάκριση μεταξύ εμφάνισης και εξαγωγής κειμένου περιγράφεται στο Αναφορά Adobe PDF, ενότητα 5.9.

Τι σημαίνει στην πραγματικότητα η χαρτογράφηση γραμματοσειρών;
Αυτές οι τρεις έννοιες σχετίζονται, αλλά δεν είναι εναλλάξιμες:
| Χαρτογράφηση | Κύριος ρόλος |
|---|---|
Ο πίνακας cmap μέσα σε ένα αρχείο γραμματοσειράς | Αντιστοιχίζει κωδικούς χαρακτήρων σε δείκτες γλυφών. Οι υποπίνακες Unicode χρησιμοποιούν κωδικούς Unicode |
| PDF Κωδικοποίηση; Οι σύνθετες γραμματοσειρές μπορούν να χρησιμοποιήσουν ένα Encoding CMap | Ερμηνεύει τους πηγαίους κωδικούς χαρακτήρων PDF και βοηθά στον εντοπισμό της γλυφής προς σχεδίαση |
PDF ToUnicode | Χάρτες PDF κωδικούς πηγαίου χαρακτήρων σε κείμενο Unicode για αντιγραφή και εξαγωγή |
Για το πρώτο είδος, δείτε το OpenType Προδιαγραφή cmap. Η επισκευή που συζητείται εδώ στοχεύει στην τρίτη. δεν δημιουργεί ξανά το αρχείο γραμματοσειράς ούτε αντικαθιστά τους γλυφούς στη σελίδα.
Μια αντιστοίχιση ToUnicode που λείπει δεν προκαλεί πάντα αλλοιωμένο κείμενο. Ένας αναγνώστης PDF μπορεί μερικές φορές να ανακτήσει κείμενο από μια τυπική κωδικοποίηση, γνωστά ονόματα γλυφών ή μια συλλογή χαρακτήρων. Αντίθετα, ένας πίνακας αντιστοίχισης μπορεί να υπάρχει και να εξακολουθεί να περιέχει εσφαλμένες συσχετίσεις.
Πρώτα ελέγξτε αν το πρόβλημα είναι η αντιστοίχιση
Αντιγράψτε ένα σύντομο απόσπασμα σε ένα πρόγραμμα επεξεργασίας απλού κειμένου και συγκρίνετε το με την αρχική σελίδα:
| Σύμπτωμα | Τι να ελέγξετε πρώτα |
|---|---|
| Η σελίδα φαίνεται σωστή, αλλά οι αντιγραμμένοι χαρακτήρες μετατρέπονται συνεχώς σε άλλους χαρακτήρες | Λείπουν ή λανθασμένες αντιστοιχίσεις χαρακτήρων |
| Μπορείτε να επιλέξετε μόνο μια εικόνα, όχι κείμενο | Ένα επίπεδο κειμένου που λείπει ή κείμενο που έχει μετατραπεί σε περιγράμματα. εξετάστε το αρχείο προέλευσης ή το OCR |
| Το κείμενο μπορεί να επιλεγεί σε μια σαρωμένη σελίδα, αλλά δεν ταιριάζει με την εικόνα | Η αναγνώριση οδηγεί στο επίπεδο κειμένου OCR |
| Οι μεμονωμένοι χαρακτήρες είναι σωστοί, αλλά οι στήλες ή οι πίνακες είναι εκτός σειράς | Σειρά ανάγνωσης και εξαγωγή διάταξης |
| Η ίδια η σελίδα περιέχει χαρακτήρες ή πλαίσια που λείπουν | Πόροι γραμματοσειράς, κάλυψη γλυφών ή κωδικοποίηση οθόνης |
Αυτές είναι ενδείξεις αντιμετώπισης προβλημάτων, όχι διαγνώσεις που βασίζονται μόνο στην εμφάνιση. Η ενσωμάτωση γραμματοσειράς και η σωστή αντιγραφή αποτελούν επίσης ξεχωριστές ανησυχίες. βλέπε Ενσωμάτωση γραμματοσειράς PDF και υποσύνολα.
Πώς μπορείτε να διορθώσετε το αντιγραμμένο κείμενο χρησιμοποιώντας τα πρωτότυπα γλυφά;
Ας υποθέσουμε ότι ο πηγαίος κώδικας <0001> σε μια συγκεκριμένη γραμματοσειρά σχεδιάζει το A αλλά αντιστοιχίζεται εσφαλμένα στο 错 (U+9519). Αυτό είναι ένα ενδεικτικό τμήμα χαρτογράφησης, όχι ένα πλήρες αρχείο CMap:
Before: <0001> <9519>
After: <0001> <0041>
Ο <0001> είναι ένας πηγαίος κώδικας PDF σε αυτήν τη γραμματοσειρά, όχι ο χαρακτήρας Unicode U+0001. Η αντιστοίχιση με το U+0041 καθορίζει ότι η γλυφή αντιπροσωπεύει το A. Ένα ligature (πολλά γράμματα που μοιράζονται ένα γλυφό) μπορεί επίσης να χρειαστεί να αντιστοιχιστεί σε πολλούς χαρακτήρες Unicode, όπως ο fi.
Αφού επιβεβαιώσετε ότι η επιδιόρθωση χαρτογράφησης είναι κατάλληλη, χρησιμοποιήστε το PDF εργαλείο επιδιόρθωσης κειμένου:
- Επιλέξτε το PDF και, στη συνέχεια, επιλέξτε τη γραμματοσειρά που θέλετε να διορθώσετε.
- Συγκρίνετε τους αρχικούς γλυφούς στο πλέγμα και εισάγετε το σωστό κείμενο κάτω από κάθε γλυφό.
- Εξάγετε το επισκευασμένο PDF και κρατήστε το πρωτότυπο για σύγκριση.
Μια αλλαγή ισχύει παντού όπου χρησιμοποιείται η ίδια γραμματοσειρά και ο πηγαίος κώδικας. Ελέγξτε τις διαφορετικές γραμματοσειρές ξεχωριστά, ακόμη και όταν τα ονόματά τους ταιριάζουν. Εάν ο OCR αναγνώρισε λάθος μόνο μία λέξη, η καθολική επαναχαρτογράφηση ενός χαρακτήρα μπορεί επίσης να βλάψει το κείμενο που ήταν ήδη σωστό.
Πώς επαληθεύετε την επισκευή;
Ανοίξτε ξανά το εξαγόμενο αρχείο και αντιγράψτε και αναζητήστε δείγμα κειμένου στον αναγνώστη στόχο PDF. Ελέγξτε άλλες εμφανίσεις του ίδιου κώδικα και γραμματοσειρών που δεν επεξεργαστήκατε. Συγκρίνετε την εμφάνιση της σελίδας και επιθεωρήστε τα σημεία στίξης, τις συνδέσεις και τους αριθμούς, αντί να δοκιμάσετε μόνο τον πρώτο λανθασμένο χαρακτήρα.
Ορισμένα PDF χρησιμοποιούν επίσης το ActualText για την παροχή κειμένου αντικατάστασης, το οποίο μπορεί να προτιμά το λογισμικό υποστήριξης. Εάν η αλλαγή του ToUnicode δεν επιλύσει το πρόβλημα, ελέγξτε για αυτήν την παράκαμψη. Το τρέχον εργαλείο προειδοποιεί για το ActualText αλλά δεν το επεξεργάζεται. Δείτε το Επεξήγηση συσχέτισης PDF.
Για σφάλματα OCR, διορθώστε ή αναγνωρίστε ξανά το επίπεδο κειμένου. Εάν έχετε το αρχικό αρχείο διάταξης, σκεφτείτε να το διορθώσετε και να εξαγάγετε ένα νέο PDF. Τα αρχεία που δεν ανοίγουν ή δεν προκαλούν δομικά σφάλματα χρειάζονται διαφορετική προσέγγιση. βλέπε όταν είναι κατάλληλη η επισκευή μορφής PDF.
Αφού εντοπίσετε ένα πρόβλημα αντιστοίχισης χαρακτήρων γραμματοσειράς, διορθώστε το με το τοπικό εργαλείο επιδιόρθωσης κειμένου PDF. Τα αρχεία υποβάλλονται σε επεξεργασία στο πρόγραμμα περιήγησής σας χωρίς να τα ανεβάσετε. Θα πρέπει ακόμα να επαληθεύσετε το αντιγραμμένο κείμενο και την εμφάνιση της σελίδας μετά την εξαγωγή.


