Anpassa PowerPoint-typsnitt på Android
Översikt
Aspose.Slides låter dig använda anpassade teckensnitt i presentationer utan att installera dem på operativsystemet. Du kan läsa in teckensnitt från anpassade mappar, tillhandahålla teckensnitt för en specifik presentation via dokumentnivå‑teckensnittskällor, eller läsa in externa teckensnitt direkt från binär data.
Inlästa teckensnitt används när en presentation renderas eller exporteras, till exempel till PDF, bilder och andra stödjade format. Detta hjälper till att hålla presentationens utdata konsekvent över olika miljöer. Artikeln förklarar också hur du undersöker de teckensnittsmappor som används av Aspose.Slides och hur du rensar teckensnittscachen efter arbete med externa teckensnitt.
Registrering av anpassade teckensnitt för rendering är separat från inbäddning av teckensnitt i en PPTX‑fil. Om ett teckensnitt måste lagras i själva presentationen, använd teckensnitts‑inbäddningsfunktionerna explicit.
Aspose Slides låter dig läsa in dessa teckensnitt med metoden loadExternalFonts:
Ladda anpassade teckensnitt
Aspose.Slides låter dig läsa in teckensnitt som används i en presentation utan att installera dem på systemet. Detta påverkar exportutdata — såsom PDF, bilder och andra stödjade format — så att de resulterande dokumenten ser konsekventa ut över olika miljöer. Teckensnitt läses in från anpassade kataloger.
- Ange en eller flera mappar som innehåller teckensnitts‑filerna.
- Anropa den statiska metoden FontsLoader.loadExternalFonts för att läsa in teckensnitt från dessa mappar.
- Läs in och rendera/exportera presentationen.
- Anropa FontsLoader.clearCache för att rensa teckensnittscachen.
Följande kodexempel demonstrerar processen för att läsa in teckensnitt:
// Definiera mappar som innehåller anpassade teckensnittsfiler.
String[] fontFolders = new String[] { externalFontFolder1, externalFontFolder2 };
// Ladda anpassade teckensnitt från de angivna mapparna.
FontsLoader.loadExternalFonts(fontFolders);
Presentation presentation = null;
try {
presentation = new Presentation("sample.pptx");
// Rendera/exportera presentationen (t.ex. till PDF, bilder eller andra format) med de inlästa teckensnitten.
presentation.save("output.pdf", SaveFormat.Pdf);
} finally {
if (presentation != null) presentation.dispose();
// Rensa teckensnittscachen efter att arbetet är klart.
FontsLoader.clearCache();
}
Note
FontsLoader.loadExternalFonts lägger till ytterligare mappar i teckensnittssökvägarna, men ändrar inte ordningen för teckensnittsinitiering.
Teckensnitt initieras i följande ordning:
- Operativsystemets standardteckensnittssökväg.
- Sökvägarna som lästs in via FontsLoader.
Hämta anpassade teckensnittsmappar
Aspose.Slides tillhandahåller metoden getFontFolders för att låta dig hitta teckensnittsmappar. Denna metod returnerar mappar som lagts till via LoadExternalFonts‑metoden samt systemets teckensnittsmappar.
Denna Java‑kod visar hur du använder getFontFolders:
// Denna rad skriver ut mappar där teckensnittsfiler söks.
// Det är mappar som lagts till via LoadExternalFonts-metoden och systemets teckensnittsmappor.
String[] fontFolders = FontsLoader.getFontFolders();
Specificera anpassade teckensnitt som används med en presentation
Aspose.Slides tillhandahåller egenskapen setDocumentLevelFontSources för att låta dig specificera externa teckensnitt som ska användas med presentationen.
Denna Java‑kod visar hur du använder egenskapen setDocumentLevelFontSources:
byte[] memoryFont1 = Files.readAllBytes("customfonts/CustomFont1.ttf");
byte[] memoryFont2 = Files.readAllBytes("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 {
// Arbeta med presentationen
// CustomFont1, CustomFont2, och teckensnitt från assets\fonts & global\fonts mappar och deras undermappar är tillgängliga för presentationen
} finally {
if (pres != null) pres.dispose();
}
Hantera teckensnitt externt
Aspose.Slides tillhandahåller metoden loadExternalFont(byte[] data) för att låta dig läsa in externa teckensnitt från binär data.
Denna Java‑kod demonstrerar processen för att läsa in teckensnitt från en byte‑array:
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 {
// extern teckensnitt laddat under presentationens livstid
} finally {
}
}
finally
{
FontsLoader.clearCache();
}
FAQ
Påverkar anpassade teckensnitt export till alla format (PDF, PNG, SVG, HTML)?
Ja. Anslutna teckensnitt används av renderaren för alla exportformat.
Bäddas anpassade teckensnitt automatiskt in i den resulterande PPTX‑filen?
Nej. Att registrera ett teckensnitt för rendering är inte samma sak som att bädda in det i en PPTX. Om du behöver att teckensnittet finns i presentationsfilen måste du använda de explicita embedding features.
Kan jag styra fallback‑beteendet när ett anpassat teckensnitt saknar vissa tecken?
Ja. Konfigurera font substitution, replacement rules och fallback sets för att exakt definiera vilket teckensnitt som används när den begärda tecknet saknas.
Kan jag använda teckensnitt i Linux/Docker‑behållare utan att installera dem systemomfattande?
Ja. Peka på dina egna teckensnittsmappar eller läs in teckensnitt från byte‑arrayer. Detta eliminerar alla beroenden på systemets teckensnittskataloger i behållarbilden.
Hur är det med licensiering—kan jag bädda in vilket anpassat teckensnitt som helst utan restriktioner?
Du är ansvarig för att följa teckensnittens licensvillkor. Villkoren varierar; vissa licenser förbjuder inbäddning eller kommersiell användning. Granska alltid teckensnittets EULA innan du distribuerar resultat.