Απόδοση Παρουσιάσεων με Εφεδρικές Γραμματοσειρές σε .NET

Επισκόπηση

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

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

Απόδοση Διαφάνειας με Χρήση Κανόνων Εφεδρικής Γραμματοσειράς

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

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

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

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

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

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

     //Απόδοση μικρογραφίας με χρήση της αρχικοποιημένης συλλογής κανόνων και αποθήκευση σε PNG
     using (IImage image = pres.Slides[0].GetImage(1f, 1f))
     {
         image.Save("Slide_0.png", ImageFormat.Png);
     }
 }