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)