Obtener Advertencias por Sustitución de Fuentes al Renderizar un Archivo de Excel
A veces, al renderizar archivos de Microsoft Excel a PDF, Aspose.Cells sustituye las fuentes. Aspose.Cells proporciona una función que permite a los desarrolladores saber que una fuente en particular ha sido sustituida mediante la emisión de una advertencia. Esta es una característica útil que puede ayudarte a identificar por qué el PDF renderizado por Aspose.Cells es diferente al archivo de Excel actual y luego puedes tomar acciones apropiadas. Por ejemplo, puedes instalar las fuentes faltantes para que los resultados del renderizado se vean iguales.
Si deseas obtener las advertencias por sustitución de fuentes al renderizar un archivo de Excel a PDF, implementa la interfaz IWarningCallback y establece el método setWarningCallback() de PdfSaveOptions con tu interfaz implementada.
La captura de pantalla a continuación muestra el archivo de Excel fuente utilizado en el siguiente código. Tiene algo de texto en las celdas A6 y A7 en fuentes que no son renderizadas correctamente por Microsoft Excel.
Aspose.Cells sustituirá las fuentes en las celdas A6 y A7 con fuentes adecuadas como se muestra a continuación.
Descargar Archivo Fuente y PDF de Salida
Puedes descargar el archivo de Excel fuente y el PDF de salida desde los siguientes enlaces
El siguiente código implementa el IWarningCallback y establece el método PdfSaveOptions.setWarningCallback() con la interfaz implementada. Ahora, cada vez que se sustituya alguna fuente en cualquier celda, Aspose.Cells emitirá una advertencia dentro del método WarningCallback.warning().
public class WarningCallback implements IWarningCallback {
@Override
public void warning(WarningInfo info) {
if(info.getWarningType() == WarningType.FONT_SUBSTITUTION)
{
System.out.println("WARNING INFO: " + info.getDescription());
}
}
}
//........
//........
static void Run() throws Exception
{
Workbook workbook = new Workbook("source.xlsx");
PdfSaveOptions options = new PdfSaveOptions();
options.setWarningCallback(new WarningCallback());
workbook.save("output.pdf", options);
}
Salida de Advertencias
Después de convertir el archivo fuente, las siguientes advertencias se emiten en la consola de depuración:
WARNING INFO: Font substitution: Font [ Athene Logos; Regular ] has been substituted in Cell [ A6 ] in Sheet [ Sheet1 ].
WARNING INFO: Font substitution: Font [ B Traffic; Regular ] has been substituted in Cell [ A7 ] in Sheet [ Sheet1 ].