DioDocs for Excelでは、PdfSaveOptionsクラスのPagePrintingイベントとPagePrintedイベントを使用して、ワークブックをPDFにエクスポートする時の進行状況を追跡できます。PagePrintingイベントは、ページが印刷される前に発生し、エクスポート中にページをスキップするためにSkipThisPageプロパティを提供します。同様に、PagePrintedイベントはページの印刷後に発生し、PDFへのエクスポートを終了するためにHasMorePagesプロパティを提供します。
ワークブックをPDFにエクスポートする時の進行状況を表示する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
// PDFファイルストリームを作成します FileStream outputStream = new FileStream("pageprinteventstrackprogress.pdf", FileMode.Create); // ワークブックを初期化します var workbook = new Workbook(); var activeSheet = workbook.ActiveSheet; activeSheet.Range["A1"].Value = 1; activeSheet.Range["A2:A100"].FormulaR1C1 = "=R[-1]C+1"; var options = new PdfSaveOptions(); options.PagePrinting += (sender, e) => Console.WriteLine($"Printing page {e.PageNumber} of {e.PageCount}"); activeSheet.PageSetup.CenterHeader = "Page &P of &N"; workbook.Save(outputStream, options); // PDFストリームを閉じます outputStream.Close(); |
ワークブックをPDFにエクスポートする時に2ページ目をスキップする方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
// PDFファイルストリームを作成します FileStream outputStream = new FileStream("pageprinteventsskippage.pdf", FileMode.Create); // ワークブックを初期化します var workbook = new GrapeCity.Documents.Excel.Workbook(); var activeSheet = workbook.ActiveSheet; activeSheet.Range["A1"].Value = 1; activeSheet.Range["A2:A100"].FormulaR1C1 = "=R[-1]C+1"; var options = new PdfSaveOptions(); // 2ページ目をスキップします options.PagePrinting += (sender, e) => { if (e.PageNumber == 2) { e.SkipThisPage = true; } }; activeSheet.PageSetup.CenterHeader = "Page &P of &N"; workbook.Save(outputStream, options); // PDFストリームを閉じます outputStream.Close(); |
2ページ目以降のPDFエクスポートを終了する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//PDFファイルストリームを作成します FileStream outputStream = new FileStream("pageprinteventsexitprinting.pdf", FileMode.Create); //ワークブックを初期化します var workbook = new GrapeCity.Documents.Excel.Workbook(); var activeSheet = workbook.ActiveSheet; activeSheet.Range["A1"].Value = 1; activeSheet.Range["A2:A100"].FormulaR1C1 = "=R[-1]C+1"; var options = new PdfSaveOptions(); //2ページ目以降の印刷処理を終了します options.PagePrinted += (sender, e) => { if (e.PageNumber == 2) { e.HasMorePages = false; } }; activeSheet.PageSetup.CenterHeader = "Page &P of &N"; workbook.Save(outputStream, options); //PDFストリームを閉じます outputStream.Close(); |