Configuración de fuentes para renderizar hojas de cálculo

Posibles escenarios de uso

Las API Aspose.Cells brindan la posibilidad de representar las hojas de cálculo en formatos de imagen, así como convertirlas a los formatos PDF y XPS. Para maximizar la fidelidad de la conversión, es necesario que las fuentes utilizadas en la hoja de cálculo estén disponibles en el directorio de fuentes predeterminado del sistema operativo. En caso de que las fuentes requeridas no estén presentes, las API Aspose.Cells intentarán sustituir las fuentes requeridas por las disponibles.

Selección de fuentes

A continuación se muestra el proceso que siguen las API Aspose.Cells detrás de escena.

  1. El API intenta encontrar las fuentes en el sistema de archivos que coincidan con el nombre de fuente exacto utilizado en la hoja de cálculo.
  2. Si API no puede encontrar las fuentes con exactamente el mismo nombre, intenta usar la fuente predeterminada especificada en el Libro de trabajo.DefaultStyle.Fuente propiedad.
  3. Si API no puede localizar la fuente definida en el libro de trabajoDefaultStyle.Fuente propiedad, intenta utilizar la fuente especificada enPdfSaveOptions.DefaultFont oImageOrPrintOptions.DefaultFont propiedad.
  4. Si API no puede localizar la fuente definida enPdfSaveOptions.DefaultFont oImageOrPrintOptions.DefaultFont propiedad, intenta utilizar la fuente especificada enFontConfigs.DefaultFontName propiedad.
  5. Si API no puede localizar la fuente definida enFontConfigs.DefaultFontName propiedad, intenta seleccionar las fuentes más adecuadas de todas las fuentes disponibles.
  6. Finalmente, si API no puede encontrar ninguna fuente en el sistema de archivos, procesa la hoja de cálculo usando Arial.

Establecer carpetas de fuentes personalizadas

Aspose.Cells Las API buscan en el directorio de fuentes predeterminado del sistema operativo las fuentes requeridas. En caso de que las fuentes requeridas no estén disponibles en el directorio de fuentes del sistema, las API buscan en los directorios personalizados (definidos por el usuario). ÉlFontConfigsclass ha expuesto varias formas de establecer directorios de fuentes personalizados como se detalla a continuación.

  1. FontConfigs.setFontFolder: este método es útil si solo hay una carpeta para configurar.
  2. FontConfigs.setFontFolders: este método es útil cuando las fuentes residen en varias carpetas y el usuario desea configurar todas las carpetas por separado en lugar de combinar todas las fuentes en una sola carpeta.
  3. FontConfigs.setFontSources: este mecanismo es útil cuando el usuario desea cargar fuentes de varias carpetas o un solo archivo de fuentes o datos de fuentes de una matriz de bytes.

Mecanismo de sustitución de fuentes

Las API Aspose.Cells también brindan la capacidad de especificar la fuente sustituta para fines de representación. Este mecanismo es útil cuando una fuente requerida no está disponible en la máquina donde se debe realizar la conversión. Los usuarios pueden proporcionar una lista de nombres de fuentes como alternativa a la fuente requerida originalmente. Para lograr esto, las API Aspose.Cells han expuesto el método FontConfigs.setFontSubstitutes que acepta 2 parámetros. El primer parámetro es de tipoCadena , que debe ser el nombre de la fuente que debe sustituirse. El segundo parámetro es una matriz de tipoCadena. Los usuarios pueden proporcionar una lista de nombres de fuentes como sustitutos de la fuente original (especificada en el primer parámetro).

Aquí hay un escenario de uso simple.

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

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

Recopilación de información

Además de los métodos mencionados anteriormente, las API Aspose.Cells también han proporcionado medios para recopilar información sobre qué fuentes y sustituciones se han establecido.

  1. FontConfigs.getFontSources: este método devuelve una matriz de tipoFuenteFuenteBaseque contiene la lista de fuentes de fuentes especificadas. En caso de que no se hayan establecido fuentes, elFontConfigs.getFontSources devolverá una matriz vacía.
  2. FontConfigs.getFontSubstitutes: este método acepta un parámetro de tipoCadena permitiendo especificar el nombre de la fuente para la que se ha establecido la sustitución. En caso de que no se haya establecido ninguna sustitución para el nombre de fuente especificado, elFontConfigs.getFontSubstitutes método devolverá nulo.