PowerPoint betűtípusok testreszabása Java-ban
Áttekintés
Aspose.Slides lehetővé teszi egyedi betűtípusok használatát a prezentációkban anélkül, hogy azokat az operációs rendszerre telepítenénk. Betűtípusokat tölthet be egyedi mappákból, a dokumentumszintű betűtípusforrások segítségével egy adott prezentációhoz, vagy közvetlenül bináris adatokból külső betűtípusokként.
A betöltött betűtípusok akkor kerülnek felhasználásra, amikor egy prezentációt renderelnek vagy exportálnak, például PDF‑hez, képekhez és más támogatott formátumokhoz. Ez segít a prezentációk kimenetének egységességében különböző környezetekben. A cikk azt is bemutatja, hogyan ellenőrizheti az Aspose.Slides által használt betűtípus-mappákat, és hogyan törölheti a betűtípus-gyorsítót a külső betűtípusok használata után.
Az egyedi betűtípusok regisztrálása a rendereléshez különválik a betűtípusok PPTX‑fájlba való beágyazásától. Ha egy betűtípust a prezentáción belül kell tárolni, használja kifejezetten a betűtípus-beágyazási funkciókat.
Egy prezentációs téma különböző betűcsaládokra hivatkozhat az egyes írásrendszerekhez. Ezek a leképezések betűtípusneveket tárolnak, de nem telepítik vagy töltik be a betűtípusfájlokat. Lásd a Szkriptre specifikus téma betűtípusok szakaszt a leképezések kezeléséhez, és használja az alább felsorolt betöltési beállításokat a hivatkozott betűtípusok elérhetővé tételéhez a konzisztens rendereléshez.
Megjegyzés
Aspose Slides lehetővé teszi ezen betűtípusok betöltését a loadExternalFonts metódus segítségével:
Egyedi betűtípusok betöltése
Aspose.Slides lehetővé teszi egy prezentációban használt betűtípusok betöltését anélkül, hogy azokat a rendszeren telepítené. Ez befolyásolja az exportálási kimenetet – például PDF, képek és más támogatott formátumok – így a létrehozott dokumentumok minden környezetben egységesek maradnak. 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 meg a FontsLoader.clearCache metódust a betűtípus-gyorsítót törléshez.
A következő kódrészlet bemutatja a betűtípus betöltési folyamatát:
import com.aspose.slides.*;
// Határozza meg az egyedi betűtípus fájlokat tartalmazó mappákat.
String[] fontFolders = new String[] { "assets/fonts", "global/fonts" };
// Töltsön be egyedi betűtípusokat a megadott mappákból.
FontsLoader.loadExternalFonts(fontFolders);
Presentation presentation = null;
try {
presentation = new Presentation("sample.pptx");
// Renderelje/exportálja a prezentációt (például PDF, képek vagy egyéb formátumok) a betöltött betűtípusok használatával.
presentation.save("output.pdf", SaveFormat.Pdf);
} finally {
if (presentation != null) presentation.dispose();
// Törölje a betűtípus gyorsítótárát a munka befejezése után.
FontsLoader.clearCache();
}
Megjegyzés
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 ebben a sorrendben inicializálódnak:
- Az alapértelmezett operációs rendszer betűtípus útvonala.
- A FontsLoader által betöltött útvonalak.
Egyedi betűtípus-mappák lekérése
Aspose.Slides a getFontFolders metódust biztosítja, amely lehetővé teszi a betűtípus-mappák megtalálását. Ez a metódus visszaadja a LoadExternalFonts metódussal hozzáadott mappákat és a rendszer betűtípus-mappákat.
Ez a Java‑kód bemutatja, hogyan kell használni a getFontFolders metódust:
import com.aspose.slides.*;
// Ez a sor megjeleníti a mappákat, ahol a betűtípusfájlok keresése történik.
// Ezek a LoadExternalFonts metódussal hozzáadott mappák és a rendszer betűtípus mappái.
String[] fontFolders = FontsLoader.getFontFolders();
Egyedi betűtípusok megadása egy prezentációhoz
Aspose.Slides a setDocumentLevelFontSources tulajdonságot biztosítja, amellyel külső betűtípusokat adhat meg, amelyeket a prezentáció használni fog.
Ez a Java‑kód bemutatja, hogyan kell használni a setDocumentLevelFontSources tulajdonságot:
import com.aspose.slides.*;
import java.nio.file.Files;
import java.nio.file.Paths;
byte[] memoryFont1 = Files.readAllBytes(Paths.get("customfonts/CustomFont1.ttf"));
byte[] memoryFont2 = Files.readAllBytes(Paths.get("customfonts/CustomFont2.ttf"));
LoadOptions loadOptions = new LoadOptions();
loadOptions.getDocumentLevelFontSources().setFontFolders(new String[] { "assets/fonts", "global/fonts" });
loadOptions.getDocumentLevelFontSources().setMemoryFonts(new byte[][] { memoryFont1, memoryFont2 });
Presentation pres = new Presentation("MyPresentation.pptx", loadOptions);
try {
// Munkavégzés a prezentációval
// CustomFont1, CustomFont2, és a assets\fonts & global\fonts mappák és alkönyvtáraik betűtípusai elérhetőek a prezentációban
} finally {
if (pres != null) pres.dispose();
}
Betűtípusok külső kezelése
Aspose.Slides a loadExternalFont(byte[] data) metódust biztosítja, amely lehetővé teszi külső betűtípusok betöltését bináris adatokból.
Ez a Java‑kód szemlélteti a bájt‑tömbből történő betűtípus‑betöltés folyamatát:
import com.aspose.slides.*;
import java.nio.file.Files;
import java.nio.file.Paths;
FontsLoader.loadExternalFont(Files.readAllBytes(Paths.get("ARIALN.TTF")));
FontsLoader.loadExternalFont(Files.readAllBytes(Paths.get("ARIALNBI.TTF")));
FontsLoader.loadExternalFont(Files.readAllBytes(Paths.get("ARIALNI.TTF")));
try
{
Presentation pres = new Presentation("");
try {
// külső betűtípus betöltve a prezentáció élettartama alatt
} finally {
}
}
finally
{
FontsLoader.clearCache();
}
GYIK
Hatással vannak az egyedi betűtípusok az összes formátum (PDF, PNG, SVG, HTML) exportjára?
Igen. A kapcsolódó betűtípusokat a renderelő minden exportformátumban használja.
Ágyazódnak-e automatikusan az egyedi betűtípusok a létrejövő PPTX‑be?
Nem. Egy betűtípus regisztrálása a rendereléshez nem egyenlő a PPTX‑be való beágyazással. Ha a betűtípust a prezentáció fájlban kell tárolni, használja a kifejezett embedding features lehetőséget.
Irányíthatom-e a fallback viselkedést, ha egy egyedi betűtípus nem tartalmaz bizonyos glifeket?
Igen. Állítsa be a font substitution, replacement rules és fallback sets beállításait, hogy pontosan meghatározza, melyik betűtípust használja a hiányzó glif esetén.
Használhatok-e betűtípusokat Linux/Docker konténerekben anélkül, hogy azokat rendszerszinten telepíteném?
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ést a konténer képen.
Mi van a licenceléssel – beágyazhatok-e bármilyen egyedi betűtípust korlátozások nélkül?
Ön felelős a betűtípus-licencelés betartásáért. A felté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 terjesztené a kimenetet.