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

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

todo:image_alt_text

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

todo:image_alt_text

Скачать исходный файл и 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 ].