Konfigurera teckensnitt för rendering av kalkylblad
Möjliga användningsscenario
Aspose.Cells för Python via .NET API:erna ger möjlighet att rendera kalkylblad i bildformat samt konvertera dem till PDF- och XPS-format. För att optimera konverteringens kvalitet är det viktigt att typsnitten som används i kalkylbladet finns i operativsystemets standardtypsnitts-mapp. Om de nödvändiga typsnitten inte finns tillgängliga kommer Aspose.Cells för Python via .NET API:erna att försöka ersätta dessa med tillgängliga typsnitt.
Val av teckensnitt
Nedanför följer processen som Aspose.Cells för Python via .NET API:erna utför bakom kulisserna.
- API försöker hitta teckensnitten på filsystemet som matchar det exakta teckensnittsnamnet som används i kalkylbladet.
- Om API inte kan hitta teckensnitten med det exakta namnet försöker det använda standardteckensnittet som anges under arbetsbokens DefaultStyle.font egenskap.
- Om API inte kan hitta teckensnittet som definieras under arbetsbokens DefaultStyle.font egenskap försöker det använda teckensnittet som anges under PdfSaveOptions.default_font eller ImageOrPrintOptions.default_font egenskap.
- Om API inte kan hitta teckensnittet som definieras under PdfSaveOptions.default_font eller ImageOrPrintOptions.default_font egenskap försöker den använda teckensnittet som anges under FontConfigs.default_font_name egenskap.
- Om API inte kan hitta teckensnittet som definieras under FontConfigs.default_font_name egenskapen försöker det välja de mest lämpliga teckensnitten från alla tillgängliga teckensnitt.
- Slutligen, om API inte hittar några teckensnitt på filsystemet, renderar den kalkylbladet med Arial.
Ange anpassade typsnittsmappar
Aspose.Cells för Python via .NET API:erna söker i operativsystemets standardtypsnitts-mapp efter de nödvändiga typsnitten. Om de inte finns tillgängliga i systemets typsnittsmapp söker API:erna i anpassade (användardefinierade) kataloger. Klassen FontConfigs har flera sätt att ställa in egna typsnittskataloger, vilket beskrivs nedan.
- FontConfigs.set_font_folder: Metoden är användbar om det endast finns en mapp att ange.
- FontConfigs.set_font_folders: Metoden är användbar när typsnitten finns i flera mappar och användaren vill ange alla mapparna separat istället för att kombinera alla typsnitt i en enda mapp.
- FontConfigs.set_font_sources: Mekanismen är användbar när användaren vill ladda typsnitt från flera mappar eller en enda typsnittsfil eller typsnittsdata från en byte-array.
from aspose.cells import FileFontSource, FolderFontSource, FontConfigs, MemoryFontSource | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Defining string variables to store paths to font folders & font file | |
fontFolder1 = dataDir + "Arial" | |
fontFolder2 = dataDir + "Calibri" | |
fontFile = dataDir + "arial.ttf" | |
# Setting first font folder with SetFontFolder method | |
# Second parameter directs the API to search the subfolders for font files | |
FontConfigs.set_font_folder(fontFolder1, True) | |
# Setting both font folders with SetFontFolders method | |
# Second parameter prohibits the API to search the subfolders for font files | |
FontConfigs.set_font_folders([fontFolder1, fontFolder2], False) | |
# Defining FolderFontSource | |
sourceFolder = FolderFontSource(fontFolder1, False) | |
# Defining FileFontSource | |
sourceFile = FileFontSource(fontFile) | |
# Defining MemoryFontSource | |
sourceMemory = MemoryFontSource(open(fontFile, "rb").read()) | |
# Setting font sources | |
FontConfigs.set_font_sources([sourceFolder, sourceFile, sourceMemory]) |
Mekanism för typsnittsutbyte
Aspose.Cells för Python via .NET API:erna ger också möjlighet att specificera ett ersättningstypsnitt för rendering. Denna mekanism är användbar när ett nödvändigt typsnitt inte finns tillgängligt på maskinen där konverteringen sker. Användare kan ange en lista med typsnittsnamn som alternativ till det ursprungligen nödvändiga typsnittet. För att åstadkomma detta har Aspose.Cells för Python via .NET API:erna tillgång till FontConfigs.set_font_substitutes metoden som tar emot 2 parametrar. Den första parametern är av typen string, vilket bör vara namnet på typsnittet som ska ersättas. Den andra parametern är en array av typen string där användare kan ange en lista med typsnittsnamn som ersättning för det ursprungliga typsnittet (specificerat i den första parametern).
Här är ett enkelt användningsscenario.
from aspose.cells import FontConfigs | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Substituting the Arial font with Times New Roman & Calibri | |
FontConfigs.set_font_substitutes("Arial", ["Times New Roman", "Calibri" ]) |
Informationssamling
Förutom ovan nämnda metoder, har Aspose.Cells för Python via .NET också gjort det möjligt att samla information om vilka källor och ersättningar som har satts.
- FontConfigs.get_font_sources-metoden returnerar en array av typ FontSourceBase som innehåller listan över angivna teckensnittskällor. Om inga källor har ställts in kommer FontConfigs.get_font_sources-metoden att returnera en tom array.
- FontConfigs.get_font_substitutes-metoden tar emot en parameter av typ string som tillåter att specifiera teckensnittsnamnet för vilket ersättning har ställts in. Om ingen ersättning har ställts in för det angivna teckensnittsnamnet kommer FontConfigs.get_font_substitutes-metoden att returnera null.