DioDocs for Excel
DioDocs for Excel
改ページで行の1つにまとめる
ファイル操作 > PDF ファイルへのエクスポート > 改ページの制御 > 改ページで行の1つにまとめる

DioDocs for Excelでは、PDFファイルへエクスポートする際に改ページがあってもいくつかの行を常ににまとめて表示することができます。

本機能は、PDFにエクスポートするワークシートには、データが多数の行に含まれる場合に特に役立ちます。たとえば、概して非表示になっている行グループを持つスプレッドシートがあるとします。隠れているこの行グループが印刷時に表示され、ページ数や改ページに影響します。このようなスプレッドシートをエクスポートする際、印刷時にある行のグループを改ページによって分割せず、まとめた状態でPDFにエクスポートする際、本機能で内容を正確に発行することができます。

改ページでもある行のグループをまとめて表示するには、最初にまとめて表示させる対象の行のセル範囲を作成する必要があります。そして、PrintManager クラスのインスタンスを作成し、Paginate() メソッドを使用します。最後に SavePDF() メソッドを使用してPDFファイルを保存します。 

コードの使用

次のサンプルコードは、PDFファイルへエクスポートする際、改ページでもある行のグループを分割せず、まとめて表示する方法を示します。

C#
コードのコピー
//ワークブックを初期化します
Workbook workbook = new Workbook();
        
//Excelファイルを開きます
workbook.Open("KeepTogether.xlsx");
        
//既定のワークシートを取得します
IWorksheet worksheet = workbook.Worksheets[0];

/*デフォルトの改ページの1ページ目は1行目から36行目まで、
  2ページ目は37行目から73行目までです。*/
IList<IRange> keepTogetherRanges = new List<IRange>();
        
/*37行目と38行目をまとめて表示する必要があるとします。 
  この場合、改ページの結果は、最初のページは1行目から35行目まで、
  2ページ目は36行目から73行目までで表示するようにします*/
keepTogetherRanges.Add(worksheet.Range["36:37"]);

//PrintManagerクラスのインスタンスを作成します
PrintManager printManager = new PrintManager();

//ワークシートの改ページ情報を取得しますt
IList<PageInfo> pages = 
printManager.Paginate(worksheet, keepTogetherRanges, null);

//変更されたページをPDFファイルに保存します
printManager.SavePDF(@"KeepTogether.pdf", pages);