在 Python via Java 中使用回退字体渲染演示文稿
Contents
[
Hide
]
概述
Aspose.Slides 允许您使用回退字体规则渲染演示文稿。本文展示如何创建回退字体规则集合、通过移除或添加回退字体来修改其规则,以及如何使用 FontsManager.setFontFallBackRulesCollection 方法分配该集合。
一旦将回退字体规则集合分配给演示文稿的 FontsManager,这些规则将在保存、渲染和转换演示文稿等操作期间生效。示例演示了在渲染幻灯片缩略图并将其保存为 JPEG 图像时如何使用已配置的规则。
使用回退字体规则渲染幻灯片
- 创建回退字体规则集合。
- 移除 回退字体并添加回退字体 到另一个规则。
- 使用在 getFontsManager 返回的字体管理器上调用的 setFontFallBackRulesCollection 来分配规则集合。
- 使用 Presentation.save 方法将演示文稿保存为相同格式或其他格式。将回退字体规则集合分配给 FontsManager 后,这些规则将在演示文稿的保存、渲染、转换等操作期间生效。
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import FontFallBackRule, FontFallBackRulesCollection, ImageFormat, Presentation
# 创建一个新的规则集合。
fallback_rules = FontFallBackRulesCollection()
# 创建多个规则。
cyrillic_rule = FontFallBackRule(0x400, 0x4FF, "Times New Roman")
fallback_rules.add(cyrillic_rule)
arabic_rule = FontFallBackRule(0x600, 0x6FF, "Tahoma, Arial")
fallback_rules.add(arabic_rule)
for fallback_rule in fallback_rules:
# 尝试从规则中移除回退字体 "Tahoma"。
fallback_rule.remove("Tahoma")
# 为指定范围更新规则。
if fallback_rule.getRangeEndIndex() >= 0x400 and fallback_rule.getRangeStartIndex() < 0x500:
fallback_rule.addFallBackFonts("Verdana")
# 移除现有规则,保留至少一个用于渲染的规则。
if fallback_rules.size() > 1:
rule_to_remove = fallback_rules.get_Item(1)
fallback_rules.remove(rule_to_remove)
presentation = Presentation("input.pptx")
try:
# 分配准备好的规则集合。
presentation.getFontsManager().setFontFallBackRulesCollection(fallback_rules)
# 使用配置好的规则集合渲染缩略图。
slide_image = presentation.getSlides().get_Item(0).getImage(1.0, 1.0)
try:
# 以 JPEG 格式将图像保存到磁盘。
slide_image.save("Slide_0.jpg", ImageFormat.Jpeg)
finally:
slide_image.dispose()
finally:
presentation.dispose()