Διαχείριση παραγράφων κειμένου PowerPoint στο Android
Εισαγωγή
Το Aspose.Slides παρέχει όλες τις διεπαφές και κλάσεις που χρειάζεστε για εργασία με κείμενα PowerPoint, παραγράφους και τμήματα στη Java.
- Το Aspose.Slides παρέχει τη διεπαφή ITextFrame για να μπορείτε να προσθέσετε αντικείμενα που αντιπροσωπεύουν μια παράγραφο. Ένα αντικείμενο
ITextFameμπορεί να έχει μία ή πολλές παραγράφους (κάθε παράγραφος δημιουργείται μέσω αλλαγής γραμμής). - Το Aspose.Slides παρέχει τη διεπαφή IParagraph για να μπορείτε να προσθέσετε αντικείμενα που αντιπροσωπεύουν τμήματα. Ένα αντικείμενο
IParagraphμπορεί να έχει ένα ή πολλά τμήματα (συλλογή αντικειμένων iPortions). - Το Aspose.Slides παρέχει τη διεπαφή IPortion για να μπορείτε να προσθέσετε αντικείμενα που αντιπροσωπεύουν κείμενα και τις ιδιότητές τους μορφοποίησης.
Ένα αντικείμενο IParagraph είναι ικανό να χειρίζεται κείμενα με διαφορετικές ιδιότητες μορφοποίησης μέσω των υποκείμενων αντικειμένων IPortion.
Προσθήκη Πολλαπλών Παραγράφων που Περιέχουν Πολλαπλά Τμήματα Κειμένου
Αυτά τα βήματα σας δείχνουν πώς να προσθέσετε ένα πλαίσιο κειμένου που περιέχει 3 παραγράφους και κάθε παράγραφος που περιέχει 3 τμήματα:
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Προσπελάστε τη σχετική διαφάνεια μέσω του δείκτη της.
- Προσθέστε ένα ορθογώνιο IAutoShape στη διαφάνεια.
- Λάβετε το
ITextFrameπου συνδέεται με το IAutoShape. - Δημιουργήστε δύο αντικείμενα IParagraph και προσθέστε τα στη συλλογή
IParagraphsτου ITextFrame. - Δημιουργήστε τρία αντικείμενα IPortion για κάθε νέο
IParagraph(δύο αντικείμενα Portion για την προεπιλεγμένη Παράγραφο) και προσθέστε κάθε αντικείμενοIPortionστη συλλογή IPortion της αντίστοιχηςIParagraph. - Ορίστε κάποιο κείμενο για κάθε τμήμα.
- Εφαρμόστε τις προτιμητέες ιδιότητες μορφοποίησης σε κάθε τμήμα χρησιμοποιώντας τις ιδιότητες μορφοποίησης που εκτίθενται από το αντικείμενο
IPortion. - Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java είναι μια υλοποίηση των βημάτων για την προσθήκη παραγράφων που περιέχουν τμήματα:
// Δημιουργεί μια κλάση Presentation που αντιπροσωπεύει αρχείο PPTX
Presentation pres = new Presentation();
try {
// Πρόσβαση στην πρώτη διαφάνεια
ISlide slide = pres.getSlides().get_Item(0);
// Προσθήκη AutoShape τύπου Rectangle
IAutoShape ashp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 300, 150);
// Πρόσβαση στο TextFrame του AutoShape
ITextFrame tf = ashp.getTextFrame();
// Δημιουργία παραγράφων και τμημάτων με διαφορετικές μορφοποιήσεις κειμένου
IParagraph para0 = tf.getParagraphs().get_Item(0);
IPortion port01 = new Portion();
IPortion port02 = new Portion();
para0.getPortions().add(port01);
para0.getPortions().add(port02);
IParagraph para1 = new Paragraph();
tf.getParagraphs().add(para1);
IPortion port10 = new Portion();
IPortion port11 = new Portion();
IPortion port12 = new Portion();
para1.getPortions().add(port10);
para1.getPortions().add(port11);
para1.getPortions().add(port12);
IParagraph para2 = new Paragraph();
tf.getParagraphs().add(para2);
IPortion port20 = new Portion();
IPortion port21 = new Portion();
IPortion port22 = new Portion();
para2.getPortions().add(port20);
para2.getPortions().add(port21);
para2.getPortions().add(port22);
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
IPortion portion = tf.getParagraphs().get_Item(i).getPortions().get_Item(j);
portion.setText("Portion0" + j);
if (j == 0) {
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.RED);
portion.getPortionFormat().setFontBold(NullableBool.True);
portion.getPortionFormat().setFontHeight(15);
} else if (j == 1) {
portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
portion.getPortionFormat().setFontItalic(NullableBool.True);
portion.getPortionFormat().setFontHeight(18);
}
}
}
//Αποθήκευση PPTX στο δίσκο
pres.save("multiParaPort_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Διαχείριση Κουκίδων Παραγράφου
Οι λίστες με κουκίδες σας βοηθούν να οργανώσετε και να παρουσιάσετε πληροφορίες γρήγορα και αποδοτικά. Οι παραγράφοι με κουκίδες είναι πάντα πιο εύκολα αναγνώσιμα και κατανοητά.
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Προσπελάστε τη σχετική διαφάνεια μέσω του δείκτη της.
- Προσθέστε ένα autoshape στην επιλεγμένη διαφάνεια.
- Προσπελάστε το TextFrame του autoshape.
- Αφαιρέστε την προεπιλεγμένη παράγραφο στο
TextFrame. - Δημιουργήστε την πρώτη παράγραφο χρησιμοποιώντας την κλάση Paragraph.
- Ορίστε τον
Typeτης κουκίδας σεSymbolκαι ορίστε το χαρακτήρα της κουκίδας. - Ορίστε το
Textτης παραγράφου. - Ορίστε το
Indentτης παραγράφου για την κουκίδα. - Ορίστε χρώμα για την κουκίδα.
- Ορίστε ύψος για την κουκίδα.
- Προσθέστε τη νέα παράγραφο στη συλλογή παραγράφων του
TextFrame. - Προσθέστε τη δεύτερη παράγραφο και επαναλάβετε τη διαδικασία στα βήματα 7‑13.
- Αποθηκεύστε την παρουσίαση.
Αυτός ο κώδικας Java δείχνει πώς να προσθέσετε μια κουκίδα παραγράφου:
// Δημιουργεί μια κλάση Presentation που αντιπροσωπεύει αρχείο PPTX
Presentation pres = new Presentation();
try {
// Πρόσβαση στην πρώτη διαφάνεια
ISlide slide = pres.getSlides().get_Item(0);
// Προσθέτει και προσπελάζει το Autoshape
IAutoShape aShp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
// Πρόσβαση στο πλαίσιο κειμένου του Autoshape
ITextFrame txtFrm = aShp.getTextFrame();
// Αφαιρεί την προεπιλεγμένη παράγραφο
txtFrm.getParagraphs().removeAt(0);
// Δημιουργία παραγράφου
Paragraph para = new Paragraph();
// Ορίζει το στυλ και το σύμβολο της κουκίδας της παραγράφου
para.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para.getParagraphFormat().getBullet().setChar((char)8226);
// Ορίζει το κείμενο της παραγράφου
para.setText("Welcome to Aspose.Slides");
// Ορίζει την εσοχή της κουκίδας
para.getParagraphFormat().setIndent(25);
// Ορίζει το χρώμα της κουκίδας
para.getParagraphFormat().getBullet().getColor().setColorType(ColorType.RGB);
para.getParagraphFormat().getBullet().getColor().setColor(Color.BLACK);
para.getParagraphFormat().getBullet().setBulletHardColor(NullableBool.True); // ορίζει το IsBulletHardColor σε true για χρήση του δικού χρώματος κουκίδας
// Ορίζει το ύψος της κουκίδας
para.getParagraphFormat().getBullet().setHeight(100);
// Προσθέτει την παράγραφο στο πλαίσιο κειμένου
txtFrm.getParagraphs().add(para);
// Δημιουργεί δεύτερη παράγραφο
Paragraph para2 = new Paragraph();
// Ορίζει τον τύπο και το στυλ της κουκίδας της παραγράφου
para2.getParagraphFormat().getBullet().setType(BulletType.Numbered);
para2.getParagraphFormat().getBullet().setNumberedBulletStyle(NumberedBulletStyle.BulletCircleNumWDBlackPlain);
// Προσθέτει το κείμενο της παραγράφου
para2.setText("This is numbered bullet");
// Ορίζει την εσοχή της κουκίδας
para2.getParagraphFormat().setIndent(25);
para2.getParagraphFormat().getBullet().getColor().setColorType(ColorType.RGB);
para2.getParagraphFormat().getBullet().getColor().setColor(Color.BLACK);
para2.getParagraphFormat().getBullet().setBulletHardColor(NullableBool.True); // ορίζει το IsBulletHardColor σε true για χρήση του δικού χρώματος κουκίδας
// Ορίζει το ύψος της κουκίδας
para2.getParagraphFormat().getBullet().setHeight(100);
// Προσθέτει την παράγραφο στο πλαίσιο κειμένου
txtFrm.getParagraphs().add(para2);
// Αποθηκεύει την τροποποιημένη παρουσίαση
pres.save("Bullet_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Διαχείριση Κουκίδων Εικόνας
Οι λίστες με κουκίδες σας βοηθούν να οργανώσετε και να παρουσιάσετε πληροφορίες γρήγορα και αποδοτικά. Οι παράγραφοι με εικόνες είναι εύκολα αναγνώσιμες και κατανοητές.
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Προσπελάστε τη σχετική διαφάνεια μέσω του δείκτη της.
- Προσθέστε ένα autoshape στη διαφάνεια.
- Προσπελάστε το TextFrame του autoshape.
- Αφαιρέστε την προεπιλεγμένη παράγραφο στο
TextFrame. - Δημιουργήστε την πρώτη παράγραφο χρησιμοποιώντας την κλάση Paragraph.
- Φορτώστε την εικόνα στο IPPImage.
- Ορίστε τον τύπο της κουκίδας σε Picture και ορίστε την εικόνα.
- Ορίστε το
Textτης παραγράφου. - Ορίστε το
Indentτης παραγράφου για την κουκίδα. - Ορίστε χρώμα για την κουκίδα.
- Ορίστε ύψος για την κουκίδα.
- Προσθέστε τη νέα παράγραφο στη συλλογή παραγράφων του
TextFrame. - Προσθέστε τη δεύτερη παράγραφο και επαναλάβετε τη διαδικασία βάσει των προηγούμενων βημάτων.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java δείχνει πώς να προσθέσετε και να διαχειριστείτε κουκίδες εικόνας:
// Δημιουργεί μια κλάση Presentation που αντιπροσωπεύει αρχείο PPTX
Presentation presentation = new Presentation();
try {
// Πρόσβαση στην πρώτη διαφάνεια
ISlide slide = presentation.getSlides().get_Item(0);
// Δημιουργεί την εικόνα για τις κουκίδες
IPPImage picture;
IImage image = Images.fromFile("bullets.png");
try {
picture = presentation.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
// Προσθέτει και προσπελάζει το Autoshape
IAutoShape autoShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
// Πρόσβαση στο πλαίσιο κειμένου του autoshape
ITextFrame textFrame = autoShape.getTextFrame();
// Αφαιρεί την προεπιλεγμένη παράγραφο
textFrame.getParagraphs().removeAt(0);
// Δημιουργεί νέα παράγραφο
Paragraph paragraph = new Paragraph();
paragraph.setText("Welcome to Aspose.Slides");
// Ορίζει το στυλ και την εικόνα της κουκίδας της παραγράφου
paragraph.getParagraphFormat().getBullet().setType(BulletType.Picture);
paragraph.getParagraphFormat().getBullet().getPicture().setImage(picture);
// Ορίζει το ύψος της κουκίδας
paragraph.getParagraphFormat().getBullet().setHeight(100);
// Προσθέτει την παράγραφο στο πλαίσιο κειμένου
textFrame.getParagraphs().add(paragraph);
// Αποθηκεύει την παρουσίαση ως αρχείο PPTX
presentation.save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx);
// Αποθηκεύει την παρουσίαση ως αρχείο PPT
presentation.save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt);
} catch (IOException e) {
} finally {
if (presentation != null) presentation.dispose();
}
Διαχείριση Πολυεπίπεδων Κουκίδων
Οι λίστες με κουκίδες σας βοηθούν να οργανώσετε και να παρουσιάσετε πληροφορίες γρήγορα και αποδοτικά. Οι πολυεπίπεδες κουκίδες είναι εύκολα αναγνώσιμες και κατανοητές.
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Προσπελάστε τη σχετική διαφάνεια μέσω του δείκτη της.
- Προσθέστε ένα autoshape στη νέα διαφάνεια.
- Προσπελάστε το TextFrame του autoshape.
- Αφαιρέστε την προεπιλεγμένη παράγραφο στο
TextFrame. - Δημιουργήστε την πρώτη παράγραφο μέσω της κλάσης Paragraph και ορίστε το βάθος σε 0.
- Δημιουργήστε τη δεύτερη παράγραφο μέσω της κλάσης
Paragraphκαι ορίστε το βάθος σε 1. - Δημιουργήστε την τρίτη παράγραφο μέσω της κλάσης
Paragraphκαι ορίστε το βάθος σε 2. - Δημιουργήστε την τέταρτη παράγραφο μέσω της κλάσης
Paragraphκαι ορίστε το βάθος σε 3. - Προσθέστε τις νέες παραγράφους στη συλλογή παραγράφων του
TextFrame. - Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java δείχνει πώς να προσθέσετε και να διαχειριστείτε πολυεπίπεδες κουκίδες:
// Δημιουργεί μια κλάση Presentation που αντιπροσωπεύει αρχείο PPTX
Presentation pres = new Presentation();
try {
// Πρόσβαση στην πρώτη διαφάνεια
ISlide slide = pres.getSlides().get_Item(0);
// Προσθέτει και προσπελάζει το Autoshape
IAutoShape aShp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
// Πρόσβαση στο πλαίσιο κειμένου του δημιουργημένου autoshape
ITextFrame text = aShp.addTextFrame("");
// Καθαρίζει την προεπιλεγμένη παράγραφο
text.getParagraphs().clear();
// Προσθέτει την πρώτη παράγραφο
IParagraph para1 = new Paragraph();
para1.setText("Content");
para1.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para1.getParagraphFormat().getBullet().setChar((char)8226);
para1.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
para1.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Ορίζει το επίπεδο της κουκίδας
para1.getParagraphFormat().setDepth((short)0);
// Προσθέτει τη δεύτερη παράγραφο
IParagraph para2 = new Paragraph();
para2.setText("Second Level");
para2.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para2.getParagraphFormat().getBullet().setChar('-');
para2.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
para2.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Ορίζει το επίπεδο της κουκίδας
para2.getParagraphFormat().setDepth((short)1);
// Προσθέτει την τρίτη παράγραφο
IParagraph para3 = new Paragraph();
para3.setText("Third Level");
para3.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para3.getParagraphFormat().getBullet().setChar((char)8226);
para3.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
para3.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Ορίζει το επίπεδο της κουκίδας
para3.getParagraphFormat().setDepth((short)2);
// Προσθέτει την τέταρτη παράγραφο
IParagraph para4 = new Paragraph();
para4.setText("Fourth Level");
para4.getParagraphFormat().getBullet().setType(BulletType.Symbol);
para4.getParagraphFormat().getBullet().setChar('-');
para4.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
para4.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Ορίζει το επίπεδο της κουκίδας
para4.getParagraphFormat().setDepth((short)3);
// Προσθέτει τις παραγράφους στη συλλογή
text.getParagraphs().add(para1);
text.getParagraphs().add(para2);
text.getParagraphs().add(para3);
text.getParagraphs().add(para4);
// Αποθηκεύει την παρουσίαση ως αρχείο PPTX
pres.save("MultilevelBullet.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Διαχείριση Παραγράφου με Προσαρμοσμένη Αριθμημένη Λίστα
Η διεπαφή IBulletFormat παρέχει την ιδιότητα NumberedBulletStartWith και άλλες που σας επιτρέπουν να διαχειρίζεστε παραγράφους με προσαρμοσμένη αρίθμηση ή μορφοποίηση.
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Προσπελάστε τη διαφάνεια που περιέχει την παράγραφο.
- Προσθέστε ένα autoshape στη διαφάνεια.
- Προσπελάστε το TextFrame του autoshape.
- Αφαιρέστε την προεπιλεγμένη παράγραφο στο
TextFrame. - Δημιουργήστε την πρώτη παράγραφο μέσω της κλάσης Paragraph και ορίστε το NumberedBulletStartWith σε 2.
- Δημιουργήστε τη δεύτερη παράγραφο μέσω της κλάσης
Paragraphκαι ορίστε τοNumberedBulletStartWithσε 3. - Δημιουργήστε την τρίτη παράγραφο μέσω της κλάσης
Paragraphκαι ορίστε τοNumberedBulletStartWithσε 7. - Προσθέστε τις νέες παραγράφους στη συλλογή παραγράφων του
TextFrame. - Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java δείχνει πώς να προσθέσετε και να διαχειριστείτε παραγράφους με προσαρμοσμένη αρίθμηση ή μορφοποίηση:
Presentation presentation = new Presentation();
try {
IAutoShape shape = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
// Πρόσβαση στο πλαίσιο κειμένου του δημιουργημένου autoshape
ITextFrame textFrame = shape.getTextFrame();
// Αφαίρεση της προεπιλεγμένης υπάρχουσας παραγράφου
textFrame.getParagraphs().removeAt(0);
// Πρώτη λίστα
Paragraph paragraph1 = new Paragraph();
paragraph1.setText("bullet 2");
paragraph1.getParagraphFormat().setDepth((short)4);
paragraph1.getParagraphFormat().getBullet().setNumberedBulletStartWith((short)2);
paragraph1.getParagraphFormat().getBullet().setType(BulletType.Numbered);
textFrame.getParagraphs().add(paragraph1);
Paragraph paragraph2 = new Paragraph();
paragraph2.setText("bullet 3");
paragraph2.getParagraphFormat().setDepth((short)4);
paragraph2.getParagraphFormat().getBullet().setNumberedBulletStartWith((short)3);
paragraph2.getParagraphFormat().getBullet().setType(BulletType.Numbered);
textFrame.getParagraphs().add(paragraph2);
Paragraph paragraph5 = new Paragraph();
paragraph5.setText("bullet 7");
paragraph5.getParagraphFormat().setDepth((short)4);
paragraph5.getParagraphFormat().getBullet().setNumberedBulletStartWith((short)7);
paragraph5.getParagraphFormat().getBullet().setType(BulletType.Numbered);
textFrame.getParagraphs().add(paragraph5);
presentation.save("SetCustomBulletsNumber-slides.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Ορισμός Εσοχής Πρώτης Γραμμής για Παράγραφο
Χρησιμοποιήστε τη μέθοδο IParagraphFormat.setIndent για να ελέγξετε την εσοχή της πρώτης γραμμής μιας παραγράφου. Αυτή η μέθοδος μετακινεί μόνο την πρώτη γραμμή σε σχέση με το αριστερό περιθώριο της παραγράφου. Μια θετική τιμή μετακινεί την πρώτη γραμμή προς τα δεξιά, ενώ οι υπόλοιπες γραμμές παραμένουν ευθυγραμμισμένες με το σώμα της παραγράφου.
Χρησιμοποιήστε το IParagraphFormat.setMarginLeft όταν πρέπει να μετακινήσετε ολόκληρη την παράγραφο. Χρησιμοποιήστε το IParagraphFormat.setIndent όταν θέλετε να μετακινήσετε μόνο την πρώτη γραμμή.
Το παρακάτω παράδειγμα δημιουργεί πολλές παραγράφους και εφαρμόζει διαφορετικές τιμές εσοχής για να δείξει πώς η εσοχή της πρώτης γραμμής επηρεάζει τη διάταξη της παραγράφου.
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Προσπελάστε τη στοχευμένη διαφάνεια.
- Προσθέστε ένα ορθογώνιο AutoShape στη διαφάνεια.
- Προσθέστε ένα κενό TextFrame στο σχήμα και αφαιρέστε την προεπιλεγμένη παράγραφο.
- Δημιουργήστε πολλές παραγράφους και ορίστε διαφορετικές τιμές Indent για αυτές.
- Προσθέστε τις παραγράφους στο πλαίσιο κειμένου.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας δείχνει πώς να ορίσετε εσοχή παραγράφου:
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape rectangleShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 420, 220);
rectangleShape.getFillFormat().setFillType(FillType.NoFill);
rectangleShape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
rectangleShape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.GRAY);
ITextFrame textFrame = rectangleShape.addTextFrame("");
textFrame.getTextFrameFormat().setAutofitType(TextAutofitType.Shape);
textFrame.getParagraphs().removeAt(0);
Paragraph firstParagraph = new Paragraph();
firstParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
firstParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
firstParagraph.setText("No first-line indent. Wrapped lines start at the same position as the first line.");
firstParagraph.getParagraphFormat().setMarginLeft(20f);
firstParagraph.getParagraphFormat().setIndent(0f);
Paragraph secondParagraph = new Paragraph();
secondParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
secondParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
secondParagraph.setText("First-line indent of 20 points. The first line moves to the right, while wrapped lines remain aligned to the paragraph body.");
secondParagraph.getParagraphFormat().setMarginLeft(20f);
secondParagraph.getParagraphFormat().setIndent(20f);
Paragraph thirdParagraph = new Paragraph();
thirdParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
thirdParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
thirdParagraph.setText("First-line indent of 40 points. This paragraph shows a larger first-line offset to make the effect easier to see.");
thirdParagraph.getParagraphFormat().setMarginLeft(20f);
thirdParagraph.getParagraphFormat().setIndent(40f);
textFrame.getParagraphs().add(firstParagraph);
textFrame.getParagraphs().add(secondParagraph);
textFrame.getParagraphs().add(thirdParagraph);
presentation.save("paragraph_indent.pptx", SaveFormat.Pptx);
}
finally {
presentation.dispose();
}
Το αποτέλεσμα:

Ορισμός Αναρρέουσας Εσοχής για Παράγραφο
Η αναρρέουσα εσοχή είναι μια διάταξη παραγράφου στην οποία η πρώτη γραμμή αρχίζει αριστερά των υπολοίπων γραμμών. Στο Aspose.Slides, δημιουργείτε αυτό το εφέ με τη μέθοδο IParagraphFormat.setIndent. Ορίστε την εσοχή σε αρνητική τιμή για να μετακινήσετε την πρώτη γραμμή αριστερά σε σχέση με το σώμα της παραγράφου.
Στην πράξη, το IParagraphFormat.setMarginLeft ορίζει τη θέση του αριστερού περιθωρίου του σώματος της παραγράφου, ενώ το IParagraphFormat.setIndent ορίζει τη θέση της πρώτης γραμμής σε σχέση με αυτό το περιθώριο. Για να δημιουργήσετε μια αναρρέουσα εσοχή, ορίστε μια θετική τιμή για το MarginLeft και μια αρνητική τιμή για το Indent.
Αυτή η μορφοποίηση είναι χρήσιμη για βιβλιογραφίες, αναφορές, εισαγωγές γλωσσολογικών όρων και άλλες παραγράφους όπου οι περιτυλιγμένες γραμμές πρέπει να ευθυγραμμίζονται κάτω από το σώμα της παραγράφου αντί κάτω από τον πρώτο χαρακτήρα της πρώτης γραμμής.
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Προσπελάστε τη στοχευμένη διαφάνεια.
- Προσθέστε ένα ορθογώνιο AutoShape στη διαφάνεια.
- Προσθέστε ένα κενό TextFrame στο σχήμα και αφαιρέστε την προεπιλεγμένη παράγραφο.
- Δημιουργήστε παραγράφους και ορίστε μια θετική τιμή MarginLeft για κάθε παράγραφο.
- Ορίστε μια αρνητική τιμή Indent για να δημιουργήσετε το εφέ της αναρρέουσας εσοχής.
- Προσθέστε τις παραγράφους στο πλαίσιο κειμένου.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας δείχνει πώς να ορίσετε αναρρέουσα εσοχή για μια παράγραφο:
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape rectangleShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 420, 220);
rectangleShape.getFillFormat().setFillType(FillType.NoFill);
rectangleShape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
rectangleShape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.GRAY);
ITextFrame textFrame = rectangleShape.addTextFrame("");
textFrame.getTextFrameFormat().setAutofitType(TextAutofitType.Shape);
textFrame.getParagraphs().removeAt(0);
Paragraph firstParagraph = new Paragraph();
firstParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
firstParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
firstParagraph.setText("A hanging indent is created by combining a positive left margin with a negative indent. The first line starts to the left, while wrapped lines align with the paragraph body.");
firstParagraph.getParagraphFormat().setMarginLeft(40f);
firstParagraph.getParagraphFormat().setIndent(-20f);
Paragraph secondParagraph = new Paragraph();
secondParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
secondParagraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
secondParagraph.setText("This second example uses a deeper hanging indent so the difference between the first line and the wrapped lines is easier to compare.");
secondParagraph.getParagraphFormat().setMarginLeft(60f);
secondParagraph.getParagraphFormat().setIndent(-30f);
textFrame.getParagraphs().add(firstParagraph);
textFrame.getParagraphs().add(secondParagraph);
presentation.save("hanging_indent.pptx", SaveFormat.Pptx);
}
finally {
presentation.dispose();
}
Το αποτέλεσμα:

