Προηγμένη Εξαγωγή Κειμένου από Παρουσιάσεις σε .NET
Επισκόπηση
Η εξαγωγή κειμένου από παρουσιάσεις είναι μια κοινή, αλλά ουσιώδης εργασία για προγραμματιστές που εργάζονται με περιεχόμενο διαφάνειας. Είτε αντιμετωπίζετε αρχεία Microsoft PowerPoint σε μορφή PPT ή PPTX, είτε παρουσιάσεις OpenDocument (ODP), η πρόσβαση και η ανάκτηση κειμενικών δεδομένων μπορεί να είναι κρίσιμη για ανάλυση, αυτοματοποίηση, ευρετηρίαση ή σκοπούς μετανάστευσης περιεχομένου.
Αυτό το άρθρο παρέχει έναν ολοκληρωμένο οδηγό για το πώς να εξάγετε αποτελεσματικά κείμενο από διάφορες μορφές παρουσιάσεων, συμπεριλαμβανομένων των PPT, PPTX και ODP, χρησιμοποιώντας το Aspose.Slides for .NET. Θα μάθετε πώς να διατρέχετε συστηματικά τα στοιχεία της παρουσίασης για να ανακτήσετε ακριβώς το κείμενο που χρειάζεστε.
Εξαγωγή κειμένου από διαφάνεια
Το Aspose.Slides for .NET παρέχει το χώρο ονομάτων Aspose.Slides.Util, ο οποίος περιλαμβάνει την κλάση SlideUtil. Αυτή η κλάση εκθέτει πολλές υπερφορτωμένες στατικές μεθόδους για την εξαγωγή όλου του κειμένου από μια παρουσίαση ή διαφάνεια. Για να εξάγετε κείμενο από μια διαφάνεια σε μια παρουσίαση, χρησιμοποιήστε τη μέθοδο GetAllTextBoxes. Αυτή η μέθοδος δέχεται ένα αντικείμενο τύπου IBaseSlide ως παράμετρο. Όταν εκτελεστεί, η μέθοδος σαρώει ολόκληρη τη διαφάνεια για κείμενο και επιστρέφει έναν πίνακα αντικειμένων τύπου ITextFrame, διατηρώντας οποιαδήποτε μορφοποίηση κειμένου.
int slideIndex = 0;
using var presentation = new Presentation("demo.pptx");
var slide = presentation.Slides[slideIndex];
var textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextBoxes(slide);
foreach (var textFrame in textFrames)
{
foreach (var paragraph in textFrame.Paragraphs)
{
foreach (var portion in paragraph.Portions)
{
var portionText = portion.Text;
Console.WriteLine(portionText);
var portionFormat = portion.PortionFormat;
var fontHeight = portionFormat.FontHeight;
Console.WriteLine(fontHeight);
var latinFont = portionFormat.LatinFont;
if (latinFont != null)
{
var fontName = latinFont.FontName;
Console.WriteLine(fontName);
}
}
}
}
Εξαγωγή κειμένου από παρουσίαση
Για να σαρώσετε κείμενο από ολόκληρη την παρουσίαση, χρησιμοποιήστε τη στατική μέθοδο GetAllTextFrames που εκτίθεται από την κλάση SlideUtil. Δέχεται δύο παραμέτρους:
- Πρώτη, ένα αντικείμενο τύπου IPresentation που αντιπροσωπεύει μια παρουσίαση PowerPoint ή OpenDocument από την οποία θα εξαχθεί το κείμενο.
- Δεύτερη, μια τιμή
Booleanπου υποδεικνύει αν οι κύριες διαφάνειες πρέπει να συμπεριληφθούν κατά τη σάρωση του κειμένου από την παρουσίαση.
Η μέθοδος επιστρέφει έναν πίνακα αντικειμένων τύπου ITextFrame, περιλαμβάνοντας πληροφορίες μορφοποίησης κειμένου. Ο παρακάτω κώδικας σαρώει το κείμενο και τις λεπτομέρειες μορφοποίησης από μια παρουσίαση, συμπεριλαμβανομένων των κύριων διαφανειών.
using var presentation = new Presentation("demo.pptx");
var includeMasterSlides = true;
var textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(presentation, includeMasterSlides);
foreach (var textFrame in textFrames)
{
foreach (var paragraph in textFrame.Paragraphs)
{
foreach (var portion in paragraph.Portions)
{
var portionText = portion.Text;
Console.WriteLine(portionText);
var portionFormat = portion.PortionFormat;
var fontHeight = portionFormat.FontHeight;
Console.WriteLine(fontHeight);
var latinFont = portionFormat.LatinFont;
if (latinFont != null)
{
var fontName = latinFont.FontName;
Console.WriteLine(fontName);
}
}
}
}
Κατηγοριοποιημένη και γρήγορη εξαγωγή κειμένου
Η κλάση PresentationFactory παρέχει επίσης μεθόδους για την εξαγωγή όλου του κειμένου από παρουσιάσεις:
IPresentationText GetPresentationText(string file, TextExtractionArrangingMode mode);
IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode);
IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode, ILoadOptions options);
Το όρισμα enum TextExtractionArrangingMode υποδεικνύει τη λειτουργία για την οργάνωση του αποτελέσματος εξαγωγής κειμένου και μπορεί να οριστεί στις παρακάτω τιμές:
Unarranged– Το ακατέργαστο κείμενο χωρίς να λαμβάνεται υπόψη η θέση του στη διαφάνεια.Arranged– Το κείμενο είναι οργανωμένο στην ίδια σειρά όπως στη διαφάνεια.
Η λειτουργία Unarranged μπορεί να χρησιμοποιηθεί όταν η ταχύτητα είναι κρίσιμη· είναι ταχύτερη από τη λειτουργία Arranged.
IPresentationText αντιπροσωπεύει το ακατέργαστο κείμενο που εξάγεται από την παρουσίαση. Η ιδιότητα SlidesText του επιστρέφει έναν πίνακα αντικειμένων τύπου ISlideText. Κάθε αντικείμενο αντιπροσωπεύει το κείμενο στην αντίστοιχη διαφάνεια. Το αντικείμενο τύπου [ISlideText] έχει τις εξής ιδιότητες:
Text– Το κείμενο μέσα στα σχήματα της διαφάνειας.MasterText– Το κείμενο μέσα στα σχήματα της κύριας διαφάνειας που σχετίζονται με αυτή τη διαφάνεια.LayoutText– Το κείμενο μέσα στα σχήματα της διαφάνειας διάταξης που σχετίζονται με αυτή τη διαφάνεια.NotesText– Το κείμενο μέσα στα σχήματα της διαφάνειας σημειώσεων που σχετίζονται με αυτή τη διαφάνεια.CommentsText– Το κείμενο μέσα σε σχόλια που σχετίζονται με αυτή τη διαφάνεια.
var presentationPath = "presentation.ppt";
var arrangingMode = TextExtractionArrangingMode.Unarranged;
var presentationText = PresentationFactory.Instance.GetPresentationText(presentationPath, arrangingMode);
var firstSlideText = presentationText.SlidesText[0];
Console.WriteLine(firstSlideText.Text);
Console.WriteLine(firstSlideText.LayoutText);
Console.WriteLine(firstSlideText.MasterText);
Console.WriteLine(firstSlideText.NotesText);
Console.WriteLine(firstSlideText.CommentsText);
Συχνές ερωτήσεις
Πόσο γρήγορα επεξεργάζεται το Aspose.Slides μεγάλες παρουσιάσεις κατά την εξαγωγή κειμένου;
Το Aspose.Slides είναι βελτιστοποιημένο για υψηλή απόδοση και μπορεί να επεξεργαστεί ακόμη και μεγάλες παρουσιάσεις, καθιστώντας το κατάλληλο για σεναρίων πραγματικού χρόνου ή μαζικής επεξεργασίας.
Μπορεί το Aspose.Slides να εξάγει κείμενο από πίνακες και διαγράμματα μέσα σε παρουσιάσεις;
Ναι. Το Aspose.Slides μπορεί να εξάγει κείμενο από πολλά στοιχεία διαφάνειας, συμπεριλαμβανομένων πινάκων και αντικειμένων σχετικών με διαγράμματα, ώστε να έχετε πρόσβαση και να αναλύσετε το κειμενικό περιεχόμενο σε κοινές δομές παρουσίασης.
Χρειάζομαι ειδική άδεια Aspose.Slides για την εξαγωγή κειμένου από παρουσιάσεις;
Μπορείτε να εξάγετε κείμενο χρησιμοποιώντας τη δωρεάν δοκιμαστική έκδοση του Aspose.Slides, αν και θα έχει ορισμένους περιορισμούς, όπως η επεξεργασία μόνο περιορισμένου αριθμού διαφανειών. Για απεριόριστη χρήση και για να διαχειριστείτε μεγαλύτερες παρουσιάσεις, συνιστάται η αγορά πλήρους άδειας.