将 PdfSaveOptions 和 ImageOrPrintOptions 的 DefaultFont 属性设置为优先

可能的使用场景

同时设置默认字体的财产Pdf保存选项图像或打印选项,您可能希望保存到 PDF 或图像会设置默认字体工作簿中所有缺少(未安装)字体的文本。

一般在保存到PDF或者图片时,Aspose.Cells会先尝试设置Workbook的默认字体(即,工作簿.DefaultStyle.Font ).如果工作簿的默认字体仍然无法正确显示/呈现文本,则 Aspose.Cells 将尝试使用提到的字体呈现默认字体属性在Pdf保存选项/图像或打印选项.

为了满足您的期望,我们有一个名为“检查工作簿默认字体“ 在Pdf保存选项/图像或打印选项.您可以将其设置为 false 以禁用尝试工作簿的默认字体或让默认字体置入Pdf保存选项/图像或打印选项有优先权。

设置 PdfSaveOptions/ImageOrPrintOptions 的 DefaultFont 属性

以下示例代码打开一个 Excel 文件。 A1 单元格(在第一个工作表中)的文本设置为“Christmas Time Font text”。字体名称是计算机上未安装的“Christmas Time Personal Use”。我们设置默认字体的属性Pdf保存选项/图像或打印选项到“时代新罗马”。我们还设置检查工作簿默认字体布尔属性为“错误的“这确保 A1 单元格的文本以“Times New Roman”字体呈现,并且不应使用工作簿的默认字体(在本例中为“Calibri”)。代码将第一个工作表呈现为 PNG 和 TIFF 图像格式。它最终呈现为 PDF 文件格式。

这是截图模板文件在示例代码中使用。

待办事项:图片_替代_文本

这是设置后的输出 PNG 图像ImageOrPrintOptions.DefaultFont属性为“Times New Roman”。

待办事项:图片_替代_文本

查看输出TIFF设置后的图像ImageOrPrintOptions.DefaultFont属性为“Times New Roman”。

查看输出PDF设置后的文件PdfSaveOptions.DefaultFont属性为“Times New Roman”。

示例代码

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String srcDir = Utils.Get_SourceDirectory();
String outDir = Utils.Get_OutputDirectory();
// Open an Excel file.
Workbook workbook = new Workbook(
srcDir + "sampleSetDefaultFontPropertyOfPdfSaveOptionsAndImageOrPrintOptions.xlsx");
// Rendering to PNG file format while setting the
// CheckWorkbookDefaultFont attribute to false.
// So, "Times New Roman" font would be used for any missing (not
// installed) font in the workbook.
ImageOrPrintOptions imgOpt = new ImageOrPrintOptions();
imgOpt.setImageType(ImageType.PNG);
imgOpt.setCheckWorkbookDefaultFont(false);
imgOpt.setDefaultFont("Times New Roman");
SheetRender sr = new SheetRender(workbook.getWorksheets().get(0), imgOpt);
sr.toImage(0, outDir + "outputSetDefaultFontProperty_ImagePNG.png");
// Rendering to TIFF file format while setting the
// CheckWorkbookDefaultFont attribute to false.
// So, "Times New Roman" font would be used for any missing (not
// installed) font in the workbook.
imgOpt.setImageType(ImageType.TIFF);
WorkbookRender wr = new WorkbookRender(workbook, imgOpt);
wr.toImage(outDir + "outputSetDefaultFontProperty_ImageTIFF.tiff");
// Rendering to PDF file format while setting the
// CheckWorkbookDefaultFont attribute to false.
// So, "Times New Roman" font would be used for any missing (not
// installed) font in the workbook.
PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.setDefaultFont("Times New Roman");
saveOptions.setCheckWorkbookDefaultFont(false);
workbook.save(outDir + "outputSetDefaultFontProperty_PDF.pdf", saveOptions);