Εξαγωγή κειμένου από PDF
Επιλέξτε ένα PDF και το ενσωματωμένο κείμενό του εξάγεται σε ένα ενιαίο μπλοκ απλού κειμένου που μπορείτε να αντιγράψετε ή να κατεβάσετε. Τίποτα από όσα ανεβάζετε δεν φεύγει ποτέ από το πρόγραμμα περιήγησής σας.
Πώς λειτουργεί η εξαγωγή χωρίς διακομιστή
Αυτό το εργαλείο χρησιμοποιεί το pdfjs-dist, τη
μηχανή PDF.js ανοιχτού κώδικα που έφτιαξε η Mozilla (είναι αυτή
που σχεδιάζει τα PDF μέσα στο Firefox), λειτουργώντας εξ
ολοκλήρου στην καρτέλα του προγράμματος περιήγησής σας. Αντί να
σχεδιάζει εικονοστοιχεία σε καμβά όπως θα έκανε ένας προβολέας
PDF, ζητά απευθείας από κάθε σελίδα το περιεχόμενο κειμένου της:
το PDF.js αποκωδικοποιεί τα αντικείμενα στη ροή περιεχομένου της
σελίδας που αντιπροσωπεύουν πραγματικά ενσωματωμένο κείμενο —
γραμματοσειρά, θέση και την ίδια τη συμβολοσειρά — και το getTextContent() τα επιστρέφει ως μια επίπεδη λίστα
στοιχείων, καθένα με τη δική του εξαγόμενη συμβολοσειρά. Αυτό το
εργαλείο ενώνει τα στοιχεία κάθε σελίδας με ένα κενό, διαχωρίζει
τις σελίδες με μια κενή γραμμή, και τοποθετεί το πλήρες
αποτέλεσμα στο πλαίσιο κειμένου παραπάνω. Επειδή διαβάζει
πραγματικά αντικείμενα κειμένου αντί για μια εικόνα της σελίδας,
μια σαρωμένη σελίδα δεν έχει τίποτα να διαβαστεί — εκεί δεν
υπάρχει κανένα αντικείμενο κειμένου, μόνο εικονοστοιχεία.
Πρακτικό παράδειγμα
Ας πούμε ότι έχετε ένα PDF 2 σελίδων. Η ροή περιεχομένου της σελίδας 1 έχει τα αντικείμενα κειμένου Q4 Sales Report Prepared by Finance Team (7 λέξεις, 40 χαρακτήρες)· η σελίδα 2 γράφει Total revenue: $128,400 (3 λέξεις, 23 χαρακτήρες). Επιλέγοντας αυτό το αρχείο παράγεται ένα ενιαίο μπλοκ κειμένου — το κείμενο της σελίδας 1, μια κενή γραμμή, και μετά το κείμενο της σελίδας 2 — για συνολικά 65 χαρακτήρες και 10 λέξεις, ακριβώς όσα θα έδειχνε η γραμμή Σελίδες / Λέξεις / Χαρακτήρες πάνω από το αποτέλεσμα.
Συχνές ερωτήσεις
Ανεβαίνει το PDF μου κάπου;
Όχι. Το αρχείο διαβάζεται τοπικά με το File API του προγράμματος περιήγησης, και το pdfjs-dist — η ίδια μηχανή PDF.js που χρησιμοποιεί το Firefox για την προβολή PDF — εξάγει το κείμενο εξ ολοκλήρου μέσα στην καρτέλα σας. Τίποτα δεν στέλνεται σε διακομιστή, οπότε ιδιωτικά ή εμπιστευτικά έγγραφα δεν φεύγουν ποτέ από τη συσκευή σας.
Γιατί λείπει μέρος ή όλο το κείμενο από το αποτέλεσμα;
Αυτό το εργαλείο εξάγει πραγματικά, ενσωματωμένα αντικείμενα κειμένου από τη ροή περιεχομένου του PDF — δεν κάνει OCR. Αν μια σελίδα είναι σαρωμένη εικόνα, φωτογραφία ενός εγγράφου, ή γενικά δεν έχει πραγματικό επίπεδο κειμένου, δεν υπάρχει τίποτα να διαβαστεί σε αυτή τη σελίδα: από την οπτική του PDF είναι απλώς εικονοστοιχεία, όχι χαρακτήρες. Αν χρειάζεστε εξαγωγή κειμένου από σαρωμένο έγγραφο, χρειάζεστε εργαλείο OCR, κάτι που αυτό σκόπιμα δεν είναι.
Το εξαγόμενο κείμενο διατηρεί την αρχική διάταξη, όπως στήλες ή πίνακες;
Όχι — το κείμενο βγαίνει με τη σειρά που το συναντά το pdfjs-dist στη ροή περιεχομένου της σελίδας, ενώνοντας τα στοιχεία κάθε σελίδας με κενά και διαχωρίζοντας τις σελίδες με μια κενή γραμμή. Διατάξεις πολλών στηλών μπορεί να αναμειχθούν, και οι πίνακες χάνουν τη δομή πλέγματος, καθώς πρόκειται για απλή εξαγωγή κειμένου, όχι για εξαγωγή που κατανοεί τη διάταξη.
Υπάρχει όριο στο μέγεθος αρχείου ή στον αριθμό σελίδων;
Το μόνο πραγματικό όριο είναι η διαθέσιμη μνήμη του προγράμματος περιήγησής σας, αφού όλα γίνονται στη συσκευή σας αντί σε διακομιστή. Τυπικά έγγραφα — ακόμη και μερικές εκατοντάδες σελίδες κανονικού κειμένου — εξάγονται σε πολύ λιγότερο από ένα δευτερόλεπτο· πολύ μεγάλα σαρωμένα PDF (εκατοντάδες megabytes) θα χρειαστούν περισσότερο χρόνο απλώς για να διαβαστούν και να αποκωδικοποιηθούν.