Εξαγωγή κειμένου από την περιοχή σελίδας σε αρχείο PDF
Εισαγωγή
Η εργασία με αρχεία PDF απαιτεί συχνά την εξαγωγή συγκεκριμένου περιεχομένου, είτε πρόκειται για άντληση δεδομένων από φόρμες, πίνακες ή ορισμένες ενότητες ενός εγγράφου. Σε αυτό το σεμινάριο, θα δούμε πώς να εξαγάγετε κείμενο από μια συγκεκριμένη περιοχή ενός PDF χρησιμοποιώντας το Aspose.PDF για .NET. Αντί να κοιτάξουμε ένα ολόκληρο έγγραφο, θα εντοπίσουμε ακριβώς πού βρίσκεται το κείμενο και θα το εξαγάγουμε αποτελεσματικά.
Προαπαιτούμενα
Προτού μεταβούμε στον κώδικα, βεβαιωθείτε ότι έχετε στη θέση τους τα ακόλουθα στοιχεία:
- Aspose.PDF για .NET: Εάν δεν το έχετε κάνει ήδη, κάντε λήψη και εγκαταστήστε τη βιβλιοθήκη Aspose.PDF για .NET.Λήψη Aspose.PDF για .NET.
- IDE: Οποιοδήποτε περιβάλλον ανάπτυξης .NET όπως το Visual Studio.
- .NET Framework: Βεβαιωθείτε ότι το έργο σας έχει ρυθμιστεί με το κατάλληλο πλαίσιο .NET.
- Έγγραφο PDF: Ένα δείγμα PDF από το οποίο θα εξαγάγουμε κείμενο.
Μην ξεχνάς ότι μπορείςαποκτήστε μια δωρεάν δοκιμή του Aspose.PDF ή χρησιμοποιήστε απροσωρινή άδεια για πλήρη λειτουργικότητα.
Εισαγωγή απαραίτητων πακέτων
Για να ξεκινήσετε να εργάζεστε με το Aspose.PDF για .NET, πρέπει να εισαγάγετε τους απαιτούμενους χώρους ονομάτων στο έργο σας. Αυτά τα πακέτα παρέχουν τις απαραίτητες κλάσεις και μεθόδους για το χειρισμό εγγράφων PDF.
using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
Βήμα 1: Ρύθμιση του καταλόγου εγγράφων και φόρτωση του PDF
Το πρώτο βήμα είναι να καθορίσετε πού βρίσκεται το αρχείο PDF και να το φορτώσετε στο έργο σας. Μπορείτε να χρησιμοποιήσετε μια διαδρομή τοπικού καταλόγου προς το αρχείο PDF με το οποίο θέλετε να εργαστείτε.
// Η διαδρομή προς τον κατάλογο εγγράφων.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Ανοίξτε το έγγραφο PDF
Document pdfDocument = new Document(dataDir + "ExtractTextAll.pdf");
Αυτό το βήμα διασφαλίζει ότι το αρχείο PDF είναι σωστά φορτωμένο και έτοιμο για επεξεργασία. ΟDocument
κλάση από τη βιβλιοθήκη Aspose.PDF σας επιτρέπει να χειριστείτε το αρχείο PDF.
Βήμα 2: Αρχικοποιήστε τον απορροφητή κειμένου για εξαγωγή
Σε αυτό το βήμα, δημιουργούμε έναTextAbsorber
αντικείμενο, το οποίο έχει σχεδιαστεί για την εξαγωγή κειμένου από ένα έγγραφο PDF. ΟTextAbsorber
είναι ευέλικτο και μπορεί να προσαρμοστεί ώστε να εστιάζει σε συγκεκριμένες περιοχές ή σελίδες.
// Δημιουργήστε ένα αντικείμενο TextAbsorber για εξαγωγή κειμένου
TextAbsorber absorber = new TextAbsorber();
ΟTextAbsorber
Η class είναι ένα ισχυρό εργαλείο που καταγράφει όλο το κείμενο εντός των ορίων που καθορίζετε.
Βήμα 3: Καθορίστε την περιοχή από την οποία θα εξαχθεί το κείμενο
Εδώ συμβαίνει η μαγεία. Αντί να τραβήξουμε κείμενο από ολόκληρη τη σελίδα, μπορούμε να περιορίσουμε την εξαγωγή σε μια συγκεκριμένη ορθογώνια περιοχή της σελίδας. Αυτό είναι τέλειο όταν γνωρίζετε ακριβώς πού βρίσκεται το περιεχόμενό σας.
// Περιορίστε την εξαγωγή κειμένου σε μια συγκεκριμένη περιοχή
absorber.TextSearchOptions.LimitToPageBounds = true;
absorber.TextSearchOptions.Rectangle = new Aspose.Pdf.Rectangle(100, 200, 250, 350);
ΟRectangle
αντικείμενο σας επιτρέπει να ορίσετε τις συντεταγμένες (σε σημεία) της περιοχής από την οποία θα εξαχθεί το κείμενο. ΟTextSearchOptions.LimitToPageBounds
διασφαλίζει ότι εξάγεται μόνο κείμενο εντός του καθορισμένου ορθογωνίου.
Βήμα 4: Αποδεχτείτε τον απορροφητή στην επιθυμητή σελίδα
Μετά τη ρύθμιση της περιοχής, το επόμενο βήμα είναι να αποδεχτείτε τοTextAbsorber
για τη συγκεκριμένη σελίδα από την οποία θέλετε να εξαγάγετε κείμενο. Εδώ, θα επικεντρωθούμε στην πρώτη σελίδα του PDF.
// Αποδεχτείτε τον απορροφητή για την πρώτη σελίδα
pdfDocument.Pages[1].Accept(absorber);
Καλώντας τοAccept
μέθοδο στη σελίδα, δίνουμε εντολή στο Aspose.PDF να τρέξει τον απορροφητή και να συγκεντρώσει το κείμενο από την καθορισμένη περιοχή.
Βήμα 5: Ανάκτηση και αποθήκευση του εξαγόμενου κειμένου
Μόλις ο απορροφητής κάνει τη δουλειά του, ήρθε η ώρα να συλλέξετε το εξαγόμενο κείμενο και να το αποθηκεύσετε. Αυτό το βήμα περιλαμβάνει την ανάκτηση του κειμένου και τη σύνταξη του στο α.txt
αρχείο.
// Λάβετε το εξαγόμενο κείμενο
string extractedText = absorber.Text;
// Δημιουργήστε έναν συγγραφέα για να αποθηκεύσετε το εξαγόμενο κείμενο
TextWriter tw = new StreamWriter(dataDir + "extracted-text.txt");
// Γράψτε το κείμενο στο αρχείο
tw.WriteLine(extractedText);
// Κλείστε τη ροή
tw.Close();
Εδώ, τοTextWriter
class χρησιμοποιείται για την εγγραφή του εξαγόμενου κειμένου σε ένα αρχείο κειμένου. Αυτό διασφαλίζει ότι το εξαγόμενο περιεχόμενο αποθηκεύεται με ασφάλεια για μελλοντική χρήση.
Σύναψη
Η εξαγωγή κειμένου από μια συγκεκριμένη περιοχή σε ένα έγγραφο PDF μπορεί να είναι απίστευτα χρήσιμη, ειδικά όταν αντιμετωπίζετε δομημένο περιεχόμενο, όπως φόρμες ή πίνακες. Χρησιμοποιώντας το Aspose.PDF για .NET, μπορείτε να επιτύχετε αυτήν την εργασία με λίγες μόνο γραμμές κώδικα. Ορίζοντας μια περιοχή, αρχικοποιώντας aTextAbsorber
, και αποθηκεύοντας το εξαγόμενο κείμενο, έχετε τον πλήρη έλεγχο του τι λαμβάνεται από το PDF σας.
Είτε εργάζεστε σε ένα μικρό έργο είτε διαχειρίζεστε μεγάλα έγγραφα, αυτή η μέθοδος παρέχει έναν αποτελεσματικό τρόπο εξαγωγής σχετικών δεδομένων από τα αρχεία PDF σας χωρίς να χτενίζετε ολόκληρο το έγγραφο.
Συχνές ερωτήσεις
Μπορώ να εξαγάγω κείμενο από πολλές σελίδες ταυτόχρονα;
Ναι, με επανάληψη μέσω τουPages
συλλογή τωνpdfDocument
, μπορείτε να εφαρμόσετε τοTextAbsorber
σε πολλές σελίδες.
Τι γίνεται αν το κείμενο βρίσκεται σε διαφορετική περιοχή του PDF;
Μπορείτε εύκολα να προσαρμόσετε τοRectangle
συντεταγμένες για να ταιριάζουν με την περιοχή όπου βρίσκεται το κείμενό σας.
Λειτουργεί με σαρωμένα αρχεία PDF;
Όχι, τα σαρωμένα PDF χρειάζονται OCR (Optical Character Recognition) για να μετατρέψουν τις εικόνες σε κείμενο. Το Aspose.PDF προσφέρει επίσης δυνατότητες OCR.
Υπάρχει τρόπος εξαγωγής κειμένου με βάση συγκεκριμένες λέξεις-κλειδιά;
Ναι, μπορείτε να χρησιμοποιήσετεTextFragmentAbsorber
για εξαγωγή κειμένου με βάση λέξεις-κλειδιά.
Πώς μπορώ να εξαγάγω κείμενο από ένα κρυπτογραφημένο PDF;
Θα πρέπει πρώτα να αποκρυπτογραφήσετε το PDF παρέχοντας τον σωστό κωδικό πρόσβασης και μετά να προχωρήσετε στην εξαγωγή κειμένου.