引入控制FontFallBack功能的新API!PPT管理控件Aspose.Slides v19.10重磅來襲!

Aspose.Slides for .NET是一個獨特的演示處理API,它容許應用程序讀取、寫入、修改和轉換PowerPoint演示文稿。做爲一個獨立的API,它提供了管理PowerPoint關鍵功能的功能,如管理文本、形狀、表格和動畫、向幻燈片添加音頻和視頻、預覽幻燈片等,而不須要Microsoft PowerPoint。java

Aspose.Slides for .NET更新至v19.10,支持從幻燈片形狀佔位符訪問提示文本,支持轉換爲PDF/A後,圖像呈現模糊效果,修復在PPT中添加SVG在Ubuntu上引起錯誤等問題。Aspose.Slides for Java將同步.Net版功能。bash

具體更新內容

key 概述 類別
SLIDESNET-40805 Aspose.Slides中的字體後備 功能
SLIDESNET-40689 支持從幻燈片形狀佔位符訪問提示文本 功能
SLIDESNET-41393 轉換爲PDF / A後,圖像呈現模糊效果 功能
SLIDESNET-41099 保存文檔時消耗大量內存 加強功能
SLIDESNET-41426 使用Aspose.Slides讀取動畫 加強功能
SLIDESNET-39722 Aspose Slides使用大量內存來生成小型PPTX 加強功能

Aspose.Slides for .NET v19.10的API更改

▲引入了用於控制FontFallBack功能的新API ide

引入了用於初始化和管理FontFallBack功能的新API。當存在爲文本指定的字體但該字體不包含必要的字形時,將使用FontFallBack。在這種狀況下,新功能容許使用指定的後備字體之一來替換字形。字體

之前,「字體替換」可用於動態替換整個文檔的字體。若是找不到用於文本的指定字體,則將首先使用字體替換,而後,若是在此新的替換字體中找不到某些字形,則將使用FontFallBack(若是爲相應範圍定義了任何字體)。在其餘狀況下,FontFallBack會先使用,而後FontSubstitution。能夠爲多個Unicode範圍指定必需的後備字體,做爲FontFallBackRule對象的集合。動畫

這裏是一個例子:spa

long startUnicodeIndex = 0x0B80;
long endUnicodeIndex = 0x0BFF;
 
IFontFallBackRule firstRule = new FontFallBackRule (startUnicodeIndex, endUnicodeIndex, "Vijaya"); IFontFallBackRule secondRule = new FontFallBackRule (0x3040, 0x309F, "MS Mincho, MS Gothic"); //Also the fonts list can be added in several ways: String[] fontNames = new String[] { "Segoe UI Emoji, Segoe UI Symbol", "Arial"}; IFontFallBackRule thirdRule = new FontFallBackRule (0x1F300, 0x1F64F, fontNames);複製代碼

固然,必須將規則添加到列表(FontFallBackRulesCollection)中,能夠將其分配給FontManager以便在渲染中使用:code

Presentation presentation = new Presentation();
try {
    IFontFallBackRulesCollection userRulesList = new FontFallBackRulesCollection();
 
    userRulesList.add(new FontFallBackRule(0x0B80, 0x0BFF, "Vijaya")); userRulesList.add(new FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic")); presentation.getFontsManager().setFontFallBackRulesCollection(userRulesList); } finally { if (presentation != null) presentation.dispose(); }複製代碼

幾個規則的範圍能夠重疊。在這種狀況下,重疊規則中的字體將按照規則被添加到列表的順序進行合併和排列。只需在管理器中分配所需的列表,便可快速使用具備不一樣規則集的多個集合。若是不想使用多個列表,則沒必要建立新集合,能夠直接從FontManager自動檢索新的連接實例:視頻

IFontFallBackRulesCollection userRulesList = presentation.getFontsManager().getFontFallBackRulesCollection();複製代碼

如下是如何使用新功能進行渲染的代碼段:對象

Presentation presentation = new Presentation(path + "MyPresentation.pptx"); try { IFontFallBackRulesCollection userRulesList = presentation.getFontsManager().getFontFallBackRulesCollection(); userRulesList.add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman")); ImageIO.write(presentation.getSlides().get_Item(0).getThumbnail (1f,1f), "PNG", new java.io.File(path + "Slide0.png")); } finally { if (presentation != null) presentation.dispose(); }複製代碼

若是您有任何疑問或需求,請隨時加入Aspose技術交流羣(642018183)討論。內存

相關文章
相關標籤/搜索