Πώς να εξαγάγετε κείμενο από PDFs στο .NET
Πώς να εξαγάγετε κείμενο από PDFs στο .NET
Αυτό το εγχειρίδιο καλύπτει την εκχύλιση κειμένου από σελίδες PDF χρησιμοποιώντας το API απορροφητή.
Προϋποθέσεις
| ΑΠΑΙΤΗΣΕΙΣ | Λεπτομέρειες |
|---|---|
| Ροντάμ | .NET 8.0 ή νεότερη έκδοση |
| Πακέτο | dotnet add package Aspose.Pdf.Foss |
Εξάγετε ολόκληρο το κείμενο από μια σελίδα
TextAbsorber συλλέγει όλο το κείμενο σε μια σελίδα σε μία μόνο γραμμή. δημιουργήστε ένα Για παράδειγμα, να το περάσετε στο Page.Accept,Διαβάστε το αποτέλεσμα από την Text ιδιοκτησία . Αυτή είναι η απλούστερη προσέγγιση όταν χρειάζεστε μια εκκίνηση κειμένου χωρίς θέση. Πληροφορίες .
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Εξαγωγή δομημένων κειμένου κομμάτια
Όταν χρειάζεστε τη θέση, το γράμμα και τα μέτα στοιχεία μεγέθους δίπλα στο κείμενο, Χρησιμοποιήστε TextFragmentAbsorber Αντίθετα, κάθε TextFragment Εμφανίζει την Συντονισμοί μέσω του Position ιδιοκτησία .
var absorber = new TextFragmentAbsorber();
doc.Pages[1].Accept(absorber);
foreach (var fragment in absorber.TextFragments)
{
Console.WriteLine($"{fragment.Text} at ({fragment.Position.XIndent}, {fragment.Position.YIndent})");
}Αναζήτηση με τακτική έκφραση
Πάρτε ένα πρότυπο Regex για να TextFragmentAbsorber Για να βρείτε το αντίστοιχο κείμενο σε όλη την Όλα τα σελίδες. αυτό είναι χρήσιμο για την εύρεση αριθμών τηλεφώνου, ημερομηνιών ή άλλων Συστατικά δεδομένα σε ένα έγγραφο.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);Κλειδιά τάξεων
| Κλάση | Σκοπός |
|---|---|
TextAbsorber | Εξάγετε ολόκληρο το κείμενο ως σήμα |
TextFragmentAbsorber | Συστατική εκχύλισμα κειμένου |
TextFragment | Το κείμενο με θέση και γραμματοσειρά |
FontRepository | Ετικέτες lookup |