เรนเดอร์งานนำเสนอด้วยฟอนต์สำรองใน Python ผ่าน Java
Contents
[
Hide
]
ภาพรวม
Aspose.Slides ให้คุณเรนเดอร์งานนำเสนอโดยใช้กฎฟอนต์สำรอง บทความนี้แสดงวิธีสร้างคอลเลกชันกฎฟอนต์สำรอง, ปรับเปลี่ยนกฎโดยการลบหรือเพิ่มฟอนต์สำรอง, และกำหนดคอลเลกชันโดยใช้เมธอด FontsManager.setFontFallBackRulesCollection。
เมื่อคอลเลกชันกฎฟอนต์สำรองถูกกำหนดให้กับ FontsManager ของงานนำเสนอ, กฎเหล่านั้นจะถูกนำไปใช้ระหว่างการดำเนินการต่าง ๆ เช่น การบันทึก, การเรนเดอร์, และการแปลงงานนำเสนอ ตัวอย่างนี้แสดงวิธีใช้กฎที่กำหนดไว้เมื่อเรนเดอร์รูปย่อของสไลด์และบันทึกเป็นภาพ JPEG
เรนเดอร์สไลด์โดยใช้กฎฟอนต์สำรอง
ตัวอย่างต่อไปนี้ประกอบด้วยขั้นตอนดังนี้:
- สร้างคอลเลกชันกฎฟอนต์สำรอง。
- ลบ ฟอนต์สำรองจากกฎหนึ่งและ [เพิ่มฟอนต์สำรอง]((https://reference.aspose.com/slides/th/python-java/aspose.slides/fontfallbackrule/#addFallBackFonts) ไปยังกฎอีกอันหนึ่ง。
- กำหนดคอลเลกชันกฎโดยใช้ setFontFallBackRulesCollection บน FontManager ที่ได้จาก getFontsManager。
- ใช้เมธอด 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()