Установить шрифт по умолчанию при преобразовании электронной таблицы в изображения

Установите шрифт по умолчанию при отображении электронной таблицы в изображения

В следующем примере код создается рабочая книга, добавляется некоторый текст в ячейку A4 первого листа и устанавливается ее шрифт как недопустимый или отсутствующий шрифт. Затем создаются два изображения листа. Первое изображение создается с установкой свойства ImageOrPrintOptions.DefaultFont Courier New, а второе изображение создается с установкой свойства ImageOrPrintOptions.DefaultFont Times New Roman.

Это выходное изображение после установки свойства ImageOrPrintOptions.DefaultFont на Courier New.

todo:image_alt_text

Это выходное изображение после установки свойства ImageOrPrintOptions.DefaultFont на Times New Roman.

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Directory path where output HTML files are to be saved
String dataDir = Utils.getSharedDataDir(SetDefaultFontWhileRenderingSpreadsheetToImages.class) + "Conversion/";
//Create workbook object.
Workbook wb = new Workbook();
//Set default font of the workbook to none
Style s = wb.getDefaultStyle();
s.getFont().setName("");
wb.setDefaultStyle(s);
//Access first worksheet.
Worksheet ws = wb.getWorksheets().get(0);
//Access cell A4 and add some text inside it.
Cell cell = ws.getCells().get("A4");
cell.putValue("This text has some unknown or invalid font which does not exist.");
//Set the font of cell A4 which is unknown.
Style st = cell.getStyle();
st.getFont().setName("UnknownNotExist");
st.getFont().setSize(20);
st.setTextWrapped(true);
cell.setStyle(st);
//Set first column width and fourth column height
ws.getCells().setColumnWidth(0, 80);
ws.getCells().setRowHeight(3, 60);
//Create image or print options.
ImageOrPrintOptions opts = new ImageOrPrintOptions();
opts.setOnePagePerSheet(true);
opts.setImageFormat(ImageFormat.getPng());
//Render worksheet image with Courier New as default font.
opts.setDefaultFont("Courier New");
SheetRender sr = new SheetRender(ws, opts);
sr.toImage(0, dataDir + "out_courier_new.png");
//Render worksheet image again with Times New Roman as default font.
opts.setDefaultFont("Times New Roman");
sr = new SheetRender(ws, opts);
sr.toImage(0, dataDir + "out_times_new_roman.png");