Configurazione dei caratteri per il rendering di fogli di calcolo

Possibili scenari di utilizzo

Le API Aspose.Cells forniscono la possibilità di eseguire il rendering dei fogli di calcolo in formati immagine e di convertirli nei formati PDF e XPS. Per massimizzare la fedeltà della conversione, è necessario che i caratteri utilizzati nel foglio di calcolo siano disponibili nella directory dei caratteri predefinita del sistema operativo. Nel caso in cui i font richiesti non siano presenti allora le API Aspose.Cells cercheranno di sostituire i font richiesti con quelli disponibili.

Selezione dei caratteri

Di seguito è riportato il processo che le API Aspose.Cells seguono dietro le quinte.

  1. Lo API tenta di trovare i caratteri sul file system corrispondenti al nome esatto del carattere utilizzato nel foglio di calcolo.
  2. Se API non riesce a trovare i caratteri con lo stesso identico nome, tenta di utilizzare il carattere predefinito specificato in Cartella di lavoro**DefaultStyle.Font** proprietà.
  3. Se API non è in grado di individuare il carattere definito sotto la cartella di lavoro**DefaultStyle.Font** proprietà, tenta di utilizzare il carattere specificato in**PdfSaveOptions.DefaultFont** o**ImageOrPrintOptions.DefaultFont** proprietà.
  4. Se API non è in grado di individuare il carattere definito in**PdfSaveOptions.DefaultFont** o**ImageOrPrintOptions.DefaultFont** proprietà, tenta di utilizzare il carattere specificato in**FontConfigs.DefaultFontName** proprietà.
  5. Se API non è in grado di individuare il carattere definito in**FontConfigs.DefaultFontName** proprietà, tenta di selezionare i caratteri più adatti tra tutti i caratteri disponibili.
  6. Infine, se API non riesce a trovare alcun carattere nel file system, esegue il rendering del foglio di calcolo utilizzando Arial.

Imposta cartelle di caratteri personalizzati

Aspose.Cells Le API ricercano i caratteri richiesti nella directory dei caratteri predefinita del sistema operativo. Nel caso in cui i caratteri richiesti non siano disponibili nella directory dei caratteri del sistema, le API effettuano la ricerca nelle directory personalizzate (definite dall’utente). Il**FontConfigs**class ha esposto diversi modi per impostare directory di font personalizzate come descritto di seguito.

  1. FontConfigs.SetFontFolder: Questo metodo è utile se c’è solo una cartella da impostare.
  2. FontConfigs.SetFontFolders: Questo metodo è utile quando i font risiedono in più cartelle e l’utente desidera impostare tutte le cartelle separatamente piuttosto che combinare tutti i font in un’unica cartella.
  3. FontConfigs.SetFontSources: Questo meccanismo è utile quando l’utente desidera caricare font da più cartelle o un singolo file di font o dati di font da un array di byte.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Defining string variables to store paths to font folders & font file
string fontFolder1 = dataDir + "Arial";
string fontFolder2 = dataDir + "Calibri";
string fontFile = dataDir + "arial.ttf";
// Setting first font folder with SetFontFolder method
// Second parameter directs the API to search the subfolders for font files
FontConfigs.SetFontFolder(fontFolder1, true);
// Setting both font folders with SetFontFolders method
// Second parameter prohibits the API to search the subfolders for font files
FontConfigs.SetFontFolders(new string[] { fontFolder1, fontFolder2 }, false);
// Defining FolderFontSource
FolderFontSource sourceFolder = new FolderFontSource(fontFolder1, false);
// Defining FileFontSource
FileFontSource sourceFile = new FileFontSource(fontFile);
// Defining MemoryFontSource
MemoryFontSource sourceMemory = new MemoryFontSource(System.IO.File.ReadAllBytes(fontFile));
// Setting font sources
FontConfigs.SetFontSources(new FontSourceBase[] { sourceFolder, sourceFile, sourceMemory });

Meccanismo di sostituzione dei caratteri

Le API Aspose.Cells forniscono anche la possibilità di specificare il carattere sostitutivo per scopi di rendering. Questo meccanismo è utile quando un font richiesto non è disponibile sulla macchina in cui deve avvenire la conversione. Gli utenti possono fornire un elenco di nomi di caratteri in alternativa al carattere originariamente richiesto. Per raggiungere questo obiettivo, le API Aspose.Cells hanno esposto il file**FontConfigs.SetFontSubstitutes** metodo che accetta 2 parametri. Il primo parametro è di tipo**corda** , che dovrebbe essere il nome del carattere che deve essere sostituito. Il secondo parametro è un array di tipo**corda**Gli utenti possono fornire un elenco di nomi di font in sostituzione del nome del font originale (specificato nel primo parametro).

Ecco un semplice scenario di utilizzo.

// 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.SetFontSubstitutes("Arial", new string[] { "Times New Roman", "Calibri" });

Raccolta di informazioni

Oltre ai metodi sopra menzionati, le API Aspose.Cells hanno anche fornito mezzi per raccogliere informazioni su quali fonti e sostituzioni sono state impostate.

  1. FontConfigs.GetFontSources Il metodo restituisce un array di tipo**FontSourceBase**contenente l’elenco delle fonti di font specificate. Nel caso in cui non siano state impostate fonti, il file**FontConfigs.GetFontSources**metodo restituirà un array vuoto.
  2. FontConfigs.GetFontSubstitutes Il metodo accetta un parametro di tipocorda permettendo di specificare il nome del carattere per il quale è stata impostata la sostituzione. Nel caso in cui non sia stata impostata alcuna sostituzione per il nome del carattere specificato, il file**FontConfigs.GetFontSubstitutes**il metodo restituirà null.

Argomenti avanzati