Konfigurera teckensnitt för rendering av kalkylblad
Möjliga användningsscenarier
Aspose.Cells API:er ger möjlighet att rendera kalkylbladen i bildformat samt konvertera dem till PDF och XPS format. För att maximera omvandlingstroheten är det nödvändigt att teckensnitten som används i kalkylarket är tillgängliga i operativsystemets standardtypsnittskatalog. Om de nödvändiga typsnitten inte finns kommer API:erna Aspose.Cells att försöka ersätta de nödvändiga typsnitten med de tillgängliga.
Val av teckensnitt
Nedan är processen som Aspose.Cells API:er följer bakom scenen.
- API försöker hitta teckensnitten i filsystemet som matchar det exakta teckensnittsnamnet som används i kalkylarket.
- Om API inte kan hitta typsnitten med exakt samma namn, försöker den använda standardteckensnittet som anges under arbetsbokensDefaultStyle.Font fast egendom.
- Om API inte kan hitta teckensnittet som definierats under arbetsbokensDefaultStyle.Font egenskapen försöker den använda typsnittet som anges underPdfSaveOptions.DefaultFont ellerImageOrPrintOptions.DefaultFont fast egendom.
- Om API inte kan hitta teckensnittet som definieras underPdfSaveOptions.DefaultFont ellerImageOrPrintOptions.DefaultFont egenskapen försöker den använda typsnittet som anges underFontConfigs.DefaultFontName fast egendom.
- Om API inte kan hitta teckensnittet som definieras underFontConfigs.DefaultFontName egenskapen försöker den välja de mest lämpliga typsnitten från alla tillgängliga typsnitt.
- Slutligen, om API inte kan hitta några teckensnitt i filsystemet, renderar den kalkylarket med Arial.
Ställ in anpassade teckensnittsmappar
Aspose.Cells API:er söker i operativsystemets standardtypsnittskatalog efter de nödvändiga teckensnitten. Om de nödvändiga typsnitten inte är tillgängliga i systemets teckensnittskatalog så söker API:erna igenom de anpassade (användardefinierade) katalogerna. DeFontConfigsclass har avslöjat ett antal sätt att ställa in anpassade teckensnittskataloger som beskrivs nedan.
- FontConfigs.setFontFolder: Denna metod är användbar om det bara finns en mapp att ställa in.
- FontConfigs.setFontFolders: Denna metod är användbar när teckensnitten finns i flera mappar och användaren vill ställa in alla mappar separat istället för att kombinera alla teckensnitt i en enda mapp.
- FontConfigs.setFontSources: Denna mekanism är användbar när användaren vill ladda typsnitt från flera mappar eller en enskild typsnittsfil eller teckensnittsdata från en uppsättning byte.
Teckensnittsersättningsmekanism
Aspose.Cells API:er ger också möjlighet att ange ersättningsteckensnittet för renderingsändamål. Denna mekanism är användbar när ett önskat teckensnitt inte är tillgängligt på maskinen där konvertering måste ske. Användare kan tillhandahålla en lista med teckensnittsnamn som ett alternativ till det ursprungligen önskade teckensnittet. För att uppnå detta har API:erna Aspose.Cells avslöjat metoden FontConfigs.setFontSubstitutes som accepterar 2 parametrar. Den första parametern är av typSträng , vilket ska vara namnet på teckensnittet som måste ersättas. Den andra parametern är en array av typSträng. Användare kan tillhandahålla en lista med teckensnittsnamn som ersättning för det ursprungliga teckensnittet (anges i den första parametern).
Här är ett enkelt användningsscenario.
//Substituting the Arial font with Times New Roman & Calibri
FontConfigs.setFontSubstitutes("Arial", new String[]{ "Times New Roman", "Calibri" });
Informationsmöte
Utöver de ovan nämnda metoderna har API:erna Aspose.Cells också tillhandahållit sätt att samla information om vilka källor och ersättningar som har ställts in.
- FontConfigs.getFontSources: Denna metod returnerar en array av typFontSourceBasesom innehåller listan över specificerade teckensnittskällor. Om inga källor har angetts,FontConfigs.getFontSources returnerar en tom array.
- FontConfigs.getFontSubstitutes: Denna metod accepterar en parameter av typenSträng gör det möjligt att ange teckensnittsnamnet för vilket ersättning har ställts in. Om det inte har ställts in någon ersättning för det angivna teckensnittsnamnet sedanFontConfigs.getFontSubstitutes-metoden returnerar null.