Προηγμένη Εξαγωγή Κειμένου από Παρουσιάσεις σε Android
Επισκόπηση
Η εξαγωγή κειμένου από παρουσιάσεις είναι μια κοινή αλλά ουσιώδης εργασία για προγραμματιστές που εργάζονται με περιεχόμενο διαφανειών. Είτε διαχειρίζεστε αρχεία Microsoft PowerPoint σε μορφή PPT ή PPTX, είτε παρουσιάσεις OpenDocument (ODP), η πρόσβαση και η ανάκτηση των κειμενικών δεδομένων μπορεί να είναι κρίσιμη για ανάλυση, αυτοματοποίηση, ευρετηρίαση ή σκοπούς μετανάστευσης περιεχομένου.
Αυτό το άρθρο παρέχει έναν ολοκληρωμένο οδηγό για το πώς να εξάγετε αποτελεσματικά κείμενο από διάφορες μορφές παρουσιάσεων, συμπεριλαμβανομένων των PPT, PPTX και ODP, χρησιμοποιώντας το Aspose.Slides for Android via Java. Θα μάθετε πώς να επαναλαμβάνετε συστηματικά τα στοιχεία μιας παρουσίασης ώστε να ανακτήσετε με ακρίβεια το κείμενο που χρειάζεστε.
Εξαγωγή κειμένου από μια διαφάνεια
Το Aspose.Slides for Android via Java παρέχει την κλάση SlideUtil . Αυτή η κλάση εκθέτει πολλές υπερφορτωμένες στατικές μεθόδους για την εξαγωγή όλου του κειμένου από μια παρουσίαση ή διαφάνεια. Για να εξαγάγετε κείμενο από μια διαφάνεια σε μια παρουσίαση, χρησιμοποιήστε τη μέθοδο getAllTextBoxes . Αυτή η μέθοδος δέχεται ένα αντικείμενο τύπου IBaseSlide ως παράμετρο. Όταν εκτελείται, η μέθοδος σαρώει ολόκληρη τη διαφάνεια για κείμενο και επιστρέφει έναν πίνακα αντικειμένων τύπου ITextFrame, διατηρώντας οποιαδήποτε μορφοποίηση κειμένου.
Το ακόλουθο απόσπασμα κώδικα εξάγει όλο το κείμενο από την πρώτη διαφάνεια της παρουσίασης:
int slideIndex = 0;
Presentation presentation = new Presentation("demo.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(slideIndex);
ITextFrame[] textFrames = SlideUtil.getAllTextBoxes(slide);
for (ITextFrame textFrame : textFrames) {
for (IParagraph paragraph : textFrame.getParagraphs()) {
for (IPortion portion : paragraph.getPortions()) {
String portionText = portion.getText();
System.out.println(portionText);
IPortionFormat portionFormat = portion.getPortionFormat();
float fontHeight = portionFormat.getFontHeight();
System.out.println(fontHeight);
IFontData latinFont = portionFormat.getLatinFont();
if (latinFont != null) {
String fontName = latinFont.getFontName();
System.out.println(fontName);
}
}
}
}
} finally {
presentation.dispose();
}
Εξαγωγή κειμένου από μια παρουσίαση
Για να σαρώσετε κείμενο από ολόκληρη την παρουσίαση, χρησιμοποιήστε τη στατική μέθοδο getAllTextFrames που εκτίθεται από την κλάση SlideUtil . Δέχεται δύο παραμέτρους:
- Πρώτα, ένα αντικείμενο IPresentation που αντιπροσωπεύει μια παρουσίαση PowerPoint ή OpenDocument από την οποία θα εξαχθεί το κείμενο.
- Δεύτερον, μια τιμή
booleanπου υποδεικνύει εάν οι κύριες διαφάνειες πρέπει να συμπεριληφθούν κατά την σάρωση του κειμένου από την παρουσίαση.
Η μέθοδος επιστρέφει έναν πίνακα αντικειμένων τύπου ITextFrame, περιλαμβάνοντας πληροφορίες μορφοποίησης κειμένου. Ο παρακάτω κώδικας σαρώει το κείμενο και τις λεπτομέρειες μορφοποίησης από μια παρουσίαση, συμπεριλαμβανομένων των κύριων διαφανειών.
Presentation presentation = new Presentation("demo.pptx");
try {
boolean includeMasterSlides = true;
ITextFrame[] textFrames = SlideUtil.getAllTextFrames(presentation, includeMasterSlides);
for (ITextFrame textFrame : textFrames) {
for (IParagraph paragraph : textFrame.getParagraphs()) {
for (IPortion portion : paragraph.getPortions()) {
String portionText = portion.getText();
System.out.println(portionText);
IPortionFormat portionFormat = portion.getPortionFormat();
float fontHeight = portionFormat.getFontHeight();
System.out.println(fontHeight);
IFontData latinFont = portionFormat.getLatinFont();
if (latinFont != null) {
String fontName = latinFont.getFontName();
System.out.println(fontName);
}
}
}
}
} finally {
presentation.dispose();
}
Κατηγοριοποιημένη και γρήγορη εξαγωγή κειμένου
Η κλάση PresentationFactory παρέχει επίσης μεθόδους για την εξαγωγή όλου του κειμένου από παρουσιάσεις:
IPresentationText getPresentationText(String file, int mode);
IPresentationText getPresentationText(InputStream stream, int mode);
IPresentationText getPresentationText(InputStream stream, int mode, ILoadOptions options);
Το επιχείρημα enum TextExtractionArrangingMode υποδεικνύει τη λειτουργία οργάνωσης του αποτελέσματος εξαγωγής κειμένου και μπορεί να οριστεί στις παρακάτω τιμές:
Unarranged- Το ακατέργαστο κείμενο χωρίς να λαμβάνεται υπόψη η θέση του στη διαφάνεια.Arranged- Το κείμενο είναι διατεταγμένο με την ίδια σειρά όπως στη διαφάνεια.
Η κατάσταση Unarranged μπορεί να χρησιμοποιηθεί όταν η ταχύτητα είναι κρίσιμη· είναι πιο γρήγορη από την κατάσταση Arranged.
IPresentationText αντιπροσωπεύει το ακατέργαστο κείμενο που εξήχθη από την παρουσίαση. Η μέθοδος getSlidesText της επιστρέφει έναν πίνακα αντικειμένων τύπου ISlideText . Κάθε αντικείμενο αντιπροσωπεύει το κείμενο στην αντίστοιχη διαφάνεια. Το αντικείμενο τύπου ISlideText έχει τις ακόλουθες μεθόδους:
getText- Το κείμενο εντός των σχήματων της διαφάνειας.getMasterText- Το κείμενο εντός των σχήματων της κύριας διαφάνειας που συνδέεται με αυτή τη διαφάνεια.getLayoutText- Το κείμενο εντός των σχήματων της διαφάνειας διάταξης που συνδέεται με αυτή τη διαφάνεια.getNotesText- Το κείμενο εντός των σχήματων της διαφάνειας σημειώσεων που συνδέεται με αυτή τη διαφάνεια.getCommentsText- Το κείμενο εντός των σχολίων που συνδέονται με αυτή τη διαφάνεια.
String presentationPath = "presentation.pptx";
int arrangingMode = TextExtractionArrangingMode.Unarranged;
IPresentationText presentationText = PresentationFactory.getInstance().getPresentationText(presentationPath, arrangingMode);
ISlideText firstSlideText = presentationText.getSlidesText()[0];
System.out.println(firstSlideText.getText());
System.out.println(firstSlideText.getLayoutText());
System.out.println(firstSlideText.getMasterText());
System.out.println(firstSlideText.getNotesText());
System.out.println(firstSlideText.getCommentsText());
ΣΥΧΝΕΣ ΕΡΩΤΗΣΕΙΣ
Πόσο γρήγορα επεξεργάζεται το Aspose.Slides μεγάλες παρουσιάσεις κατά την εξαγωγή κειμένου;
Το Aspose.Slides είναι βελτιστοποιημένο για υψηλή απόδοση και μπορεί να επεξεργαστεί ακόμη και μεγάλες παρουσιάσεις, καθιστώντας το κατάλληλο για σεναρίου πραγματικού χρόνου ή μαζικής επεξεργασίας.
Μπορεί το Aspose.Slides να εξάγει κείμενο από πίνακες και διαγράμματα εντός παρουσιάσεων;
Ναι. Το Aspose.Slides μπορεί να εξάγει κείμενο από πολλά στοιχεία διαφανειών, συμπεριλαμβανομένων πινάκων και αντικειμένων σχετικών με διαγράμματα, ώστε να μπορείτε να έχετε πρόσβαση και να αναλύσετε το κειμενικό περιεχόμενο σε κοινές δομές παρουσιάσεων.
Χρειάζομαι ειδική άδεια Aspose.Slides για την εξαγωγή κειμένου από παρουσιάσεις;
Μπορείτε να εξάγετε κείμενο χρησιμοποιώντας τη δωρεάν δοκιμαστική έκδοση του Aspose.Slides, αν και θα έχει ορισμένους περιορισμούς, όπως η επεξεργασία μόνο περιορισμένου αριθμού διαφανειών. Για απεριόριστη χρήση και για τη διαχείριση μεγαλύτερων παρουσιάσεων, συνίσταται η αγορά πλήρους άδειας.