กำหนดค่าการแทนที่แบบอักษรในงานนำเสนอด้วย Python

ภาพรวม

การแทนที่แบบอักษร (font substitution) ทำให้ Aspose.Slides สามารถใช้แบบอักษรอื่นเมื่อแบบอักษรของการนำเสนอเดิมไม่พร้อมใช้งานในระหว่างการเรนเดอร์หรือการแปลง คุณสามารถตรวจสอบว่าแบบอักษรใดถูกแทนที่โดยใช้เมธอด get_substitutions จากคลาส FontsManager.

Aspose.Slides ยังอนุญาตให้คุณกำหนดกฎการแทนที่แบบอักษร ตัวอย่างเช่น คุณสามารถระบุว่าแบบอักษรที่ไม่สามารถเข้าถึงได้ควรถูกแทนที่ด้วยแบบอักษรที่พร้อมใช้อื่นและจากนั้นนำกฎเหล่านั้นไปใช้ผ่านตัวจัดการแบบอักษรของการนำเสนอ.

ตั้งค่ากฎการแทนที่แบบอักษร

Aspose.Slides ให้คุณตั้งค่ากฎสำหรับแบบอักษรที่กำหนดว่าจะต้องทำอย่างไรในสถานการณ์บางอย่าง (เช่น เมื่อไม่สามารถเข้าถึงแบบอักษรได้) ดังนี้:

  1. โหลดการนำเสนอที่เกี่ยวข้อง.
  2. โหลดแบบอักษรที่ต้องการจะแทนที่.
  3. โหลดแบบอักษรใหม่.
  4. เพิ่มกฎสำหรับการแทนที่.
  5. เพิ่มกฎลงในคอลเลกชันกฎการแทนที่แบบอักษรของการนำเสนอ.
  6. สร้างภาพสไลด์เพื่อสังเกตผลลัพธ์.

โค้ด Python นี้แสดงกระบวนการแทนที่แบบอักษร:

import aspose.slides as slides

# โหลดงานนำเสนอ
with slides.Presentation(path + "Fonts.pptx") as presentation:
    # โหลดแบบอักษรต้นฉบับที่จะแทนที่
    sourceFont = slides.FontData("SomeRareFont")

    # โหลดแบบอักษรใหม่
    destFont = slides.FontData("Arial")

    # เพิ่มกฎแบบอักษรสำหรับการแทนที่แบบอักษร
    fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE)

    # เพิ่มกฎลงในคอลเลกชันกฎการแทนที่แบบอักษร
    fontSubstRuleCollection = slides.FontSubstRuleCollection()
    fontSubstRuleCollection.add(fontSubstRule)

    # เพิ่มคอลเลกชันกฎแบบอักษรไปยังรายการกฎ
    presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection

    #แบบอักษร Arial จะถูกใช้แทน SomeRareFont เมื่อตัวนั้นไม่สามารถเข้าถึงได้
    with presentation.slides[0].get_image(1, 1) as bmp:
        # บันทึกภาพลงดิสก์ในรูปแบบ JPEG
        bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG)

ข้อจำกัดสำหรับแบบอักษรสมการคณิตศาสตร์

กฎการแทนที่แบบอักษรมีส่วนร่วมในกระบวนการเลือกแบบอักษรมาตรฐานที่ใช้ระหว่างการเรนเดอร์และการแปลง พวกมันเหมาะสำหรับสถานการณ์ข้อความทั่วไปที่ Aspose.Slides สามารถแทนที่แบบอักษรที่ไม่สามารถเข้าถึงได้ด้วยแบบอักษรที่พร้อมใช้อื่นตามกฎที่กำหนด.

อย่างไรก็ตาม สมการคณิตศาสตร์ของ Office มีข้อจำกัดสำคัญ หากสมการถูกสร้างด้วย Cambria Math Aspose.Slides อาจยังต้องการแบบอักษร Cambria Math ดั้งเดิมเพื่อคำนวณและเรนเดอร์เค้าโครงสมการอย่างถูกต้อง เนื่องจากเหตุนี้ การแทนที่ Cambria Math ด้วยแบบอักษรคณิตศาสตร์อื่น เช่น STIX Two Math ไม่ได้รับการสนับสนุนสำหรับการเรนเดอร์สมการและอาจยังทำให้เกิดข้อยกเว้นที่ระบุว่า จำเป็นต้องใช้ Cambria Math.

