PdfSaveOptionsおよびImageOrPrintOptionsのDefaultFontプロパティを設定し、優先度を持たせます。
可能な使用シナリオ
PdfSaveOptions および ImageOrPrintOptions の DefaultFont プロパティを設定する際には、フォントが見つからない(インストールされていない)場合に、ワークブック全体のテキストにその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ファイル形式にレンダリングします。
これは、例コードで使用されている テンプレートファイルのスクリーンショットです。
これは、DefaultFont プロパティを “Times New Roman” に設定した後の出力PNGイメージです。
“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); |