Получение предупреждений о замене шрифта при рендеринге файла Excel

На снимке экрана ниже показан исходный файл Excel, используемый в следующем коде. В ячейках A6 и A7 есть некоторый текст со шрифтами, которые плохо отображаются в Microsoft Excel.

дело:изображение_альтернативный_текст

Aspose.Cells заменит шрифты в ячейках A6 и A7 подходящими шрифтами, как показано ниже.

дело:изображение_альтернативный_текст

Скачать исходный файл и вывод PDF

Вы можете скачать исходный файл Excel и вывод PDF по следующим ссылкам.

Следующий код реализуетIWarningCallback и установитеPdfSaveOptions.setWarningCallback() метод с реализованным интерфейсом. Теперь всякий раз, когда какой-либо шрифт будет заменен в любой ячейке, Aspose.Cells вызовет предупреждение внутри метода 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);

}

Вывод предупреждений

После преобразования исходного файла в консоль отладки выводятся следующие предупреждения:

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 ].