PowerPoint betűtípusok testreszabása Pythonban
Áttekintés
Az Aspose.Slides for Python lehetővé teszi, hogy futásidőben egyéni betűtípusokat biztosítson, így a prezentációk helyesen jelennek meg akkor is, ha a szükséges betűtípusok nincsenek telepítve a gazdarendszeren. PDF vagy képek exportálása során megadhat betűtípus‑mappákat vagy memóriában lévő betűtípus adatokat, hogy megőrizze a szövegelrendezést, a glif mérőszámokat és a tipográfiát. Ez kiszámíthatóvá teszi a szerveroldali renderelést különböző környezetekben, eltávolítja az operációs rendszer szintű betűtípus‑függőségeket, és megakadályozza a nemkívánatos helyettesítéseket vagy újratervezést. A cikk bemutatja, hogyan lehet regisztrálni a betűtípusforrásokat.
Egy prezentációtémát különböző írásrendszerekhez külön betűtípus‑családok hivatkozhatnak. Ezek a leképezések csak a betűtípusneveket tárolják, de nem telepítik vagy töltik be a betűtípusfájlokat. Tekintse meg a Script-Specific Theme Fonts oldalt a leképezések kezeléséhez, és használja az alábbi betöltési beállításokat, hogy a hivatkozott betűtípusok elérhetők legyenek az egységes megjelenítéshez.
Az Aspose.Slides lehetővé teszi a következő betűtípusok betöltését a load_external_font és load_external_fonts metódusok segítségével a FontsLoader osztályban:
- TrueType (.ttf) és TrueType Collection (.ttc) betűtípusok. Lásd a [TrueType] linket.
- OpenType (.otf) betűtípusok. Lásd az [OpenType] linket.
Egyéni betűtípusok betöltése
Az Aspose.Slides lehetővé teszi, hogy a prezentációban használt betűtípusokat a rendszerre telepítés nélkül betöltse. Ez befolyásolja az export eredményét – például PDF, képek és más támogatott formátumok – így a kapott dokumentumok környezetfüggetlenül konzisztensnek tűnnek. A betűtípusok egyéni könyvtárakból töltődnek be.
- Adjon meg egy vagy több mappát, amely a betűtípusfájlokat tartalmazza.
- Hívja meg a statikus FontsLoader.load_external_fonts metódust, hogy betöltse a betűtípusokat ezekből a mappákból.
- Töltse be és renderelje/exportálja a prezentációt.
- Hívja meg a FontsLoader.clear_cache metódust a betűtípus‑gyorsítótár törléséhez.
Az alábbi kódrészlet bemutatja a betűtípus‑betöltési folyamatot:
import aspose.slides as slides
# Definiálja a saját betűtípus fájlokat tartalmazó mappákat.
font_folders = ["fonts", "external_fonts"]
# Töltsön be egyéni betűtípusokat a megadott mappákból.
slides.FontsLoader.load_external_fonts(font_folders)
with slides.Presentation("sample.pptx") as presentation:
# Renderelje/exportálja a prezentációt (pl. PDF‑re, képekre vagy más formátumokra) a betöltött betűtípusokkal.
presentation.save("output.pdf", slides.export.SaveFormat.PDF)
# Törölje a betűtípus gyorsítótárát a munka befejezése után.
slides.FontsLoader.clear_cache()
Note
FontsLoader.load_external_fonts további mappákat ad a betűtípus‑keresési útvonalakhoz, de nem változtatja meg a betűtípus inicializálási sorrendjét. A betűtípusok a következő sorrendben inicializálódnak:
- Az operációs rendszer alapértelmezett betűtípus útvonala.
- A FontsLoader által betöltött útvonalak.
Egyéni betűtípusok mappájának lekérése
Az Aspose.Slides biztosítja a get_font_folders metódust a betűtípus‑mappák lekéréséhez. Ez visszaadja mind a load_external_fonts által hozzáadott, mind a rendszer betűtípus‑mappáit.
Ez a Python‑kód bemutatja a get_font_folders használatát:
import aspose.slides as slides
# Ez a hívás visszaadja az ellenőrzött betűtípus fájlok mappáit.
# Ezek tartalmazzák a load_external_fonts metódussal hozzáadott mappákat és a rendszer betűtípus mappákat.
font_folders = slides.FontsLoader.get_font_folders()
Egyéni betűtípusok megadása egy prezentációhoz
Az Aspose.Slides biztosítja a document_level_font_sources tulajdonságot, amely lehetővé teszi külső betűtípusok megadását a prezentációhoz.
Az alábbi Python‑példa mutatja a document_level_font_sources használatát:
import aspose.slides as slides
with open("CustomFont1.ttf", "br") as font1_stream:
font1_data = font1_stream.read()
with open("CustomFont2.ttf", "br") as font2_stream:
font2_data = font2_stream.read()
load_options = slides.LoadOptions()
load_options.document_level_font_sources.font_folders = ["assets\\fonts", "global\\fonts"]
load_options.document_level_font_sources.memory_fonts = [font1_data, font2_data]
with slides.Presentation("Fonts.pptx", load_options) as presentation:
# ...
# Dolgozz a prezentációval.
# A CustomFont1, a CustomFont2 és az assets\fonts és global\fonts mappákból (és azok alkönyvtáraiból) származó betűtípusok elérhetők a prezentáció számára.
# ...
print(len(presentation.slides))
Külső betűtípusok betöltése bináris adatokból
Az Aspose.Slides biztosítja a load_external_font metódust, hogy bináris adatokból külső betűtípusokat töltsön be.
Az alábbi Python‑példa bemutatja egy betűtípus betöltését bájt‑tömbből:
import aspose.slides as slides
def read_all_bytes(file_path):
with open(file_path, "rb") as file_stream:
file_data = file_stream.read()
return file_data
# Külső betűtípusok betöltése bájt tömbökből.
slides.FontsLoader.load_external_font(read_all_bytes("ARIALN.TTF"))
slides.FontsLoader.load_external_font(read_all_bytes("ARIALNBI.TTF"))
slides.FontsLoader.load_external_font(read_all_bytes("ARIALNI.TTF"))
try:
with slides.Presentation() as presentation:
# A külső betűtípusok elérhetők ennek a prezentációs példánynak az életciklusa alatt.
print("processing")
finally:
slides.FontsLoader.clear_cache()
GYIK
A egyéni betűtípusok befolyásolják az exportot minden formátumban (PDF, PNG, SVG, HTML)?
Igen. A csatlakoztatott betűtípusokat a renderelő minden exportformátumban használja.
A egyéni betűtípusok automatikusan beágyazásra kerülnek a létrejövő PPTX‑be?
Nem. A betűtípus regisztrálása a rendereléshez nem ugyanaz, mint a PPTX‑be való beágyazás. Ha a betűtípust a prezentációfájlba szeretné beágyazni, akkor a kifejezett beágyazási funkciók funkciót kell használni.
Kontrollálhatom a fallback viselkedést, ha egy egyéni betűtípus bizonyos glifekkel nem rendelkezik?
Igen. Állítsa be a betűtípus helyettesítés, a helyettesítő szabályok és a fallback készletek lehetőségeket, hogy pontosan meghatározza, mely betűtípust használja a kért glif hiányában.
Használhatok betűtípusokat Linux/Docker konténerekben anélkül, hogy a rendszer szintjén telepíteném őket?
Igen. Mutasson a saját betűtípus‑mappáira vagy töltsön be betűtípusokat bájt‑tömbökből. Ez megszünteti a rendszer betűtípus könyvtárakra való függőséget a konténer képen.
Mi a helyzet a licenceléssel – beágyazhatok bármilyen egyéni betűtípust korlátozások nélkül?
Ön felelős a betűtípus‑licenc megfeleléséért. A feltételek változóak; egyes licencek tilthatják a beágyazást vagy a kereskedelmi felhasználást. Mindig ellenőrizze a betűtípus EULA‑ját, mielőtt a kimeneteket terjesztené.