PdfSaveOptionsおよびImageOrPrintOptionsのDefaultFontプロパティを設定し、優先度を持たせます。

可能な使用シナリオ

PdfSaveOptions および ImageOrPrintOptionsDefaultFont プロパティを設定する際には、フォントが見つからない(インストールされていない)場合に、ワークブック全体のテキストにそのDefaultFontを設定すると期待されるかもしれません。

通常、PDFまたは画像に保存する際、Aspose.Cells はまずワークブックのデフォルトのフォント(すなわち、Workbook.DefaultStyle.Font )を設定しようとします。ワークブックのデフォルトのフォントでもテキストを適切に表示/レンダリングできない場合は、PdfSaveOptions/ImageOrPrintOptionsで指定されたDefaultFont属性で再度表示を試みます。

この期待に対処するために、PdfSaveOptions/ImageOrPrintOptions には “CheckWorkbookDefaultFont” というブール型のプロパティがあります。このプロパティを false に設定すると、ワークブックのデフォルトのフォントを試行しないようになり、また PdfSaveOptions/ImageOrPrintOptions のDefaultFont設定が優先されます。

PdfSaveOptions/ImageOrPrintOptionsのDefaultFontプロパティを設定します

次のサンプルコードでは、Excelファイルを開きます。最初のワークシートのA1セルに"Christmas Time Font text"のテキストが設定されています。フォント名はマシンにインストールされていない"Christmas Time Personal Use"です。DefaultFont属性をPdfSaveOptions/ImageOrPrintOptionsに"Times New Roman"に設定します。また、CheckWorkbookDefaultFont ブール型のプロパティを “false” に設定しており、A1セルのテキストが"Calibri")ワークブックのデフォルトフォントを使用しないで"Times New Roman"フォントで表示され、PNGおよびTIFF画像形式にワークシートをレンダリングします。最終的には、PDFファイル形式にレンダリングします。

これは、例コードで使用されている テンプレートファイルのスクリーンショットです。

todo:image_alt_text

これは、DefaultFont プロパティを “Times New Roman” に設定した後の出力PNGイメージです。

todo:image_alt_text

“Times New Roman” にImageOrPrintOptions.DefaultFont プロパティを設定した後の出力 TIFF 画像をご覧ください。

“Times New Roman” にPdfSaveOptions.DefaultFont プロパティを設定した後の出力 PDF ファイルをご覧ください。

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Open an Excel file.
Workbook workbook = new Workbook(sourceDir + "sampleSetDefaultFontPropertyOfPdfSaveOptionsAndImageOrPrintOptions.xlsx");
//Rendering to PNG file format while setting the CheckWorkbookDefaultFont attribue to false.
//So, "Times New Roman" font would be used for any missing (not installed) font in the workbook.
ImageOrPrintOptions imgOpt = new ImageOrPrintOptions();
imgOpt.ImageType = ImageType.Png;
imgOpt.CheckWorkbookDefaultFont = false;
imgOpt.DefaultFont = "Times New Roman";
SheetRender sr = new SheetRender(workbook.Worksheets[0], imgOpt);
sr.ToImage(0, outputDir + "out1_imagePNG.png");
//Rendering to TIFF file format while setting the CheckWorkbookDefaultFont attribue to false.
//So, "Times New Roman" font would be used for any missing (not installed) font in the workbook.
imgOpt.ImageType = ImageType.Tiff;
WorkbookRender wr = new WorkbookRender(workbook, imgOpt);
wr.ToImage(outputDir + "out1_imageTIFF.tiff");
//Rendering to PDF file format while setting the CheckWorkbookDefaultFont attribue to false.
//So, "Times New Roman" font would be used for any missing (not installed) font in the workbook.
PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.DefaultFont = "Times New Roman";
saveOptions.CheckWorkbookDefaultFont = false;
workbook.Save(outputDir + "out1_pdf.pdf", saveOptions);