Betűtípusok beágyazása prezentációkba Pythonban

Bevezetés

A betűtípusok beágyazása a PowerPointban biztosítja, hogy a bemutatója megőrizze a kívánt megjelenését különböző rendszereken. Akár egyedi betűtípusokat használ a kreativitáshoz, akár szabványosakat, a betűtípusok beágyazása megakadályozza a szöveg és az elrendezés problémáit.

Ha a munkájában kreativitás miatt harmadik fél vagy nem szabványos betűtípust használt, akkor még több oka van a betűtípus beágyazására. Ellenkező esetben (beágyazott betűtípusok nélkül) a diákon lévő szövegek vagy számok, az elrendezés, a stílus stb. megváltozhatnak, vagy zavaró téglalapokká alakulhatnak.

Használja a FontsManager, a FontData, és a Compress osztályokat a beágyazott betűtípusok kezeléséhez.

Beágyazott betűtípusok lekérése és eltávolítása

A beágyazott betűtípusok egyszerű lekérdezése vagy eltávolítása a prezentációból a get_embedded_fonts és a remove_embedded_font metódusokkal valósítható meg.

Ez a Python kód bemutatja, hogyan lehet lekérni és eltávolítani a beágyazott betűtípusokat egy prezentációból:

import aspose.slides as slides
import aspose.pydrawing as draw

# Példányosítsa a Presentation osztályt, amely egy prezentáció fájlt képvisel.
with slides.Presentation("EmbeddedFonts.pptx") as presentation:
    slide = presentation.slides[0]

    # Renderelje a diát, amely egy szövegkeretet tartalmaz, és a beágyazott 'FunSized' betűtípust használja.
    with slide.get_image(draw.Size(960, 720)) as image:
        image.save("picture1_out.png", slides.ImageFormat.PNG)

    fonts_manager = presentation.fonts_manager

    # Szerezze meg az összes beágyazott betűtípust.
    embedded_fonts = fonts_manager.get_embedded_fonts()

    # Keresse meg a 'Calibri' betűtípust.
    font_data = list(filter(lambda data : data.font_name == "Calibri", embedded_fonts))[0]

    # Távolítsa el a 'Calibri' betűtípust.
    fonts_manager.remove_embedded_font(font_data)

    # Renderelje a diát; a 'Calibri' betűtípust egy meglévő fogja helyettesíteni.
    with slide.get_image(draw.Size(960, 720)) as image:
        image.save("picture2_out.png", slides.ImageFormat.PNG)

    # Mentse a prezentációt a beágyazott 'Calibri' betűtípus nélkül a lemezre.
    presentation.save("WithoutEmbeddedFonts.ppt", slides.export.SaveFormat.PPT)

Beágyazott betűtípusok hozzáadása

Az EmbedFontCharacters felsorolás és az add_embedded_font metódus két túlterhelése segítségével kiválaszthatja a kívánt (beágyazási) szabályt a betűtípusok prezentációba történő beágyazásához. Ez a Python kód bemutatja, hogyan lehet beágyazni és hozzáadni a betűtípusokat egy prezentációhoz:

import aspose.slides as slides

# Töltsön be egy prezentációt.
with slides.Presentation("Fonts.pptx") as presentation:
    all_fonts = presentation.fonts_manager.get_fonts()
    embedded_fonts = presentation.fonts_manager.get_embedded_fonts()

    for font in all_fonts:
        if font not in embedded_fonts:
            presentation.fonts_manager.add_embedded_font(font, slides.export.EmbedFontCharacters.ALL)

    # Mentse a prezentációt a lemezre.
    presentation.save("AddEmbeddedFont.pptx", slides.export.SaveFormat.PPTX)

Beágyazott betűtípusok tömörítése

Optimalizálja a fájlméretet a beágyazott betűtípusok tömörítésével a compress_embedded_fonts használatával.

Példa kód a tömörítésre:

import aspose.slides as slides

with slides.Presentation("sample.pptx") as presentation:
    slides.lowcode.Compress.compress_embedded_fonts(presentation)
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

GYIK

Hogyan tudhatom, hogy egy adott betűtípus a prezentációban a beágyazás ellenére is helyettesítésre kerül a megjelenítés során?

Ellenőrizze a helyettesítési információkat a betűtípus-kezelőben, valamint a fallback/helyettesítési szabályokat: ha a betűtípus nem érhető el vagy korlátozott, egy helyettesítő lesz használva.

Éri-e meg a “rendszer” betűtípusok, például az Arial/Calibri beágyazása?

Általában nem – ezek szinte mindig elérhetők. Azonban „vékony” környezetekben (Docker, egy előre telepített betűtípusok nélküli Linux szerver) a rendszerbetűtípusok beágyazása kiküszöbölheti a váratlan helyettesítések kockázatát.