C#を使用してWord文書にテキストまたは画像の透かしを追加する

C#開発者は、プログラムでWord文書にテキストまたは画像の透かしを簡単に追加できます。透かしは、テキストまたは画像の形式の一種のメッセージであり、通常、著作権情報、免責事項、ロゴ、スタンプ、または署名を表示することによってドキュメントを識別または保護するために使用されます。この記事では、C#を使用してWord文書にテキストまたは画像の透かしを追加する方法を学習します。

この記事では、次のトピックについて説明/取り上げています。

Word文書に透かしを追加するC#API

DOCまたはDOCXファイルにテキストまたは画像の透かしを追加するには、GroupDocs.Watermark for .NETAPIを使用します。 サポートされているファイル形式の画像とテキストの透かしを追加、編集、検索、削除できます。また、ファイルタイプ、サイズ、ページ数、ページの高さと幅など、ソースドキュメントに関する基本情報を取得できます。APIのドキュメントプレビュー機能を使用すると、ドキュメントの理解を深めるためにドキュメントページの画像表現を生成できます。

APIのDLLをダウンロードするか、NuGetを使用してインストールできます。

Install-Package GroupDocs.Watermark

C#を使用してWord文書にテキスト透かしを追加する

以下の手順に従って、Word文書にテキスト透かしを追加できます。

  • まず、Watermarkerクラスを使用してDOCXファイルをロードします。
  • Fontクラスを使用して、透かしテキストに使用するフォントを初期化します。
  • TextWatermarkクラスのインスタンスを作成して、テキスト透かしを作成します。透かしとして表示するテキストと入力パラメータとして定義されたフォントオブジェクトを渡します。
  • 次に、前景色、背景色、回転角度、高さ、幅、不透明度など、さまざまな透かしプロパティを設定します。
  • 次に、Watermarker.Add()メソッドを呼び出して、テキストの透かしをドキュメントに追加します。
  • 最後に、Watermarker.Save()メソッドを呼び出して、透かしを入れたWord文書を保存します。

次のコードサンプルは、C#を使用してDOCXファイルにテキスト透かしを追加する方法を示しています。

// クリエーターウォーターマーク
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// 透かしに使用するフォントを初期化します
Font font = new Font("Arial", 19, FontStyle.Bold | FontStyle.Italic);

// 透かしオブジェクトを作成します
TextWatermark watermark = new TextWatermark("Simple Text Watermark", font);

// 透かしのプロパティを設定する
watermark.ForegroundColor = Color.Red;
watermark.BackgroundColor = Color.Blue;
watermark.TextAlignment = TextAlignment.Right;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
watermark.VerticalAlignment = VerticalAlignment.Bottom;

// 透かしサイズを設定する
watermark.Width = 150;
watermark.Height = 40;

// 不透明度レベルを設定する
watermark.Opacity = 0.9;

// 透かしを追加する
watermarker.Add(watermark);

// 出力ファイルを保存します
watermarker.Save(@"C:\Files\Watermark\addTextWatermark_output.docx");
C#を使用してWord文書にテキスト透かしを追加します。

C#を使用してWord文書にテキスト透かしを追加する

C#を使用してWord文書に画像透かしを追加する

以下の手順に従って、Word文書に透かしとして画像を追加できます。

  • まず、Watermarkerクラスを使用してDOCXファイルをロードします。
  • 画像透かしを作成するには、画像パスを使用してImageWatermarkクラスのインスタンスを作成します。
  • 次に、配置、高さ、幅など、さまざまな透かしプロパティを設定します。
  • 次に、Watermarker.Add()メソッドを呼び出して、画像の透かしをドキュメントに追加します。
  • 最後に、Watermarker.Save()メソッドを呼び出して、透かしを入れたWord文書を保存します。

次のコードサンプルは、C#を使用してDOCXファイルに画像透かしを追加する方法を示しています。

// ウォーターマークを作成する
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// 透かしオブジェクトを作成します
ImageWatermark watermark = new ImageWatermark(@"C:\Files\Watermark\logo.png");

