Establecer fuente predeterminada al renderizar la hoja de cálculo a imágenes con C++
Establecer fuente predeterminada al renderizar la hoja de cálculo a imágenes
El siguiente código de muestra crea un libro de trabajo, agrega texto en la celda A4 de la primera hoja de trabajo y establece su fuente en una fuente inválida o inexistente. Luego, toma dos imágenes de la hoja de cálculo. La primera imagen se toma estableciendo la propiedad ImageOrPrintOptions.GetDefaultFont() en Courier New y la segunda imagen se toma estableciendo la propiedad ImageOrPrintOptions.GetDefaultFont() en Times New Roman.
Esta es la imagen de salida después de establecer la propiedad ImageOrPrintOptions.GetDefaultFont() en Courier New.
Esta es la imagen de salida después de establecer la propiedad ImageOrPrintOptions.GetDefaultFont() en Times New Roman.
Código de Muestra
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Drawing;
int main() {
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create workbook object
Workbook wb;
// Set default font of the workbook to none
Style s = wb.GetDefaultStyle();
s.GetFont().SetName(u"");
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(u"A4");
cell.PutValue(u"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(u"UnknownNotExist");
st.GetFont().SetSize(20);
st.SetIsTextWrapped(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;
opts.SetOnePagePerSheet(true);
opts.SetImageType(ImageType::Png);
// Render worksheet image with Courier New as default font
opts.SetDefaultFont(u"Courier New");
SheetRender sr(ws, opts);
sr.ToImage(0, outDir + u"out_courier_new_out.png");
// Render worksheet image again with Times New Roman as default font
opts.SetDefaultFont(u"Times New Roman");
SheetRender sr2(ws, opts);
sr2.ToImage(0, outDir + u"times_new_roman_out.png");
Aspose::Cells::Cleanup();
return 0;
}