DioDocs for Excelでは、ワークブックをPDF形式で保存する際に、フォントとスタイルを設定することができます。
期待通りのPDF出力結果を得るためには、ワークブックで利用しているフォントに物理的にアクセスできる状態にすることが重要です。例えば、ワークブックで利用中のフォントにアクセスできない、そもそも利用中のフォントが存在しない、などの場合には、PDFファイルと元のExcelファイルの表示結果が一致しなくなる恐れがあります。
ワークブックで利用中のフォントは、IWorkbook インタフェースの GetUsedFonts() メソッドを使用して取得することができます。
PDF保存時に使用するフォントを明示的に指定するには、該当のフォントファイルを任意のフォルダに格納し、そのフォルダパスを Workbook クラスの FontsFolderPath プロパティに設定します。この方法は、必要なフォントを追加でインストールすることが難しいサーバーレスやPaaSなどのクラウド環境の場合に特に有効です。それ以外の環境の場合、システムにフォントをインストールする方法も有効です。
PDF保存時にDioDocs for Excelが使用するフォント(優先度順)は次のようになります。
該当するフォントがない場合、DioDocs for Excelは「使用可能なフォントがありません。Workbook.FontFolderPath プロパティに有効なパスを設定してください。」という例外をスローします。使用するフォントに関する詳細は「PDFエクスポート時に使用されるフォントについて」をご確認ください。
PDF への保存時にフォントとスタイルを設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//ワークブックを作成し、2シートを追加します Workbook workbook = new Workbook(); IWorksheet sheet1 = workbook.Worksheets[0]; IWorksheet sheet2 = workbook.Worksheets.Add(); //スタイルを設定します sheet1.Range["A1"].Value = "Sheet1"; sheet1.Range["A1"].Font.Name = "Wide Latin"; sheet1.Range["A1"].Font.Color = Color.Red; sheet1.Range["A1"].Interior.Color = Color.Green; //sheet1にテーブルを作成します sheet1.Tables.Add(sheet1.Range["C1:E5"], true); sheet2.Range["A1"].Value = "Sheet2"; //フォントのパスを指定します Workbook.FontsFolderPath = @"D:\Fonts"; //ワークブックで使用したフォントのリストを取得する、リストは「Wide Latin」、「Calibri」です var fonts = workbook.GetUsedFonts(); //PDFファイルにブックをエクスポートし、エクスポートされたファイルには2ページあります workbook.Save(@"D:\workbook.pdf", SaveFileFormat.Pdf); //sheet1をpdfファイルにエクスポートします sheet1.Save(@"D:\sheet1.pdf", SaveFileFormat.Pdf); |
メモ:PDF へのエクスポートでは、次のスタイルはサポートされていません。
a)下線の「下線(会計)」/「二重下線(会計)」、文字飾りの「上付き」/「下付き」
b)文字の配置の「繰り返し」、文字列の角度、文字の方向
c)塗りつぶし(グラデーション)の種類「四角」