Python을 통해 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()