Διαχείριση Ιδιοτήτων Τέλους Παραγράφου
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Λάβετε την αναφορά στη διαφάνεια που περιέχει την παράγραφο μέσω της θέσης της.
- Προσθέστε ένα ορθογώνιο autoshape στη διαφάνεια.
- Προσθέστε ένα TextFrame με δύο παραγράφους στο Rectangle.
- Ορίστε το
FontHeightκαι τον τύπο γραμματοσειράς για τις παραγράφους. - Ορίστε τις ιδιότητες End για τις παραγράφους.
- Γράψτε την τροποποιημένη παρουσίαση ως αρχείο PPTX.
Αυτός ο κώδικας Java δείχνει πώς να ορίσετε τις ιδιότητες End για παραγράφους στο PowerPoint:
Presentation pres = new Presentation();
try {
IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 10, 10, 200, 250);
Paragraph para1 = new Paragraph();
para1.getPortions().add(new Portion("Sample text"));
Paragraph para2 = new Paragraph();
para2.getPortions().add(new Portion("Sample text 2"));
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(48);
portionFormat.setLatinFont(new FontData("Times New Roman"));
para2.setEndParagraphPortionFormat(portionFormat);
shape.getTextFrame().getParagraphs().add(para1);
shape.getTextFrame().getParagraphs().add(para2);
pres.save(resourcesOutputPath+"pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Εισαγωγή HTML Κειμένου σε Παραγράφους
Το Aspose.Slides παρέχει βελτιωμένη υποστήριξη για την εισαγωγή HTML κειμένου σε παραγράφους.
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Προσπελάστε τη σχετική διαφάνεια μέσω του δείκτη της.
- Προσθέστε ένα autoshape στη διαφάνεια.
- Προσθέστε και προσπελάστε το
autoshapeITextFrame. - Αφαιρέστε την προεπιλεγμένη παράγραφο στο
ITextFrame. - Διαβάστε το πηγαίο αρχείο HTML σε έναν TextReader.
- Δημιουργήστε την πρώτη παράγραφο μέσω της κλάσης Paragraph.
- Προσθέστε το περιεχόμενο του αρχείου HTML, διαβασμένο από το TextReader, στη ParagraphCollection του TextFrame.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java είναι μια υλοποίηση των βημάτων για την εισαγωγή HTML κειμένων σε παραγράφους:
// Δημιουργία κενής παρουσίασης
Presentation pres = new Presentation();
try {
// Πρόσβαση στην προεπιλεγμένη πρώτη διαφάνεια της παρουσίασης
ISlide slide = pres.getSlides().get_Item(0);
// Προσθήκη του AutoShape για τη φιλοξενία του περιεχομένου HTML
IAutoShape ashape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 10, 10,
(float)pres.getSlideSize().getSize().getWidth() - 20, (float)pres.getSlideSize().getSize().getHeight() - 10);
ashape.getFillFormat().setFillType(FillType.NoFill);
// Προσθήκη πλαισίου κειμένου στο σχήμα
ashape.addTextFrame("");
// Διαγραφή όλων των παραγράφων στο προστεθέν πλαίσιο κειμένου
ashape.getTextFrame().getParagraphs().clear();
// Φόρτωση του αρχείου HTML χρησιμοποιώντας StreamReader
TextReader tr = new StreamReader("file.html");
// Προσθήκη κειμένου από τον HTML StreamReader στο πλαίσιο κειμένου
ashape.getTextFrame().getParagraphs().addFromHtml(tr.readToEnd());
// Αποθήκευση παρουσίασης
pres.save("output_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Εξαγωγή Κειμένου Παραγράφου σε HTML
Το Aspose.Slides παρέχει βελτιωμένη υποστήριξη για την εξαγωγή κειμένων (που περιέχονται σε παραγράφους) σε HTML.
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation και φορτώστε την επιθυμητή παρουσίαση.
- Προσπελάστε τη σχετική διαφάνεια μέσω του δείκτη της.
- Προσπελάστε το σχήμα που περιέχει το κείμενο που θα εξαχθεί σε HTML.
- Προσπελάστε το TextFrame του σχήματος.
- Δημιουργήστε ένα αντικείμενο
StreamWriterκαι προσθέστε το νέο αρχείο HTML. - Ορίστε έναν αρχικό δείκτη στο StreamWriter και εξάγετε τις προτιμώμενες παραγράφους.
Αυτός ο κώδικας Java δείχνει πώς να εξάγετε τα κείμενα παραγράφων PowerPoint σε HTML:
// Φόρτωση του αρχείου παρουσίασης
Presentation pres = new Presentation("ExportingHTMLText.pptx");
try {
// Πρόσβαση στην προεπιλεγμένη πρώτη διαφάνεια της παρουσίασης
ISlide slide = pres.getSlides().get_Item(0);
// Απαιτούμενος δείκτης
int index = 0;
// Πρόσβαση στο προστεθέν σχήμα
IAutoShape ashape = (IAutoShape) slide.getShapes().get_Item(index);
// Δημιουργία αρχείου εξόδου HTML
OutputStream os = new FileOutputStream("output.html");
Writer writer = new OutputStreamWriter(os, "UTF-8");
//Εξαγωγή πρώτης παραγράφου ως HTML
// Εγγραφή δεδομένων παραγράφων σε HTML παρέχοντας τον αρχικό δείκτη παραγράφου, το σύνολο των παραγράφων που θα αντιγραφούν
writer.write(ashape.getTextFrame().getParagraphs().exportToHtml(0, ashape.getTextFrame().getParagraphs().getCount(), null));
writer.close();
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}
Αποθήκευση Παραγράφου ως Εικόνα
Σε αυτήν την ενότητα, θα εξετάσουμε δύο παραδείγματα που δείχνουν πώς να αποθηκεύσετε μια παράγραφο κειμένου, που αντιπροσωπεύεται από τη διεπαφή IParagraph, ως εικόνα. Και τα δύο παραδείγματα περιλαμβάνουν την απόκτηση της εικόνας ενός σχήματος που περιέχει την παράγραφο χρησιμοποιώντας τις μεθόδους getImage της διεπαφής IShape, τον υπολογισμό των ορίων της παραγράφου εντός του σχήματος και την εξαγωγή της ως bitmap εικόνα. Αυτές οι προσεγγίσεις σας επιτρέπουν να εξάγετε συγκεκριμένα τμήματα κειμένου από παρουσιάσεις PowerPoint και να τα αποθηκεύσετε ως ξεχωριστές εικόνες, κάτι που μπορεί να είναι χρήσιμο σε διάφορα σενάρια.
Ας υποθέσουμε ότι έχουμε ένα αρχείο παρουσίασης με όνομα sample.pptx με μία διαφάνεια, όπου το πρώτο σχήμα είναι ένα πλαίσιο κειμένου που περιέχει τρεις παραγράφους.

Παράδειγμα 1
Σε αυτό το παράδειγμα, εξάγουμε τη δεύτερη παράγραφο ως εικόνα. Για να το κάνουμε αυτό, εξάγουμε την εικόνα του σχήματος από την πρώτη διαφάνεια της παρουσίασης και στη συνέχεια υπολογίζουμε τα όρια της δεύτερης παραγράφου στο πλαίσιο κειμένου του σχήματος. Η παράγραφος στη συνέχεια επανασχεδιάζεται σε μια νέα bitmap εικόνα, η οποία αποθηκεύεται σε μορφή PNG. Αυτή η μέθοδος είναι ιδιαίτερα χρήσιμη όταν χρειάζεται να αποθηκεύσετε μια συγκεκριμένη παράγραφο ως ξεχωριστή εικόνα, διατηρώντας τις ακριβείς διαστάσεις και τη μορφοποίηση του κειμένου.
Presentation presentation = new Presentation("sample.pptx");
try {
IAutoShape firstShape = (IAutoShape) presentation.getSlides().get_Item(0).getShapes().get_Item(0);
// Αποθηκεύει το σχήμα στη μνήμη ως bitmap.
IImage shapeImage = firstShape.getImage();
ByteArrayOutputStream shapeImageStream = new ByteArrayOutputStream();
shapeImage.save(shapeImageStream, ImageFormat.Png);
shapeImage.dispose();
// Δημιουργεί ένα bitmap σχήματος από τη μνήμη.
InputStream shapeImageInputStream = new ByteArrayInputStream(shapeImageStream.toByteArray());
BufferedImage shapeBitmap = ImageIO.read(shapeImageInputStream);
// Υπολογίζει τα όρια της δεύτερης παραγράφου.
IParagraph secondParagraph = firstShape.getTextFrame().getParagraphs().get_Item(1);
RectF paragraphRectangle = secondParagraph.getRect();
// Υπολογίζει τις συντεταγμένες και το μέγεθος της εικόνας εξόδου (ελάχιστο μέγεθος - 1x1 pixel).
int imageX = (int) Math.floor(paragraphRectangle.left);
int imageY = (int) Math.floor(paragraphRectangle.top);
int imageWidth = Math.max(1, (int) Math.ceil(paragraphRectangle.width()));
int imageHeight = Math.max(1, (int) Math.ceil(paragraphRectangle.height()));
// Κόβει το bitmap του σχήματος για να πάρει μόνο το bitmap της παραγράφου.
BufferedImage paragraphBitmap = shapeBitmap.getSubimage(imageX, imageY, imageWidth, imageHeight);
ImageIO.write(paragraphBitmap, "png", new File("paragraph.png"));
} catch (IOException e) {
} finally {
if (presentation != null) presentation.dispose();
}
Το αποτέλεσμα:

Παράδειγμα 2
Σε αυτό το παράδειγμα, επεκτείνουμε την προγενέστερη προσέγγιση προσθέτοντας παράγοντες κλίμακας στην εικόνα παραγράφου. Το σχήμα εξάγεται από την παρουσίαση και αποθηκεύεται ως εικόνα με παράγοντα κλιμάκωσης 2. Αυτό επιτρέπει ένα υψηλότερης ανάλυσης αποτέλεσμα κατά την εξαγωγή της παραγράφου. Τα όρια της παραγράφου υπολογίζονται μετά τον υπολογισμό της κλίμακας. Η κλιμάκωση μπορεί να είναι ιδιαίτερα χρήσιμη όταν απαιτείται πιο λεπτομερής εικόνα, για παράδειγμα για χρήση σε υψηλής ποιότητας έντυπο υλικό.
float imageScaleX = 2f;
float imageScaleY = imageScaleX;
Presentation presentation = new Presentation("sample.pptx");
try {
IAutoShape firstShape = (IAutoShape) presentation.getSlides().get_Item(0).getShapes().get_Item(0);
// Αποθηκεύει το σχήμα στη μνήμη ως bitmap με κλιμάκωση.
IImage shapeImage = firstShape.getImage(ShapeThumbnailBounds.Shape, imageScaleX, imageScaleY);
ByteArrayOutputStream shapeImageStream = new ByteArrayOutputStream();
shapeImage.save(shapeImageStream, ImageFormat.Png);
shapeImage.dispose();
// Δημιουργεί ένα bitmap σχήματος από τη μνήμη.
InputStream shapeImageInputStream = new ByteArrayInputStream(shapeImageStream.toByteArray());
BufferedImage shapeBitmap = ImageIO.read(shapeImageInputStream);
// Υπολογίζει τα όρια της δεύτερης παραγράφου.
IParagraph secondParagraph = firstShape.getTextFrame().getParagraphs().get_Item(1);
RectF paragraphRectangle = secondParagraph.getRect();
paragraphRectangle.set(
paragraphRectangle.left * imageScaleX,
paragraphRectangle.top * imageScaleY,
paragraphRectangle.right * imageScaleX,
paragraphRectangle.bottom * imageScaleY
);
// Υπολογίζει τις συντεταγμένες και το μέγεθος της εικόνας εξόδου (ελάχιστο μέγεθος - 1x1 pixel).
int imageX = (int) Math.floor(paragraphRectangle.left);
int imageY = (int) Math.floor(paragraphRectangle.top);
int imageWidth = Math.max(1, (int) Math.ceil(paragraphRectangle.width()));
int imageHeight = Math.max(1, (int) Math.ceil(paragraphRectangle.height()));
// Κόβει το bitmap του σχήματος για να πάρει μόνο το bitmap της παραγράφου.
BufferedImage paragraphBitmap = shapeBitmap.getSubimage(imageX, imageY, imageWidth, imageHeight);
ImageIO.write(paragraphBitmap, "png", new File("paragraph.png"));
} catch (IOException e) {
} finally {
if (presentation != null) presentation.dispose();
}
Συχνές Ερωτήσεις
Μπορώ να απενεργοποιήσω εντελώς τη συρραφή γραμμών μέσα σε ένα πλαίσιο κειμένου;
Ναι. Χρησιμοποιήστε τη ρύθμιση συρραφής του πλαισίου κειμένου (setWrapText) για να απενεργοποιήσετε τη συρραφή ώστε οι γραμμές να μην σπάζουν στις άκρες του πλαισίου.
Πώς μπορώ να λάβω τα ακριβή όρια στο slide ενός συγκεκριμένου τμήματος παραγράφου;
Μπορείτε να ανακτήσετε το ορθογώνιο περιορισμών της παραγράφου (και ακόμη και ενός μεμονωμένου τμήματος) για να γνωρίζετε τη θέση και το μέγεθός του στην διαφάνεια.
Πού ελέγχεται η στοίχιση παραγράφου (αριστερά/δεξιά/κέντρο/πλήρης δικαιολογία);
Η Alignment είναι ρύθμιση επιπέδου παραγράφου στο ParagraphFormat; εφαρμόζεται σε ολόκληρη την παράγραφο ανεξάρτητα από τη μορφοποίηση των επιμέρους τμημάτων.
Μπορώ να ορίσω γλώσσα ελέγχου ορθογραφίας μόνο για μέρος μιας παραγράφου (π.χ. μια λέξη);
Ναι. Η γλώσσα ορίζεται σε επίπεδο τμήματος (PortionFormat.setLanguageId), ώστε να μπορούν να συνυπάρχουν πολλαπλές γλώσσες μέσα σε μια ενιαία παράγραφο.