// 透かしの配置を設定する
watermark.HorizontalAlignment = HorizontalAlignment.Center;
watermark.VerticalAlignment = VerticalAlignment.Bottom;

// 透かしサイズを設定する
watermark.Width = 100;
watermark.Height = 100;

// 透かしを追加する
watermarker.Add(watermark);

// 出力ファイルを保存します
watermarker.Save(@"C:\Files\Watermark\AddImageWatermark_output.docx");
C#を使用してWord文書に画像透かしを追加します。

C#を使用してWord文書に画像透かしを追加する

C#を使用してWord文書の画像に透かしを入れる

以下の手順に従って、Word文書の画像にテキスト透かしを追加できます。

  • まず、Watermarkerクラスを使用してDOCXファイルをロードします。
  • TextWatermarkクラスのインスタンスを作成して、テキスト透かしを作成します。 Fontクラスを入力パラメーターとして使用して、透かしとして表示するテキストと透かしテキストに使用するフォントを渡します。
  • 次に、さまざまな透かしプロパティを設定します。たとえば、前景色、配置、回転角、スケール係数などです。
  • 次に、Watermarker.GetImages()メソッドを呼び出して、ドキュメント内のすべての画像を検索し、WatermarkableImageCollectionクラスオブジェクトで結果を取得します。
  • WatermarkableImageCollection内の画像ごとに、TextWatermarkオブジェクトを使用してWatermarkableImage.Add()メソッドを呼び出して、透かしを追加します。
  • 最後に、Watermarker.Save()メソッドを呼び出して、透かしを入れたWord文書を保存します。

次のコードサンプルは、C#を使用してDOCXファイルの画像にテキスト透かしを追加する方法を示しています。

// ウォーターマークを作成する
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// 作成者のテキスト透かし
TextWatermark watermark = new TextWatermark("Protected image", new Font("Arial", 8));

// 透かしのプロパティを設定する
watermark.ForegroundColor = Color.Black;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
watermark.VerticalAlignment = VerticalAlignment.Center;
watermark.RotateAngle = 45;
watermark.SizingType = SizingType.ScaleToParentDimensions;
watermark.ScaleFactor = 1;

// コンテンツ内のすべての画像を検索します。
WatermarkableImageCollection images = watermarker.GetImages();

// 透かしを追加します。
foreach (WatermarkableImage watermarkableImage in images)
{
    watermarkableImage.Add(watermark);
}

// 出力ファイルを保存します
watermarker.Save(@"C:\Files\Watermark\AddWatermarkToImages_output.docx");
C#を使用したWord文書の透かし画像。

C#を使用したWord文書の透かし画像。

C#を使用してWord文書の特定のページに透かしを追加する

以下の手順に従って、Word文書の特定のページに透かしを追加できます。

  • まず、Watermarkerクラスを使用してDOCXファイルをロードします。
  • Fontクラスを使用して、透かしテキストに使用するフォントを初期化します。
  • TextWatermarkクラスのインスタンスを作成して、テキスト透かしを作成します。透かしとして表示するテキストと入力パラメータとして定義されたフォントオブジェクトを渡します。
  • 次に、前景色、背景色、配置など、さまざまな透かしプロパティを設定します。
  • WordProcessingWatermarkPagesOptionsクラスのインスタンスを作成します
  • 次に、PageNumbersを設定して透かしを追加します。単一のページ番号またはページ番号のコンマ区切りリストを設定できます。ここでドキュメントの最後のページを示すWordProcessingContent.PageCountに設定します。
  • 次に、Watermarker.Add()メソッドを呼び出して、定義された透かしを追加します。
  • 最後に、Watermarker.Save()メソッドを呼び出して、透かしを入れたWord文書を保存します。

次のコードサンプルは、C#を使用してDOCXファイルの特定のページにテキスト透かしを追加する方法を示しています。

