PowerPoint betűtípusok testreszabása .NET-ben
Áttekintés
Az Aspose.Slides lehetővé teszi, hogy egyéni betűtípusokat használjon a prezentációkban anélkül, hogy azokat az operációs rendszerre telepítené. Betűtípusokat betölthet egyéni mappákból, megadhat betűtípusokat egy adott prezentációhoz dokumentumszintű betűtípusforrások segítségével, vagy külső betűtípusokat tölthet be közvetlenül bináris adatokból.
A betöltött betűtípusok akkor kerülnek felhasználásra, amikor a prezentációt renderelik vagy exportálják, például PDF‑be, képekbe és más támogatott formátumokba. Ez segít abban, hogy a prezentáció kimenete különböző környezetekben is konzisztens maradjon. A cikk bemutatja, hogyan ellenőrizheti az Aspose.Slides által használt betűtípus‑mappákat, illetve hogyan törölheti a betűtípus‑gyorsítótárat, miután külső betűtípusokkal dolgozott.
Az egyéni betűtípusok regisztrálása a rendereléshez különbözik a betűtípusok beágyazásától egy PPTX fájlba. Ha egy betűtípust magában a prezentációban kell tárolni, használja a betűtípus‑beágyazási funkciókat kifejezetten.
Egy prezentáció témája különböző betűtípus‑családokat hivatkozhat az egyes írásrendszerekhez. Ezek a leképezések csak a betűtípus neveket tárolják, de nem telepítik vagy töltik be a betűtípus‑fá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őek legyenek a konzisztens rendereléshez.
Note
Aspose Slides lehetővé teszi, hogy ezeket a betűtípusokat a FontsLoader.LoadExternalFonts metódussal töltse be:
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 töltse be. Ez a beállítás az exportkimenetet – például PDF‑et, képeket és más támogatott formátumokat – érinti, így a létrehozott dokumentumok minden környezetben egységesen néznek ki. A betűtípusok egyedi 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.LoadExternalFonts metódust a betűtípusok betöltéséhez az adott mappákból.
- Töltse be és renderelje/exportálja a prezentációt.
- Hívja 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:
using Aspose.Slides;
using Aspose.Slides.Export;
// Határozza meg az egyéni betűtípusfájlokat tartalmazó mappákat.
string[] fontFolders = { @"C:\MyFonts", @"D:\Fonts" };
// Töltsön be egyéni betűtípusokat a megadott mappákból.
FontsLoader.LoadExternalFonts(fontFolders);
using Presentation presentation = new Presentation("sample.pptx");
// Renderelje/exportálja a prezentációt (pl. PDF‑be, képekbe vagy más formátumokba) a betöltött betűtípusok használatával.
presentation.Save("output.pdf", SaveFormat.Pdf);
// Törölje a betűtípus-gyorsítótárat, miután a munka befejeződött.
FontsLoader.ClearCache();
Note
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ási sorrendet.
A betűtípusok a következő sorrendben inicializálódnak:
- Az alapértelmezett operációs rendszer betűtípusútvonal.
- A FontsLoader által betöltött útvonalak.
Egyéni Betűtípus Mappák Lekérése
Az Aspose.Slides a GetFontFolders metódussal teszi lehetővé, hogy megtalálja a betűtípus‑mappákat. Ez a metódus visszaadja a LoadExternalFonts metódus által hozzáadott mappákat és a rendszer betűtípus‑mappákat.
Ez a C# kód megmutatja, hogyan használja a GetFontFolders metódust:
using Aspose.Slides;
// Ez a sor a betűtípusfájlok ellenőrzéséhez használt mappákat adja ki.
// Ezek a LoadExternalFonts metódussal hozzáadott mappák és a rendszer betűtípus mappák.
string[] fontFolders = FontsLoader.GetFontFolders();
A Prezentációval Használt Egyéni Betűtípusok Megadása
Az Aspose.Slides a DocumentLevelFontSources tulajdonságot biztosítja, amely lehetővé teszi, hogy megadja a prezentációval használandó külső betűtípusokat.
Ez a C# kód megmutatja, hogyan használja a DocumentLevelFontSources tulajdonságot:
using Aspose.Slides;
byte[] memoryFont1 = File.ReadAllBytes("customfonts\\CustomFont1.ttf");
byte[] memoryFont2 = File.ReadAllBytes("customfonts\\CustomFont2.ttf");
LoadOptions loadOptions = new LoadOptions();
loadOptions.DocumentLevelFontSources.FontFolders = new string[] { "assets\\fonts", "global\\fonts" };
loadOptions.DocumentLevelFontSources.MemoryFonts = new byte[][] { memoryFont1, memoryFont2 };
using (IPresentation presentation = new Presentation("MyPresentation.pptx", loadOptions))
{
// Munkáljon a prezentációval
// A CustomFont1, a CustomFont2, valamint az assets\fonts és a global\fonts mappákból és azok almappáiból származó betűtípusok elérhetők a prezentáció számára
}
Betűtípusok Kezelése Külsőleg
Az Aspose.Slides a LoadExternalFont(byte[] data) metódust biztosítja, amely lehetővé teszi, hogy külső betűtípusokat töltsön be bináris adatokból.
Ez a C# kód bemutatja a bájt‑tömb alapú betűtípus‑betöltési folyamatot:
using Aspose.Slides;
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALN.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNBI.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNI.TTF"));
try
{
using (Presentation pres = new Presentation(""))
{
// külső betűtípus betöltve a prezentáció élettartama alatt
}
}
finally
{
FontsLoader.ClearCache();
}
A regisztrált betűtípusnak az export során való előnyben részesítéséhez, anélkül hogy a beágyazott betűtípust eltávolítaná, tekintse meg a Prefer Registered Fonts over Embedded Fonts oldalt (.NET 26.11 vagy újabb).
GYIK
A saját betűtípusok befolyásolják az összes formátumba (PDF, PNG, SVG, HTML) történő exportot?
Igen. A csatlakoztatott betűtípusok a renderelő által minden exportformátumba felhasználásra kerülnek.
A saját betűtípusok automatikusan be vannak ágyazva a létrejövő PPTX‑be?
Nem. Egy betűtípus regisztrálása a rendereléshez nem ugyanaz, mint a PPTX‑be ágyazása. Ha a betűtípust a prezentációs fájlban kell tárolni, használja a kifejezett beágyazási funkciókat.
Szabályozhatom a visszaesés (fallback) viselkedését, ha egy egyéni betűtípus hiányos karakterekkel rendelkezik?
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ípus kerül felhasználásra, ha a kért karakter hiányzik.
Használhatok betűtípusokat Linux/Docker konténerekben anélkül, hogy rendszerszinten telepíteném őket?
Igen. Hivatkozhat saját betűtípus‑mappákra vagy betöltheti a betűtípusokat bájt‑tömbökből. Ez eltávolítja a rendszer‑betűtár‑könyvtárakra való függőséget a konténer‑képből.
Megjegyzés Linux/Docker esetén: A
FontsLoader.LoadExternalFontshívásakor biztosítsa, hogy adirectoriestömb minden eleme egy nem üres, létező könyvtárra mutató elérési utat tartalmazzon. Ha egy környezeti változó, amely a betűtípus‑úthoz van használva, nincs definiálva vagy üres, az Aspose.Slides megpróbálhatja a üres értéket teljes elérési útként feloldani, amiSystem.ArgumentExceptionkivételt eredményez.
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‑licencelés betartásáért. A licencfeltételek változóak; egyes licencek tiltjá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é.