PowerPoint betűtípusok testreszabása Pythonban Java segítségével
Áttekintés
Az Aspose.Slides lehetővé teszi egyéni betűtípusok használatát a bemutatókban anélkül, hogy telepítené őket az operációs rendszerben. Betűtípusokat tölthet be egyéni mappákból, biztosíthat betűtípusokat egy adott bemutatóhoz dokumentumszintű betűforrásokkal, vagy betöltheti a külső betűtípusokat közvetlenül bináris adatokból.
A betöltött betűtípusokat a bemutató renderelésekor vagy exportálásakor (például PDF, képek és egyéb támogatott formátumok) használja. Ez segít a bemutató kimenet következetességének megőrzésében különböző környezetekben. A cikk bemutatja, hogyan ellenőrizheti az Aspose.Slides által használt betűtárgy könyvtárakat, és hogyan tisztíthatja a betűtárgy gyorsítótárat külső betűtípusok használata után.
Az egyéni betűtípusok regisztrálása a rendereléshez különbözik a betűtípusok PPTX fájlba ágyazásától. Ha a betűtípust magában a bemutatóban kell tárolni, használja a betűtípus‑ágyazási funkciókat kifejezetten.
Egy bemutatótéma különböző írásrendszerekhez külön betűcsaládokra hivatkozhat. Ezek a leképezések csak a betűtípus nevét tárolják, de nem telepítik vagy töltik be a betűtípus fájlokat. Lásd a Szkript‑specifikus témabeli betűkészletek 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 a következetes rendereléshez.
Megjegyzés
Az Aspose.Slides lehetővé teszi ezen betűtípusok betöltését a loadExternalFonts metódus segítségével:
Egyéni betűtípusok betöltése
Az Aspose.Slides lehetővé teszi a bemutatóban használt betűtípusok betöltését anélkül, hogy azokat a rendszerre telepítené. Ez befolyásolja az exportálási kimenetet – például PDF, képek és egyéb támogatott formátumok – így a létrehozott dokumentumok konzisztensnek jelennek meg a különböző környezetekben. 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ípus‑fájlokat tartalmazza.
- Hívja meg a statikus FontsLoader.loadExternalFonts metódust a betűtípusok betöltéséhez ezekből a mappákból.
- Töltse be és renderelje/exportálja a bemutatót.
- Hívja meg a FontsLoader.clearCache 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:
from jpype import JArray, JString
from asposeslides.api import FontsLoader, Presentation, SaveFormat
# Definiálja az egyéni betűtípus fájlokat tartalmazó mappákat.
font_folders = JArray(JString)(["assets/fonts", "global/fonts"])
# Töltse be az egyéni betűtípusokat a megadott mappákból.
FontsLoader.loadExternalFonts(font_folders)
presentation = None
try:
presentation = Presentation("sample.pptx")
# Renderelje/exportálja a bemutatót a betöltött betűtípusok használatával.
presentation.save("output.pdf", SaveFormat.Pdf)
finally:
if presentation is not None:
presentation.dispose()
# Törölje a betűtípus gyorsítótárat a munka befejezése után.
FontsLoader.clearCache()
Megjegyzés
A FontsLoader.loadExternalFonts további mappákat ad a betűtípus‑keresési útvonalakhoz, de nem változtatja meg a betűtípus‑inicializálás sorrendjét.
A betűtípusok a következő sorrendben inicializálódnak:
- Az alapértelmezett operációs rendszer betűtípus‑útvonala.
- A FontsLoader által betöltött útvonalak.
Egyéni betűtárgy-könyvtárak lekérdezése
Az Aspose.Slides biztosítja a getFontFolders metódust, amely lehetővé teszi a betűtárgy‑könyvtárak megtalálását. Ez a metódus visszaadja a loadExternalFonts metódussal hozzáadott mappákat, valamint a rendszer betűtárgy‑könyvtárait.
Ez a Python kód megmutatja, hogyan használja a getFontFolders metódust:
from asposeslides.api import FontsLoader
# A loadExternalFonts által hozzáadott és a rendszer betűtípus mappáit kapja meg.
font_folders = FontsLoader.getFontFolders()
Egyéni betűtípusok megadása egy bemutatóhoz
Az Aspose.Slides biztosítja a getDocumentLevelFontSources metódust, amely lehetővé teszi, hogy külső betűtípusokat adjon meg, amelyeket a bemutatóval együtt használnak.
Ez a Python kód megmutatja, hogyan használja a getDocumentLevelFontSources metódust:
from pathlib import Path
from jpype import JArray, JByte, JString
from asposeslides.api import LoadOptions, Presentation
memory_font_primary = Path("customfonts/CustomFont1.ttf").read_bytes()
memory_font_secondary = Path("customfonts/CustomFont2.ttf").read_bytes()
load_options = LoadOptions()
font_folders = JArray(JString)(["assets/fonts", "global/fonts"])
memory_fonts = JArray(JByte, 2)([memory_font_primary, memory_font_secondary])
load_options.getDocumentLevelFontSources().setFontFolders(font_folders)
load_options.getDocumentLevelFontSources().setMemoryFonts(memory_fonts)
presentation = Presentation("MyPresentation.pptx", load_options)
try:
# Dolgozzon a bemutatóval.
# A CustomFont1, CustomFont2, valamint a assets/fonts és a global/fonts mappákból származó betűtípusok
# és azok alkönyvtárai elérhetők a bemutató számára.
pass
finally:
presentation.dispose()
Betűtípusok külső kezelése
Az Aspose.Slides biztosítja a loadExternalFont metódust, amely lehetővé teszi külső betűtípusok betöltését bináris adatokból.
Ez a Python kód bemutatja a bájt‑tömb alapú betűtípus‑betöltési folyamatot:
from pathlib import Path
from jpype import JArray, JByte
from asposeslides.api import FontsLoader, Presentation
font_data = Path("ARIALN.TTF").read_bytes()
FontsLoader.loadExternalFont(JArray(JByte)(font_data))
font_data = Path("ARIALNBI.TTF").read_bytes()
FontsLoader.loadExternalFont(JArray(JByte)(font_data))
font_data = Path("ARIALNI.TTF").read_bytes()
FontsLoader.loadExternalFont(JArray(JByte)(font_data))
try:
presentation = Presentation()
try:
# A külső betűtípusok a bemutató élettartama alatt töltődnek be.
pass
finally:
presentation.dispose()
finally:
FontsLoader.clearCache()
GYIK
Az egyéni betűtípusok befolyásolják az összes formátumba történő exportot (PDF, PNG, SVG, HTML)?
Igen. A kapcsolódó betűtípusok a renderelő által az összes exportformátumban felhasználásra kerülnek.
Az egyéni betűtípusok automatikusan be vannak ágyazva a létrejövő PPTX‑be?
Nem. A betűtípus regisztrálása a rendereléshez nem ugyanaz, mint a PPTX‑be való ágyazás. Ha a betűtípust a bemutató fájlon belül szeretné megtartani, használja a kifejezett ágyazási funkciókat.
Irányíthatom a helyettesítési viselkedést, ha egy egyéni betűtípus nem tartalmaz bizonyos glypheket?
Igen. Konfigurálja a betűtípus‑helyettesítést, a helyettesítési szabályokat, és a fallback‑készleteket, hogy pontosan meghatározza, melyik betűtípust használja a hiányzó glif esetén.
Használhatok betűtípusokat Linux/Docker konténerekben anélkül, hogy a rendszerre telepíteném őket?
Igen. Hivatkozhat saját betűtárgy‑könyvtárakra vagy betöltheti a betűtípusokat bájt‑tömbökből. Így nincs függőség a konténer‑képen lévő rendszer‑betűtárgy‑könyvtáraktól.
Mi van 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áltozhatnak; egyes licencek tiltják az ágyazást vagy a kereskedelmi felhasználást. Mindig ellenőrizze a betűtípus EULA‑ját a kimenetek terjesztése előtt.