Отображение презентаций с резервными шрифтами в Python

Contents
[ ]

Следующий пример включает следующие шаги:

  1. Мы создаём коллекцию правил резервных шрифтов.
  2. Remove() правило резервного шрифта и AddFallBackFonts() к другому правилу.
  3. Установите коллекцию правил в свойство FontsManager.FontFallBackRulesCollection.
  4. С помощью метода Presentation.Save() мы можем сохранить презентацию в том же формате или сохранить её в другом. После того как коллекция правил резервных шрифтов установлена в FontsManager, эти правила применяются при любых операциях с презентацией: сохранение, рендеринг, конвертация и т.д.
import aspose.slides as slides

# Создать новый экземпляр коллекции правил
rulesList = slides.FontFallBackRulesCollection()

# создать несколько правил
rulesList.add(slides.FontFallBackRule(0x400, 0x4FF, "Times New Roman"))

for fallBackRule in rulesList:
	# Пытаемся удалить резервный шрифт "Tahoma" из загруженных правил
	fallBackRule.remove("Tahoma")

	# И обновить правила для указанного диапазона
	if fallBackRule.range_end_index >= 0x4000 and fallBackRule.range_start_index < 0x5000:
		fallBackRule.add_fall_back_fonts("Verdana")

# Также можем удалить любые существующие правила из списка
if len(rulesList) > 0:
	rulesList.remove(rulesList[0])

with slides.Presentation(path + "input.pptx") as pres:
	# Присваивание подготовленного списка правил для использования
	pres.fonts_manager.font_fall_back_rules_collection = rulesList

	# Рендеринг миниатюры с использованием инициализированной коллекции правил и сохранением в PNG
	with pres.slides[0].get_image(1, 1) as img:
		img.save("Slide_0.png", slides.ImageFormat.PNG)