Aspose.Slides for .NET是一個獨特的演示處理API,它允許應用程式讀取、寫入、修改和轉換PowerPoint演示文稿。作為一個獨立的API,它提供了管理PowerPoint關鍵功能的功能,如管理文本、形狀、表格和動畫、向幻燈片添加音頻和視頻、預覽幻燈片等,而不需要Microsof ...
Aspose.Slides for .NET是一個獨特的演示處理API,它允許應用程式讀取、寫入、修改和轉換PowerPoint演示文稿。作為一個獨立的API,它提供了管理PowerPoint關鍵功能的功能,如管理文本、形狀、表格和動畫、向幻燈片添加音頻和視頻、預覽幻燈片等,而不需要Microsoft PowerPoint。
Aspose.Slides for .NET更新至v19.10,支持從幻燈片形狀占位符訪問提示文本,支持轉換為PDF/A後,圖像呈現模糊效果,修複在PPT中添加SVG在Ubuntu上引發錯誤等問題。Aspose.Slides for Java將同步.Net版功能。
具體更新內容
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
引入了用於初始化和管理FontFallBack功能的新API。當存在為文本指定的字體但該字體不包含必要的字形時,將使用FontFallBack。在這種情況下,新功能允許使用指定的後備字體之一來替換字形。
以前,“字體替換”可用於動態替換整個文檔的字體。如果找不到用於文本的指定字體,則將首先使用字體替換,然後,如果在此新的替換字體中找不到某些字形,則將使用FontFallBack(如果為相應範圍定義了任何字體)。在其他情況下,FontFallBack會先使用,然後FontSubstitution。可以為多個Unicode範圍指定必需的後備字體,作為FontFallBackRule對象的集合。
這裡是一個例子:
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以便在渲染中使用:
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)討論。