Configurazione dei Font per la Visualizzazione dei Fogli di Lavoro
Possibili Scenari di Utilizzo
Le API di Aspose.Cells per Python via .NET offrono la possibilità di rappresentare i fogli di calcolo in formati immagine e di convertirli in formati PDF & XPS. Per massimizzare l’accuratezza della conversione, è necessario che i caratteri usati nel foglio di calcolo siano disponibili nella directory dei font di default del sistema operativo. Se i font richiesti non sono presenti, le API di Aspose.Cells per Python via .NET cercheranno di sostituirli con quelli disponibili.
Selezione dei font
Di seguito è descritto il processo seguito dalle API di Aspose.Cells per Python via .NET dietro le quinte.
- L’API cerca di trovare i font nel file system corrispondenti al nome esatto del font utilizzato nel foglio di calcolo.
- Se l’API non riesce a trovare i font con lo stesso nome esatto, tenta di utilizzare il font predefinito specificato nella proprietà DefaultStyle.font del foglio di lavoro.
- Se l’API non riesce a individuare il font definito nella proprietà DefaultStyle.font del foglio di lavoro, tenta di utilizzare il font specificato nelle proprietà PdfSaveOptions.default_font o ImageOrPrintOptions.default_font.
- Se l’API non riesce a individuare il font definito nelle proprietà PdfSaveOptions.default_font o ImageOrPrintOptions.default_font, tenta di utilizzare il font specificato nella proprietà FontConfigs.default_font_name.
- Se l’API non riesce a individuare il font definito nella proprietà FontConfigs.default_font_name, tenta di selezionare i font più adatti tra tutti i font disponibili.
- Infine, se l’API non riesce a trovare alcun font nel file system, renderizza il foglio di calcolo utilizzando Arial.
Impostazione delle cartelle dei font personalizzate
Le API di Aspose.Cells per Python via .NET cercano i font necessari nella directory dei font predefinita del sistema operativo. Se i font richiesti non sono disponibili, le API cercano nelle directory personalizzate (definite dall’utente). La classe FontConfigs ha diverse modalità per impostare directory di font personalizzate come descritto di seguito.
- FontConfigs.set_font_folder: Questo metodo è utile se c’è solo una cartella da impostare.
- FontConfigs.set_font_folders: Questo metodo è utile quando i font risiedono in più cartelle e l’utente desidera impostare tutte le cartelle separatamente anziché combinare tutti i font in una singola cartella.
- FontConfigs.set_font_sources: Questo meccanismo è utile quando l’utente desidera caricare i font da più cartelle o un singolo file font o dati font da un array di byte.
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]) |
Meccanismo di sostituzione del font
Le API di Aspose.Cells per Python via .NET offrono anche la possibilità di specificare un font sostitutivo per scopi di rendering. Questo meccanismo è utile quando un font richiesto non è disponibile sulla macchina dove deve essere eseguita la conversione. Gli utenti possono fornire una lista di nomi di font come alternativa al font originale richiesto. Per ottenere questo, le API di Aspose.Cells per Python via .NET hanno esposto il metodo FontConfigs.set_font_substitutes che accetta due parametri. Il primo, di tipo stringa, è il nome del font da sostituire. Il secondo è un array di tipo stringa. Gli utenti possono fornire una lista di nomi di font come sostituzione del nome del font originale (specificato nel primo parametro).
Ecco uno scenario d’uso semplice.
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" ]) |
Raccolta informazioni
Oltre ai metodi sopra citati, le API di Aspose.Cells per Python via .NET offrono anche strumenti per raccogliere informazioni sulle fonti e le sostituzioni impostate.
- Il metodo FontConfigs.get_font_sources restituisce un array di tipo FontSourceBase contenente l’elenco delle fonti specificate. Nel caso in cui non siano state impostate fonti, il metodo FontConfigs.get_font_sources restituirà un array vuoto.
- Il metodo FontConfigs.get_font_substitutes accetta un parametro di tipo string che consente di specificare il nome del carattere per il quale è stata impostata una sostituzione. Nel caso in cui non sia stata impostata alcuna sostituzione per il nome del carattere specificato, il metodo FontConfigs.get_font_substitutes restituirà null.