เพื่อแปลงการนำเสนอประเภทนี้ให้สำเร็จ โปรดตรวจสอบว่า Cambria Math มีให้กับ Aspose.Slides ขณะทำงาน คุณสามารถติดตั้งแบบอักษรในระบบปฏิบัติการหรือให้เป็น external font เพื่อให้มันเข้าร่วมกระบวนการเลือกแบบอักษรปกติระหว่างการเรนเดอร์และการแปลง.

ข้อจำกัดนี้เฉพาะต่อการเรนเดอร์สมการเท่านั้น กฎการแทนที่แบบอักษรมาตรฐานที่อธิบายด้านบนยังคงใช้ได้กับข้อความการนำเสนอทั่วไปเมื่อแบบอักษรดั้งเดิมไม่สามารถเข้าถึงได้.

คำถามที่พบบ่อย

ความแตกต่างระหว่างการแทนที่แบบอักษร (font replacement) กับการแทนที่แบบอักษร (font substitution) คืออะไร?

Replacement คือการบังคับแทนที่แบบอักษรหนึ่งด้วยอีกแบบหนึ่งทั่วทั้งการนำเสนอ การแทนที่แบบอักษร (substitution) เป็นกฎที่ทำงานเมื่อเงื่อนไขเฉพาะ เช่น เมื่อแบบอักษรดั้งเดิมไม่พร้อมใช้งาน แล้วจึงใช้แบบอักษรสำรองที่กำหนดไว้.

กฎการแทนที่แบบอักษร (substitution) ถูกนำไปใช้เมื่อใด?

กฎเหล่านี้มีส่วนร่วมในลำดับการเลือกแบบอักษรมาตรฐาน font selection ที่ประเมินในระหว่างการโหลด, การเรนเดอร์, และการแปลง; หากแบบอักษรที่เลือกไม่พร้อมใช้งาน จะมีการทำการแทนที่หรือการแทนที่แบบอักษร (substitution) ตามที่กำหนด.

พฤติกรรมโดยปริยายคืออะไร หากไม่มีการตั้งค่าการแทนที่หรือการแทนที่แบบอักษรและแบบอักษรหายไปในระบบ?

ไลบรารีจะพยายามเลือกแบบอักษรระบบที่ใกล้เคียงและพร้อมใช้ที่สุด ซึ่งคล้ายกับการทำงานของ PowerPoint.

ฉันสามารถแนบแบบอักษรภายนอกที่กำหนดเองในขณะทำงานเพื่อหลีกเลี่ยงการแทนที่แบบอักษรได้หรือไม่?

ได้ คุณสามารถ add external fonts ในขณะทำงานเพื่อให้ไลบรารีพิจารณาใช้ในการเลือกและเรนเดอร์ รวมถึงการแปลงต่อเนื่องได้.

Aspose แจกจ่ายแบบอักษรใดๆ มาพร้อมกับไลบรารีหรือไม่?

ไม่ Aspose ไม่ได้แจกจ่ายแบบอักษรที่เป็นแบบชำระเงินหรือแบบฟรี; คุณต้องเพิ่มและใช้แบบอักษรเองตามดุลยพินิจและความรับผิดชอบของคุณ.

พฤติกรรมการแทนที่แบบอักษรแตกต่างกันระหว่าง Windows, Linux, และ macOS หรือไม่?

ใช่ การค้นหาแบบอักษรเริ่มจากไดเรกทอรีแบบอักษรของระบบปฏิบัติการ ชุดของแบบอักษรที่พร้อมใช้งานโดยปริยายและเส้นทางการค้นหาต่างกันระหว่างแพลตฟอร์ม ซึ่งส่งผลต่อความพร้อมใช้งานและความจำเป็นของการแทนที่แบบอักษร.

ฉันควรเตรียมสภาพแวดล้อมอย่างไรเพื่อให้การแทนที่แบบอักษรที่ไม่คาดคิดในกระบวนการแปลงเป็นชุดน้อยที่สุด?

ควรทำการซิงโครไนซ์ชุดแบบอักษรระหว่างเครื่องหรือคอนเทนเนอร์ต่าง ๆ, add the external fonts ที่จำเป็นสำหรับเอกสารผลลัพธ์, และ embed fonts ในการนำเสนอเมื่อเป็นไปได้ เพื่อให้แบบอักษรที่เลือกพร้อมใช้งานในระหว่างการเรนเดอร์.