Konfigurieren von Schriftarten zur Darstellung von Tabellenkalkulationen
Mögliche Verwendungsszenarien
Aspose.Cells APIs bieten die Möglichkeit, die Tabellenkalkulationen in Bildformate zu rendern und in PDF- und XPS-Formate zu konvertieren. Um die Konvertierungsgenauigkeit zu maximieren, ist es erforderlich, dass die in der Tabellenkalkulation verwendeten Schriftarten im Standard-Schriftartenverzeichnis des Betriebssystems verfügbar sind. Falls die erforderlichen Schriftarten nicht vorhanden sind, werden die Aspose.Cells APIs versuchen, die erforderlichen Schriftarten durch verfügbare zu ersetzen.
Auswahl von Schriftarten
Im Folgenden wird der Prozess erläutert, den die Aspose.Cells-APIs im Hintergrund durchlaufen.
- Die API versucht, die Schriftarten im Dateisystem zu finden, die dem exakten Schriftartnamen entsprechen, der in der Tabelle verwendet wird.
- Wenn die API die Schriftarten mit genau demselben Namen nicht finden kann, versucht sie, die Standardschriftart unter dem DefaultStyle.Font-Eigenschaft des Arbeitsblatts zu verwenden.
- Wenn die API die unter DefaultStyle.Font definierte Schriftart nicht finden kann, versucht sie, die Schriftart unter PdfSaveOptions.DefaultFont oder ImageOrPrintOptions.DefaultFont Eigenschaft zu verwenden.
- Wenn die API die unter PdfSaveOptions.DefaultFont oder ImageOrPrintOptions.DefaultFont definierte Schriftart nicht finden kann, versucht sie, die Schriftart unter FontConfigs.DefaultFontName Eigenschaft zu verwenden.
- Wenn die API die unter FontConfigs.DefaultFontName definierte Schriftart nicht finden kann, versucht sie, die geeignetsten Schriftarten aus allen verfügbaren Schriftarten auszuwählen.
- Schließlich rendert die API die Tabelle mit Arial, wenn sie keine Schriftarten im Dateisystem finden kann.
Benutzerdefinierte Schriftartordner einstellen
Aspose.Cells-APIs durchsuchen das Standard-Schriftartenverzeichnis des Betriebssystems nach den erforderlichen Schriftarten. Wenn die erforderlichen Schriftarten im Schriftartenordner des Systems nicht verfügbar sind, suchen die APIs in den benutzerdefinierten (benutzerdefinierten) Verzeichnissen. Die Klasse FontConfigs hat verschiedene Möglichkeiten freigelegt, benutzerdefinierte Schriftartenverzeichnisse wie unten aufgeführt festzulegen.
- FontConfigs.setFontFolder: Diese Methode ist nützlich, wenn nur ein Ordner festgelegt werden soll.
- FontConfigs.setFontFolders: Diese Methode ist nützlich, wenn die Schriftarten in mehreren Ordnern vorhanden sind und der Benutzer alle Ordner separat einrichten möchte, anstatt alle Schriftarten in einem einzigen Ordner zu kombinieren.
- FontConfigs.setFontSources: Diese Mechanismus ist nützlich, wenn der Benutzer Schriften aus mehreren Ordnern laden möchte oder eine einzelne Schriftdatei oder Schriftdaten aus einem Byte-Array.
Schriftarten-Ersatzmechanismus
Aspose.Cells APIs bieten auch die Möglichkeit, die Ersatzschrift für Rendering-Zwecke anzugeben. Dieser Mechanismus ist hilfreich, wenn eine erforderliche Schrift auf dem Rechner, auf dem die Konvertierung stattfinden soll, nicht verfügbar ist. Benutzer können eine Liste von Schriftarten als Alternative zur ursprünglich benötigten Schrift angeben. Um dies zu erreichen, haben die Aspose.Cells APIs die Methode FontConfigs.setFontSubstitutes freigegeben, die 2 Parameter akzeptiert. Der erste Parameter ist vom Typ String und sollte der Name der Schrift sein, die ersetzt werden muss. Der zweite Parameter ist ein Array vom Typ String. Benutzer können eine Liste von Schriftarten als Ersatz für die ursprüngliche Schrift (angegeben im ersten Parameter) angeben.
Hier ist ein einfaches Anwendungsbeispiel.
//Substituting the Arial font with Times New Roman & Calibri
FontConfigs.setFontSubstitutes("Arial", new String[] { "Times New Roman", "Calibri" });
Informationssammlung
Neben den oben genannten Methoden bieten die Aspose.Cells APIs auch Möglichkeiten, Informationen darüber zu sammeln, welche Quellen und Substitutionen festgelegt wurden.
- FontConfigs.getFontSources: Diese Methode gibt ein Array vom Typ FontSourceBase zurück, das die Liste der angegebenen Schriftquellen enthält. Falls keine Quellen festgelegt wurden, gibt die Methode FontConfigs.getFontSources ein leeres Array zurück.
- FontConfigs.getFontSubstitutes: Diese Methode akzeptiert einen Parameter vom Typ String, um den Schriftname festzulegen, für den die Substitution vorgenommen wurde. Falls keine Substitution für den angegebenen Schriftnamen festgelegt wurde, gibt die Methode FontConfigs.getFontSubstitutes null zurück.