ExcelをPDFに C#

Microsoft Excelはスプレッドシート管理のための重要なツールです。しかし、報告書を共有したり、フォーマットを保持したりするためにExcelシートをPDFに変換する必要がある場合があります。このブログ記事では、C#を使用してExcelシートをPDFに変換する方法と、変換プロセスのさまざまなカスタマイズオプションについて探ります。

目次

C# ExcelからPDFへの変換ライブラリ

Aspose.Cells for .NET APIは、ExcelスプレッドシートをPDFに変換するプロセスを簡素化します。APIのDLLをダウンロードするか、NuGet経由で直接インストールできます:

PM> Install-Package Aspose.Cells

Excel XLSをPDFに変換する手順

Aspose.Cells for .NETを使用すると、ExcelファイルをPDFに変換するのは簡単です。手順は以下の通りです:

  1. ディスクからExcelファイルをロードします。
  2. 希望の場所にPDFとして保存します。

これをC#コードで実装する方法を見てみましょう。

C#でExcel XLSXをPDFに変換する

Aspose.Cells for .NETを使用すると、次の手順でExcelファイルをPDFに簡単に変換できます:

  1. 変換したいExcel文書でWorkbookクラスをインスタンス化します。
  2. SaveFormat列挙型を使用して保存形式を指定し、文書をPDF形式で保存します。

以下は、C#でExcel XLSファイルをPDFに変換する方法を示すコードスニペットです:

// ExcelファイルでWorkbookオブジェクトをインスタンス化
Workbook workbook = new Workbook("SampleExcel.xls");

// 文書をPDF形式で保存
workbook.Save("outputPDF.pdf", SaveFormat.Pdf);

ExcelをPDF/A形式に変換する

PDF/Aは、長期保存のために設計されたISO標準化されたPDFのバージョンです。この形式でファイルを保存することで、時間が経ってもアクセス可能であることが保証されます。

C#でExcelワークブックをPDF/A準拠形式に変換する方法は以下の通りです:

// 新しいワークブックをインスタンス化
Workbook workbook = new Workbook();

// セルA1に値を挿入
workbook.Worksheets[0].Cells[0, 0].PutValue("PDF/Aのテスト");

// PdfSaveOptionsを定義
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();

// 準拠タイプを設定
pdfSaveOptions.Compliance = PdfCompliance.PdfA1b;

// ファイルを保存
workbook.Save(dataDir + "output.pdf", pdfSaveOptions);

C#でExcelからPDFへの変換を追跡する

Aspose.Cells for .NETでは、IPageSavingCallbackインターフェースを使用して変換進捗を追跡できます。このインターフェースを実装するカスタムクラスを作成し、そのインスタンスをPdfSaveOptions.PageSavingCallbackプロパティに割り当てることができます。

以下は、ExcelからPDFへの変換進捗を追跡する方法を示すコードスニペットです:

// ワークブックをロード
Workbook workbook = new Workbook("PagesBook1.xlsx");

PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();

// IPageSavingCallbackインターフェースを実装するカスタムクラスを割り当て
pdfSaveOptions.PageSavingCallback = new TestPageSavingCallback();

workbook.Save("DocumentConversionProgress.pdf", pdfSaveOptions);

以下は、変換プロセスを追跡するためのIPageSavingCallbackインターフェースを実装するカスタムクラスです:

public class TestPageSavingCallback : IPageSavingCallback
{
    public void PageStartSaving(PageStartSavingArgs args)
    {
        Console.WriteLine("ページインデックス {0} の保存を開始、ページ数 {1}", args.PageIndex, args.PageCount);

        // ページインデックス2より前のページはレンダリングされません。
        if (args.PageIndex < 2)
        {
            args.IsToOutput = false;
        }
    }

    public void PageEndSaving(PageEndSavingArgs args)
    {
        Console.WriteLine("ページインデックス {0} の保存が終了、ページ数 {1}", args.PageIndex, args.PageCount);

        // ページインデックス8以降のページはレンダリングされません。
        if (args.PageIndex >= 8)
        {
            args.HasMorePages = false;
        }
    }
}

オンラインExcelからPDFコンバータ

私たちのAspose.Cellsによって駆動されるオンラインExcelからPDFコンバータアプリを利用することもできます。この無料アプリはサインアップを必要とせず、迅速な変換のための便利なオプションです。

無料C# ExcelからPDFコンバータを取得する

無料の一時ライセンスを取得することで、評価制限なしにAspose.Cells for .NETを使用できます。

結論

ExcelシートをPDFに変換することは、さまざまなビジネスや開発シナリオで一般的な要件です。Aspose.Cells for .NET APIはこのプロセスを簡素化し、C#アプリケーション内での変換を自動化できるようにします。このブログ記事では、C#でExcelシートをPDFに変換する方法と、さまざまなカスタマイズオプションについて説明しました。質問がある場合は、フォーラムを通じてお気軽にお問い合わせください。

関連情報