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