Πλαίσιο Κειμένου
Στο Aspose.Slides, ένα πλαίσιο κειμένου αντιπροσωπεύεται από ένα AutoShape. Σχεδόν οποιοδήποτε σχήμα μπορεί να περιέχει κείμενο, αλλά ένα τυπικό πλαίσιο κειμένου δεν έχει γέμισμα ή περίγραμμα και εμφανίζει μόνο κείμενο.
Αυτός ο οδηγός εξηγεί πώς να προσθέτετε, να έχετε πρόσβαση και να αφαιρείτε πλαίσια κειμένου προγραμματιστικά.
Προσθήκη Πλαισίου Κειμένου
Ένα πλαίσιο κειμένου είναι απλώς ένα AutoShape χωρίς γέμισμα ή περίγραμμα και με κάποιο μορφοποιημένο κείμενο. Ακολουθεί η δημιουργία ενός:
public static void addTextBox() {
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Δημιουργήστε ένα σχήμα ορθογωνίου (προεπιλεγμένα είναι γεμάτο με περίγραμμα και χωρίς κείμενο).
IAutoShape textBox = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 75, 150, 100);
// Αφαιρέστε το γέμισμα και το περίγραμμα για να μοιάζει με τυπικό πλαίσιο κειμένου.
textBox.getFillFormat().setFillType(FillType.NoFill);
textBox.getLineFormat().getFillFormat().setFillType(FillType.NoFill);
// Ορίστε τη μορφοποίηση του κειμένου.
IParagraph paragraph = textBox.getTextFrame().getParagraphs().get_Item(0);
IPortionFormat textFormat = paragraph.getParagraphFormat().getDefaultPortionFormat();
textFormat.getFillFormat().setFillType(FillType.Solid);
textFormat.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Ορίστε το πραγματικό περιεχόμενο κειμένου.
textBox.getTextFrame().setText("Some text...");
} finally {
presentation.dispose();
}
}
💡 Σημείωση: Οποιοδήποτε
AutoShapeπου περιέχει ένα μη κενόTextFrameμπορεί να λειτουργήσει ως πλαίσιο κειμένου.
Πρόσβαση σε Πλαίσια Κειμένου κατά Περιεχόμενο
Για να βρείτε όλα τα πλαίσια κειμένου που περιέχουν μια συγκεκριμένη λέξη-κλειδί (π.χ. “Slide”), επαναλάβετε τις μορφές και ελέγξτε το κείμενό τους:
public static void accessTextBox() {
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
for (IShape shape : slide.getShapes()) {
// Μόνο τα AutoShapes μπορούν να περιέχουν επεξεργάσιμο κείμενο.
if (shape instanceof IAutoShape) {
IAutoShape autoShape = (IAutoShape) shape;
if (autoShape.getTextFrame().getText().contains("Slide")) {
// Κάντε κάτι με το αντίστοιχο πλαίσιο κειμένου.
}
}
}
} finally {
presentation.dispose();
}
}
Αφαίρεση Πλαισίων Κειμένου κατά Περιεχόμενο
Αυτό το παράδειγμα εντοπίζει και διαγράφει όλα τα πλαίσια κειμένου στην πρώτη διαφάνεια που περιέχουν μια συγκεκριμένη λέξη-κλειδί:
public static void removeTextBox() {
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
List<IShape> shapesToRemove = new ArrayList<IShape>();
for (IShape shape : slide.getShapes()) {
if (shape instanceof IAutoShape) {
IAutoShape autoShape = (IAutoShape) shape;
if (autoShape.getTextFrame().getText().contains("Slide")) {
shapesToRemove.add(shape);
}
}
}
for (IShape shape : shapesToRemove) {
slide.getShapes().remove(shape);
}
} finally {
presentation.dispose();
}
}
💡 Συμβουλή: Πάντα δημιουργήστε ένα αντίγραφο της συλλογής σχήματος πριν το τροποποιήσετε κατά την επανάληψη, ώστε να αποφύγετε σφάλματα τροποποίησης συλλογής.