C#を使用してExcelシートに透かしを追加する

さまざまなドキュメント画像、およびプレゼンテーションに透かしを入れる方法についてはすでに説明しました。今日は、.NETアプリケーションでC#を使用して、さまざまな方法でExcelブックに透かしを追加する方法について説明します。

以下のトピックについて説明します。

.NETAPIからExcelシートに透かしを入れる

GroupDocs.Watermarkは、さまざまなファイル形式のドキュメントと画像用の.NETAPIを提供します。 GroupDocs.Watermark for .NETを使用して、C#を使用したさまざまな方法でスプレッドシートに透かしを適用します。

DLLまたはMSIインストーラーは、ダウンロードセクションからダウンロードするか、NuGetから入手できます。

Install-Package GroupDocs.Watermark

C#を使用した透かしExcelシート

APIを使用すると、さまざまなカスタマイズで透かしとしてスプレッドシートにテキストを挿入できます。以下は、.NETアプリケーションでC#を使用してExcelワークブックに透かしを追加する手順です。

  • スプレッドシートの読み込みオプションを準備します。
  • ウォーターマーカーを使用してスプレッドシートを読み込みます。
  • TextWatermarkを使用して透かしのテキストと外観を定義します。
  • Add mehtodを使用して、Excelワークシートにテキスト透かしを追加します。
  • Saveメソッドを使用して、結果のスプレッドシートを透かし付きで保存します。

次のC#コードサンプルは、テキスト透かしをExcelブックのすべてのシートに回転と不透明度で適用します。

/*
 * C#を使用してExcelワークブックのすべてのシートに透かしを追加します
 */
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
using (Watermarker watermarker = new Watermarker(@"path/spreadsheet.xlsx", loadOptions))
{
    // ワークシートにテキスト透かしを追加します
    TextWatermark textWatermark = new TextWatermark("DRAFT", new Font("Arial", 100))
    {
        RotateAngle = -45,
        Height = 200,
        Width = 500,
        Opacity = .2,
        ForegroundColor = Color.DarkBlue
    };
    // 透かしを追加し、透かしの入ったスプレッドシートを保存します。
    watermarker.Add(textWatermark);
    watermarker.Save(@"path/allpages-watermark-spreadsheet.xlsx");
}

C#を使用した透かし固有のExcelシート

同様に、透かしは、ブックのすべてのシートに適用するのではなく、特定のシートにのみ適用できます。次の手順では、C#を使用してExcelブックの特定のシートにテキスト透かしを挿入する方法について説明します。

  • ロードオプションを準備します。
  • Watermarkerクラスを使用してスプレッドシートを読み込みます。
  • TextWatermarkクラスを使用して透かしの外観とテキストを定義します。
  • 透かしが上記のシートにのみ適用されるようにワークシートのインデックスを設定します。
  • 透かしオプション付きの追加方法を使用して、Excelワークシートにテキスト透かしを追加します。
  • Saveメソッドを使用して、透かしのある出力スプレッドシートを保存します。

次のコードスニペットは、Excelワークブックの言及されたシートにのみテキスト透かしを適用します。

/*
 * C#を使用して、Excelワークブックの上記のシートにのみ透かしを追加します
 */
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
using (Watermarker watermarker = new Watermarker(@"path/spreadsheet.xlsx", loadOptions))
{
    // ワークシートにテキスト透かしを追加します
    TextWatermark textWatermark = new TextWatermark("DRAFT", new Font("Arial", 100))
    {
        RotateAngle = -45,
        Height = 200,
        Width = 500,
        Opacity = .2,
        ForegroundColor = Color.DarkBlue
    };
    // ワークシートのインデックスを定義する
    SpreadsheetWatermarkShapeOptions textWatermarkOptions = new SpreadsheetWatermarkShapeOptions()
    {
        WorksheetIndex = 1
    };
    // 透かしを追加し、透かしの入ったスプレッドシートを保存します。    
    watermarker.Add(textWatermark, textWatermarkOptions);
    watermarker.Save(@"path/onepage-watermark-spreadsheet.xlsx");
}

C#を使用して背景として透かしExcelシート

同様に、スプレッドシートの背景として透かしを追加することもできます。透かしを適用する上記の手法から少し変更があります。以下は、C#を使用してExcelスプレッドシートに背景テキストの透かしを挿入できるようにする手順です。

  • スプレッドシートをロードするためのロードオプションを準備します。
  • ウォーターマーカーを使用してスプレッドシートを読み込みます。
  • TextWatermarkを使用して、透かしのテキストと外観(回転、位置、寸法、不透明度、色など) を定義します。
  • コンテンツを取得し、サイズを設定して、背景の透かしオプションを設定します。
  • 透かしを適用するワークシートのインデックスを設定します。 (オプション)
  • Addmehtodを使用してスプレッドシートに透かしを追加します。
  • 保存メソッドを使用して透かし付きのスプレッドシートを保存します。

次のコードサンプルは、.NETアプリケーション内でC#を使用してExcelスプレッドシートに背景透かしを追加する方法を示しています。

/*
 * C#を使用してExcelワークブックに透かしを背景として追加する
 */
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
using (Watermarker watermarker = new Watermarker(@"path/spreadsheet.xlsx", loadOptions))
{
    // 透かしの外観を定義する
    TextWatermark textWatermark = new TextWatermark("DRAFT", new Font("Arial", 100))
    {
        RotateAngle = -45,
        X = 200,
        Y = 200,
        Height = 200,
        Width = 500,
        Opacity = .2,
        ForegroundColor = Color.DarkBlue
    };
    // スプレッドシートのコンテンツの寸法を取得する
    SpreadsheetContent content = watermarker.GetContent<SpreadsheetContent>();
    SpreadsheetBackgroundWatermarkOptions options = new SpreadsheetBackgroundWatermarkOptions();
    options.BackgroundWidth = content.Worksheets[0].ContentAreaWidthPx; /* set background width */
    options.BackgroundHeight = content.Worksheets[0].ContentAreaHeightPx; /* set background height */
    options.WorksheetIndex = 0;

    // 透かしを追加し、透かしの入ったスプレッドシートを保存します。
    watermarker.Add(textWatermark, options);
    watermarker.Save(@"path/background-watermark-spreadsheet.xlsx");
}
プログラムで透かしExcelシート

無料のAPIライセンスを取得する

評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。

結論

要約すると、C#を使用してExcelシートに透かしを追加するさまざまな方法について説明しました。まず、Excelブックのすべてのシートにテキスト透かしを追加しました。次に、特定のシートにのみ透かしを適用しました。最後に、テキストベースの透かしを背景としてExcelブックに挿入しました。

APIの詳細については、製品ドキュメントにアクセスしてください。お問い合わせは、フォーラムまでお問い合わせください。

関連項目