Αναζήτηση και λήψη κειμένου σε όλα
Εισαγωγή
Χρειάστηκε ποτέ να εξαγάγετε συγκεκριμένο κείμενο από ένα PDF αλλά το βρήκατε δύσκολο; Τα PDF μπορεί μερικές φορές να αισθάνονται σαν κλειδωμένα κοντέινερ, καθιστώντας δύσκολη τη λήψη των πληροφοριών που χρειάζεστε. Αλλά εδώ είναι τα καλά νέα: με το Aspose.PDF για .NET, μπορείτε εύκολα να αναζητήσετε και να ανακτήσετε κείμενο από οποιοδήποτε PDF. Αυτή η ισχυρή βιβλιοθήκη παρέχει όλα όσα χρειάζεστε για να εργαστείτε με αρχεία PDF στις εφαρμογές σας .NET, κάνοντας την εξαγωγή κειμένου παιχνιδάκι. Σε αυτό το σεμινάριο, θα σας καθοδηγήσουμε στη διαδικασία αναζήτησης και εξαγωγής κειμένου από ένα αρχείο PDF χρησιμοποιώντας το Aspose.PDF για .NET. Είτε δημιουργείτε ένα εργαλείο ανάλυσης κειμένου είτε απλά χρειάζεται να αυτοματοποιήσετε την εξαγωγή δεδομένων από αναφορές PDF, βρίσκεστε στο σωστό μέρος!
Προαπαιτούμενα
Προτού μεταβούμε στον κώδικα, ας βεβαιωθούμε ότι έχετε ρυθμίσει τα πάντα:
- Aspose.PDF για .NET: Θα χρειαστεί να κάνετε λήψη και εγκατάσταση του Aspose.PDF για .NET. Μπορείτε να το λάβετε από τη σελίδα λήψηςεδώ.
- .NET Environment: Βεβαιωθείτε ότι έχετε ρυθμίσει το .NET Framework ή το .NET Core στο μηχάνημα ανάπτυξης.
- Βασικές γνώσεις C##: Συνιστάται κάποια εξοικείωση με την C# και εργασία με έργα .NET.
- Έγγραφο PDF: Ένα δείγμα αρχείου PDF από το οποίο θα εξάγουμε κείμενο. Σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε
SearchAndGetTextFromAll.pdf
.
Εισαγωγή πακέτων
Πριν γράψετε οποιονδήποτε κώδικα, πρέπει να εισαγάγετε τους απαραίτητους χώρους ονομάτων στο έργο σας για να εργαστείτε με το Aspose.PDF.
using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
Αυτοί οι χώροι ονομάτων παρέχουν πρόσβαση στο μοντέλο αντικειμένου εγγράφου του PDF και μας επιτρέπουν να χειριζόμαστε κείμενο μέσα στο αρχείο.
Ας αναλύσουμε τη διαδικασία σε απλά βήματα, ώστε να μπορείτε να την ακολουθήσετε με ευκολία.
Βήμα 1: Ορίστε τον Κατάλογο εγγράφων
Πρώτα πράγματα πρώτα, πρέπει να καθορίσετε τη διαδρομή προς τον κατάλογο όπου βρίσκεται το PDF σας. Αυτό βοηθά την εφαρμογή να εντοπίσει το αρχείο από το οποίο θα εξαγάγετε το κείμενο.
// Η διαδρομή προς τον κατάλογο εγγράφων.
string dataDir = "YOUR DOCUMENT DIRECTORY";
- Ο
dataDir
μεταβλητή πρέπει να δείχνει στον κατάλογο όπου σαςSearchAndGetTextFromAll.pdf
αρχείο αποθηκεύεται. - Αντικαθιστώ
"YOUR DOCUMENT DIRECTORY"
με την πραγματική διαδρομή στο μηχάνημά σας.
Βήμα 2: Ανοίξτε το έγγραφο PDF
Στη συνέχεια, θα ανοίξουμε το έγγραφο PDF χρησιμοποιώντας το Aspose.PDF’sDocument
αντικείμενο.
// Άνοιγμα εγγράφου
Document pdfDocument = new Document(dataDir + "SearchAndGetTextFromAll.pdf");
- Δημιουργούμε ένα νέο παράδειγμα του
Document
τάξη περνώντας την πλήρη διαδρομή αρχείου του PDF. - Αυτό θα φορτώσει το PDF στη μνήμη, καθιστώντας το έτοιμο για επεξεργασία.
Βήμα 3: Δημιουργήστε έναν απορροφητή κειμένου
ΟTextFragmentAbsorber
αντικείμενο χρησιμοποιείται για την αναζήτηση συγκεκριμένου κειμένου εντός του PDF. Σε αυτήν την περίπτωση, θα αναζητήσουμε τη λέξη “κείμενο”.
// Δημιουργήστε αντικείμενο TextAbsorber για να βρείτε όλες τις εμφανίσεις της φράσης αναζήτησης
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
- Ο
TextFragmentAbsorber
αρχικοποιείται με τη συμβολοσειρά"text"
. Αυτό σημαίνει ότι θα αναζητήσει τυχόν εμφανίσεις της λέξης “κείμενο” στο έγγραφο PDF.
Βήμα 4: Αποδοχή του απορροφητή για όλες τις σελίδες
Τώρα, θα δώσουμε εντολή στο έγγραφο PDF να αποδεχτεί τον απορροφητή και να αναζητήσει το κείμενο σε όλες τις σελίδες του.
// Αποδεχτείτε τον απορροφητήρα για όλες τις σελίδες
pdfDocument.Pages.Accept(textFragmentAbsorber);
- Ο
Accept
Η μέθοδος εφαρμόζεται στις σελίδες του εγγράφου. Αυτό θα πραγματοποιήσει αναζήτηση σε όλες τις σελίδες για το καθορισμένο κείμενο.
Βήμα 5: Εξαγωγή τμημάτων κειμένου
Μόλις ο απορροφητής σαρώσει το έγγραφο, μπορούμε να ανακτήσουμε τα εξαγόμενα τμήματα κειμένου.
// Λάβετε τα εξαγόμενα τμήματα κειμένου
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
- Ο
TextFragments
ιδιοκτησία τουTextFragmentAbsorber
επιστρέφει μια συλλογή από όλα τα τμήματα κειμένου που ταιριάζουν με τον όρο αναζήτησης.
Βήμα 6: Κάντε βρόχο μέσα από τα τμήματα κειμένου
Τώρα που έχουμε τη συλλογή των θραυσμάτων κειμένου, θα τα περιηγηθούμε και θα εξαγάγουμε τις λεπτομέρειες.
// Περιηγηθείτε στα θραύσματα
foreach (TextFragment textFragment in textFragmentCollection)
{
Console.WriteLine("Text : {0} ", textFragment.Text);
Console.WriteLine("Position : {0} ", textFragment.Position);
Console.WriteLine("XIndent : {0} ", textFragment.Position.XIndent);
Console.WriteLine("YIndent : {0} ", textFragment.Position.YIndent);
Console.WriteLine("Font - Name : {0}", textFragment.TextState.Font.FontName);
Console.WriteLine("Font - IsAccessible : {0} ", textFragment.TextState.Font.IsAccessible);
Console.WriteLine("Font - IsEmbedded : {0} ", textFragment.TextState.Font.IsEmbedded);
Console.WriteLine("Font - IsSubset : {0} ", textFragment.TextState.Font.IsSubset);
Console.WriteLine("Font Size : {0} ", textFragment.TextState.FontSize);
Console.WriteLine("Foreground Color : {0} ", textFragment.TextState.ForegroundColor);
}
- Ο
foreach
ο βρόχος επαναλαμβάνεται μέσω του καθενόςTextFragment
στη συλλογή. - Εκτυπώνουμε διάφορες ιδιότητες κάθε τμήματος, όπως το πραγματικό κείμενο, τη θέση του στη σελίδα, λεπτομέρειες γραμματοσειράς και μέγεθος γραμματοσειράς.
- Ο
XIndent
καιYIndent
Οι ιδιότητες δίνουν τις ακριβείς συντεταγμένες του τμήματος κειμένου μέσα στο PDF.
Σύναψη
Και ορίστε το! Με λίγες μόνο γραμμές κώδικα, πραγματοποιήσαμε με επιτυχία αναζήτηση και εξαγωγή κειμένου από ένα PDF χρησιμοποιώντας το Aspose.PDF για .NET. Η ευελιξία του Aspose.PDF σάς επιτρέπει να χειρίζεστε αρχεία PDF με πολλούς τρόπους, καθιστώντας το μια εξαιρετική επιλογή για προγραμματιστές που χρειάζονται ισχυρές λύσεις PDF σε περιβάλλοντα .NET. Μπορείτε εύκολα να επεκτείνετε αυτό το παράδειγμα για να αναζητήσετε άλλες λέξεις, να εξαγάγετε περισσότερες λεπτομέρειες ή ακόμα και να χειριστείτε το περιεχόμενο PDF με βάση τις ανάγκες σας. Ας ελπίσουμε ότι αυτός ο οδηγός σας έχει δώσει μια σαφή και απλή προσέγγιση για την εργασία με αρχεία PDF. Προχωρήστε και δοκιμάστε το με τα δικά σας PDF!
Συχνές ερωτήσεις
Μπορώ να αναζητήσω πολλές λέξεις ταυτόχρονα;
Ναι, μπορείτε να τροποποιήσετε τοTextFragmentAbsorber
για αναζήτηση πολλαπλών φράσεων προσαρμόζοντας ανάλογα τη συμβολοσειρά αναζήτησης.
Τι γίνεται αν το κείμενο εκτείνεται σε πολλές γραμμές;
Το Aspose.PDF θα εξακολουθεί να αναγνωρίζει και να εξάγει κείμενο ακόμα κι αν εκτείνεται σε πολλές γραμμές. Μπορείτε να χειριστείτε αυτά τα θραύσματα μεμονωμένα.
Πώς μπορώ να αποθηκεύσω το εξαγόμενο κείμενο σε ένα αρχείο;
Μπορείτε να γράψετε το εξαγόμενο κείμενο σε ένα αρχείο χρησιμοποιώντας τυπικές λειτουργίες εισόδου/εξόδου αρχείου C#, όπως π.χStreamWriter
.
Υποστηρίζει το Aspose.PDF την εξαγωγή κειμένου από σαρωμένα αρχεία PDF;
Το Aspose.PDF δεν υποστηρίζει OCR. Για σαρωμένα αρχεία PDF, θα χρειαστείτε ένα εργαλείο OCR για να αναγνωρίσετε το κείμενο.
Πώς χειρίζομαι τα κρυπτογραφημένα αρχεία PDF;
Εάν το PDF σας προστατεύεται με κωδικό πρόσβασης, μπορείτε να το ξεκλειδώσετε χρησιμοποιώντας το Aspose.PDF παρέχοντας τον κωδικό πρόσβασης κατά τη φόρτωση του εγγράφου.