Настройка шрифтов для визуализации электронных таблиц

Возможные сценарии использования

API-интерфейсы Aspose.Cells позволяют отображать электронные таблицы в форматах изображений, а также преобразовывать их в форматы PDF и XPS. Чтобы максимизировать точность преобразования, необходимо, чтобы шрифты, используемые в электронной таблице, были доступны в каталоге шрифтов операционной системы по умолчанию. Если необходимые шрифты отсутствуют, API-интерфейсы Aspose.Cells попытаются заменить требуемые шрифты доступными.

Выбор шрифтов

Ниже показан процесс, которому Aspose.Cells API следуют за сценой.

  1. API пытается найти шрифты в файловой системе, соответствующие точному имени шрифта, используемому в электронной таблице.
  2. Если API не может найти шрифты с точно такими же именами, он пытается использовать шрифт по умолчанию, указанный в рабочей книге.DefaultStyle.Font имущество.
  3. Если API не может найти шрифт, определенный в рабочей книгеDefaultStyle.Font свойство, он пытается использовать шрифт, указанный вPdfSaveOptions.DefaultFont или жеImageOrPrintOptions.DefaultFont имущество.
  4. Если API не может найти шрифт, определенный вPdfSaveOptions.DefaultFont или жеImageOrPrintOptions.DefaultFont свойство, он пытается использовать шрифт, указанный вFontConfigs.DefaultFontName имущество.
  5. Если API не может найти шрифт, определенный вFontConfigs.DefaultFontName свойство, он пытается выбрать наиболее подходящие шрифты из всех доступных шрифтов.
  6. Наконец, если API не может найти шрифты в файловой системе, он отображает электронную таблицу с использованием Arial.

Установить папки пользовательских шрифтов

Aspose.Cells API-интерфейсы выполняют поиск требуемых шрифтов в каталоге шрифтов операционной системы по умолчанию. Если требуемые шрифты недоступны в системном каталоге шрифтов, API-интерфейсы выполняют поиск в пользовательских (определяемых пользователем) каталогах.Конфигурации шрифтовclass предоставил несколько способов установки пользовательских каталогов шрифтов, как описано ниже.

  1. FontConfigs.setFontFolder: Этот метод удобен, если необходимо установить только одну папку.
  2. FontConfigs.setFontFolders: этот метод удобен, когда шрифты находятся в нескольких папках, и пользователь хочет установить все папки по отдельности, а не объединять все шрифты в одной папке.
  3. FontConfigs.setFontSources: этот механизм полезен, когда пользователь хочет загрузить шрифты из нескольких папок или одного файла шрифта или данных шрифта из массива байтов.

Механизм замены шрифта

Aspose.Cells API-интерфейсы также предоставляют возможность указать замещающий шрифт для целей рендеринга. Этот механизм удобен, когда требуемый шрифт недоступен на машине, на которой должно выполняться преобразование. Пользователи могут предоставить список имен шрифтов в качестве альтернативы первоначально необходимому шрифту. Для этого API-интерфейсы Aspose.Cells предоставили метод FontConfigs.setFontSubstitutes, который принимает 2 параметра. Первый параметр имеет типНить , которое должно быть названием шрифта, который необходимо заменить. Второй параметр представляет собой массив типаНить. Пользователи могут предоставить список имен шрифтов в качестве заменителей исходного шрифта (указанного в первом параметре).

Вот простой сценарий использования.

 //Substituting the Arial font with Times New Roman & Calibri

FontConfigs.setFontSubstitutes("Arial", new String[]{ "Times New Roman", "Calibri" });

Сбор информации

В дополнение к вышеупомянутым методам API-интерфейсы Aspose.Cells также предоставляют средства для сбора информации о том, какие источники и замены были установлены.

  1. FontConfigs.getFontSources: Этот метод возвращает массив типаFontSourceBaseсодержащий список указанных источников шрифтов. В случае, если источники не были установлены,FontConfigs.getFontSources вернет пустой массив.
  2. FontConfigs.getFontSubstitutes: этот метод принимает параметр типаНить позволяет указать имя шрифта, для которого установлена замена. В случае, если для указанного имени шрифта не была установлена замена, тоFontConfigs.getFontSubstitutes метод вернет null.