Render Presentaties met Fallback-lettertypen in Java

Overzicht

Aspose.Slides stelt u in staat presentaties te renderen met behulp van fallback-lettertype-regels. Dit artikel laat zien hoe u een collectie van fallback-lettertype‑regels maakt, de regels wijzigt door fallback-lettertypen te verwijderen of toe te voegen, en de collectie toewijst met de FontsManager.setFontFallBackRulesCollection‑methode.

Zodra de collectie van fallback-lettertype‑regels is toegewezen aan de FontsManager van de presentatie, worden de regels toegepast tijdens bewerkingen zoals opslaan, renderen en converteren van de presentatie. Het voorbeeld laat zien hoe de geconfigureerde regels te gebruiken bij het renderen van een slide‑miniatuur en deze op te slaan als PNG‑afbeelding.

Render een slide met fallback-lettertype‑regels

Het volgende voorbeeld omvat deze stappen:

  1. We maken een collectie van fallback-lettertype‑regels.
  2. Verwijder een fallback-lettertype‑regel en addFallBackFonts aan een andere regel.
  3. Stel de regels‑collectie in op getFontsManager.getFontFallBackRulesCollection methode.
  4. Met de Presentation.save methode kunnen we de presentatie opslaan in hetzelfde formaat, of in een ander formaat. Nadat de collectie van fallback-lettertype‑regels is ingesteld op FontsManager, worden deze regels toegepast tijdens alle bewerkingen op de presentatie: opslaan, renderen, converteren, enz.
// Maak een nieuw exemplaar van een regelsverzameling
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();

// maak een aantal regels
rulesList.add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));

for (IFontFallBackRule fallBackRule : rulesList)
{
    // Probeer fallback-lettertype "Tahoma" te verwijderen uit de geladen regels
    fallBackRule.remove("Tahoma");

    // En om de regels bij te werken voor het opgegeven bereik
    if ((fallBackRule.getRangeEndIndex() >= 0x4000) && (fallBackRule.getRangeStartIndex() < 0x5000))
        fallBackRule.addFallBackFonts("Verdana");
}

// We kunnen ook alle bestaande regels uit de lijst verwijderen
if (rulesList.size() > 0)
    rulesList.remove(rulesList.get_Item(0));

Presentation pres = new Presentation("input.pptx");
try {
    // De voorbereide regelslijst toewijzen voor gebruik
    pres.getFontsManager().setFontFallBackRulesCollection(rulesList);

    // Miniatuur renderen met de geïnitialiseerde regelsverzameling en opslaan als JPEG
   IImage slideImage = pres.getSlides().get_Item(0).getImage(1f, 1f);

   // Sla de afbeelding op schijf op in JPEG-formaat
   try {
         slideImage.save("Slide_0.jpg", ImageFormat.Jpeg);
   } finally {
        if (slideImage != null) slideImage.dispose();
   }
} finally {
    if (pres != null) pres.dispose();
}