Set Default Font while rendering spreadsheet to images
Contents
[
Hide
]
Please use the ImageOrPrintOptions.DefaultFont property to set the default font while rendering spreadsheet to images. This property will only be effective when the default font of workbook could not render your characters. The default font specified with ImageOrPrintOptions.DefaultFont property is used for all those cells which have invalid or non-existent fonts.
Set Default Font while rendering spreadsheet to images
The following sample code creates a workbook, adds some text in cell A4 of the first worksheet and sets its font to invalid or non-existent font. Then, it takes two images of the worksheet. The first image is taken by setting the ImageOrPrintOptions.DefaultFont property to Courier New and the second image is taken by setting the ImageOrPrintOptions.DefaultFont property to Times New Roman.
This is the output image after setting the ImageOrPrintOptions.DefaultFont property to Courier New.
This is the output image after setting the ImageOrPrintOptions.DefaultFont property to Times New Roman.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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"); |