// ウォーターマークを作成する
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// テキスト透かしを作成する
TextWatermark watermark = new TextWatermark("This is simple watermark!", new Font("Arial", 26));

// 透かしのプロパティを設定する
watermark.ForegroundColor = Color.Red;
watermark.BackgroundColor = Color.Blue;
watermark.TextAlignment = TextAlignment.Right;

watermark.HorizontalAlignment = HorizontalAlignment.Left;
watermark.VerticalAlignment = VerticalAlignment.Top;

// 最後のページに透かしを追加します
WordProcessingContent content = watermarker.GetContent<WordProcessingContent>();
WordProcessingWatermarkPagesOptions options = new WordProcessingWatermarkPagesOptions();
options.PageNumbers = new int[] { content.PageCount };

// 透かしを追加する
watermarker.Add(watermark, options);

// 出力ファイルを保存します
watermarker.Save(@"C:\Files\Watermark\AddToSpecificPage_output.docx");

以下の手順に従って、Word文書のヘッダーセクションまたはフッターセクションに透かしを追加できます。

  • まず、Watermarkerクラスを使用してDOCXファイルをロードします。
  • 画像透かしを作成するには、画像パスを使用してImageWatermarkクラスのインスタンスを作成します。
  • 次に、配置、高さ、幅など、さまざまな透かしプロパティを設定します。
  • WordProcessingWatermarkSectionOptionsクラスのインスタンスを作成します。
  • 次に、WordProcessingWatermarkSectionOptions.SectionIndexを0に設定して、ドキュメントの最初のセクションに透かしを追加します。
  • 次に、Watermarker.Add()メソッドを呼び出して、画像の透かしを最初のセクションに追加します。
  • Watermarker.GetContent()メソッドを呼び出して、ロードされたドキュメントのコンテンツを取得し、WordProcessingContentクラスオブジェクトの結果を取得します。
  • すべてのセクションをループし、入力パラメーターとして真のブール値を使用してLinkToPrevious()メソッドを呼び出します。すべてのセクションのすべてのヘッダーとフッターを最初のセクションにリンクします。
  • 最後に、Watermarker.Save()メソッドを呼び出して、透かしを入れたWord文書を保存します。

次のコードサンプルは、C#を使用してDOCXファイルのヘッダーまたはフッターセクションに透かしを追加する方法を示しています。

// ウォーターマークを作成する
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// 画像透かしを作成する
using (ImageWatermark watermark = new ImageWatermark(@"C:\Files\Watermark\logo.png"))
{
    // 透かしのプロパティを設定する
    watermark.Height = 100;
    watermark.Width = 100;
    watermark.HorizontalAlignment = HorizontalAlignment.Right;

    // 最初のセクションのすべてのヘッダーに透かしを追加します
    WordProcessingWatermarkSectionOptions options = new WordProcessingWatermarkSectionOptions();
    options.SectionIndex = 0;
    watermarker.Add(watermark, options);
}

// 他のすべてのヘッダーとフッターを最初のセクションの対応するヘッダーとフッターにリンクします
WordProcessingContent content = watermarker.GetContent<WordProcessingContent>();
for (int i = 1; i < content.Sections.Count; i++)
{
    content.Sections[i].HeadersFooters.LinkToPrevious(true);
}

// 出力ファイルを保存します
watermarker.Save(@"C:\Files\Watermark\AddWatermarkToHeadersFooters_output.docx");
C#を使用してWord文書のヘッダーまたはフッターに透かしを追加します。

C#を使用してWord文書のヘッダーまたはフッターに透かしを追加します。

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

無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。

結論

この記事では、C#を使用してWord文書にテキストまたは画像の透かしを追加する方法を学習しました。さらに、プログラムでWord文書の特定のページに透かしを追加する方法を見てきました。この記事では、C#を使用してDOCXファイルの画像に透かしを追加する方法についても説明しました。さらに、ドキュメントを使用して、GroupDocs.Watermark for.NETAPIについて詳しく知ることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目