Få varningar för teckensnittsersättning vid rendering av Excel fil

Skärmdumpen nedan visar den källa Excel-fil som används i följande kod. Den har lite text i cellerna A6 och A7 i teckensnitt som inte renderas väl av Microsoft Excel.

todo:image_alt_text

Aspose.Cells kommer att ersätta teckensnitten i cellerna A6 och A7 med lämpliga teckensnitt, som visas nedan.

todo:image_alt_text

Hämta källfilen och output-PDF

Du kan hämta den käll-Excel-filen och output-PDF från följande länkar

Följande kod implementerar IWarningCallback och ställer in PdfSaveOptions.setWarningCallback() metoden med det implementerade gränssnittet. Nu, när något teckensnitt kommer att ersättas i någon cell, kommer Aspose.Cells att avfyra en varning inuti WarningCallback.warning() metoden.

 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);

}

Varningsutdata

Efter att ha konverterat källfilen, utdata följande varningar till felsökningskonsolen:

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