Απόδοση παρουσιάσεων με εναλλακτικές γραμματοσειρές σε Android

Επισκόπηση

Aspose.Slides σας επιτρέπει να αποδίδετε παρουσιάσεις χρησιμοποιώντας κανόνες εναλλακτικής γραμματοσειράς. Αυτό το άρθρο δείχνει πώς να δημιουργήσετε μια συλλογή κανόνων εναλλακτικής γραμματοσειράς, να τροποποιήσετε τους κανόνες αφαιρώντας ή προσθέτοντας εναλλακτικές γραμματοσειρές, και να αναθέσετε τη συλλογή χρησιμοποιώντας τη μέθοδο FontsManager.setFontFallBackRulesCollection.

Μόλις η συλλογή κανόνων εναλλακτικής γραμματοσειράς ανατεθεί στο FontsManager της παρουσίασης, οι κανόνες εφαρμόζονται κατά τις λειτουργίες όπως η αποθήκευση, η απόδοση και η μετατροπή της παρουσίασης. Το παράδειγμα επιδεικνύει πώς να χρησιμοποιήσετε τους ρυθμισμένους κανόνες κατά την απόδοση μιας μικρογραφίας διαφάνειας και την αποθήκευση της ως εικόνα PNG.

Απόδοση διαφάνειας με κανόνες εναλλακτικής γραμματοσειράς

Το παρακάτω παράδειγμα περιλαμβάνει τα εξής βήματα:

  1. Δημιουργούμε δημιουργία συλλογής κανόνων εναλλακτικής γραμματοσειράς.
  2. Αφαίρεση ενός κανόνα εναλλακτικής γραμματοσειράς και addFallBackFonts σε άλλο κανόνα.
  3. Ορίστε τη συλλογή κανόνων στο getFontsManager.getFontFallBackRulesCollection μέθοδο.
  4. Με Presentation.save μέθοδο μπορούμε να αποθηκεύσουμε την παρουσίαση στην ίδια μορφή ή σε άλλη. Αφού η συλλογή κανόνων εναλλακτικής γραμματοσειράς οριστεί στο FontsManager, αυτοί οι κανόνες εφαρμόζονται σε όλες τις λειτουργίες της παρουσίασης: αποθήκευση, απόδοση, μετατροπή κ.λπ.
// Δημιουργία νέας παρουσίασης μιας συλλογής κανόνων
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();

// δημιουργία ενός αριθμού κανόνων
rulesList.add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));

for (IFontFallBackRule fallBackRule : rulesList)
{
    // Προσπάθεια αφαίρεσης της εναλλακτικής γραμματοσειράς "Tahoma" από τους φορτωμένους κανόνες
    fallBackRule.remove("Tahoma");

    // Και ενημέρωση των κανόνων για το καθορισμένο εύρος
    if ((fallBackRule.getRangeEndIndex() >= 0x4000) && (fallBackRule.getRangeStartIndex() < 0x5000))
        fallBackRule.addFallBackFonts("Verdana");
}

// Μπορούμε επίσης να αφαιρέσουμε τυχόν υπάρχουσες κανόνες από τη λίστα
if (rulesList.size() > 0)
    rulesList.remove(rulesList.get_Item(0));

Presentation pres = new Presentation("input.pptx");
try {
    // Ανάθεση της προετοιμασμένης λίστας κανόνων για χρήση
    pres.getFontsManager().setFontFallBackRulesCollection(rulesList);

    // Απόδοση μικρογραφίας χρησιμοποιώντας τη συλλογή κανόνων που αρχικοποιήθηκε και αποθήκευση σε JPEG
   IImage slideImage = pres.getSlides().get_Item(0).getImage(1f, 1f);

   // Αποθήκευση της εικόνας στο δίσκο σε μορφή JPEG
   try {
         slideImage.save("Slide_0.jpg", ImageFormat.Jpeg);
   } finally {
        if (slideImage != null) slideImage.dispose();
   }
} finally {
    if (pres != null) pres.dispose();
}