C# で REST API を使用して Word ドキュメントにウォーターマークを追加する

クラウド上でプログラムを使用して、テキストまたは画像を透かしとして Word 文書に追加できます。ウォーターマークは、文書の作成者や、著作権やロゴなどのその他の情報を識別するために使用されます。通常、ウォーターマークは、文書内に配置された画像、ロゴ、パターン、またはテキストを重ね合わせた形で使用されます。この記事では、C# の REST API を使用して Word 文書にウォーターマークを追加する方法を学習します。

この記事では次のトピックについて説明します。

ウォーターマーク REST API と .NET SDK

DOCX ファイルにテキストまたは画像のウォーターマークを追加するには、GroupDocs.Watermark Cloud の .NET SDK API を使用します。 PDF、Microsoft Word、Powerpoint などのサポートされているファイル形式の画像やドキュメントの透かしをプログラムで追加、削除、検索、置換できます。さらに、要件に応じてテキストのスタイル、フォント、サイズ、色、または位置を指定することで、透かしのカスタマイズを制御できます。現在、クラウド API 用の Java SDK も提供しています。

NuGet パッケージ マネージャーから、またはパッケージ マネージャー コンソールで次のコマンドを使用して、GroupDocs.Watermark Cloud を Visual Studio プロジェクトにインストールできます。

Install-Package GroupDocs.Watermark-Cloud

上記の手順に従う前に、ダッシュボード からクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

string clientId = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5";
string clientSecret = "479db2b01dcb93a3d4d20efb16dea971";
string myStorage = "";

var configuration = new Configuration(clientId, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

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

以下に説明する簡単な手順に従って、プログラムを使用して Word 文書に任意のテキストを透かしとして追加できます。

ドキュメントをアップロードする

まず、以下のコード例を使用して、Word ドキュメントをクラウドにアップロードします。

// APIを初期化する
var fileApi = new FileApi(configuration);

// ファイルを開く
var fileStream = File.Open(@"C:\Files\sample.docx", FileMode.Open);

// ファイルアップロードリクエストを作成する
var request = new UploadFileRequest("sample.docx", fileStream, MyStorage);

// ファイルをアップロードする
fileApi.UploadFile(request);
fileStream.Close();

その結果、DOCX ファイルがクラウド ストレージにアップロードされ、ダッシュボードの ファイル セクション で利用できるようになります。

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

以下の手順に従って、プログラムで DOCX ファイルにテキストの透かしを追加できます。

  • WatermarkApi のインスタンスを作成する
  • FileInfo のインスタンスを作成する
  • DOCXファイルのパスを設定します。
  • WatermarkOptions を作成し、FileInfo を設定します
  • テキストウォーターマークの作成オプション
  • テキスト、フォント ファミリー、フォント サイズ、およびテキストの配置を設定する
  • 透かしテキストの前景色を設定します
  • ウォーターマークの位置を定義する
  • WatermarkDetails を定義し、TextWatermarkOptions と Position を設定します
  • WatermarkOptions を使用して AddRequest を作成する
  • WatermarkApi.add() メソッドを呼び出して結果を取得します

次のコード サンプルは、C# の REST API を使用して Word 文書にテキストを透かしとして追加する方法を示しています。

// APIを初期化する
var apiInstance = new WatermarkApi(configuration);

// 入力ファイルのパス
var fileInfo = new FileInfo
{
    FilePath = "sample.docx"
};

// 透かしオプションを作成する
var options = new WatermarkOptions()
{
    FileInfo = fileInfo,
    
    // 透かしの詳細を定義する
    WatermarkDetails = new List<WatermarkDetails>
    {
        new WatermarkDetails
        {
            // テキストの透かしを定義する
            TextWatermarkOptions = new TextWatermarkOptions
            {
                Text = "Copyright© 2021",
                FontFamilyName = "Arial",
                FontSize = 22d,
                TextAlignment = "Center",
                ForegroundColor = new Color()
                {
                    Name = "Red"
                }
            },

            // ウォーターマークの位置を設定する
            Position = new Position()
            {
                X = 230.0,
                Y = 500.0
            }
        }
    }
};

// 追加リクエストを作成する
var request = new AddRequest(options);

// 透かしを追加する
var response = apiInstance.Add(request);

Console.WriteLine("Resultant file path: " + response.DownloadUrl);
C# で REST API を使用して Word 文書にテキスト透かしを追加する

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

更新されたファイルをダウンロードする

上記のコード サンプルは、テキストの透かしを含む Word ファイルをクラウドに保存します。次のコードサンプルを使用してダウンロードできます。

// APIを初期化する
var fileApi = new FileApi(configuration);

// クラウド上のデフォルトのファイルパス
var file = "watermark/added_watermark/sample_docx/sample.docx";

// ダウンロードファイルリクエストの作成
var downloadRequest = new DownloadFileRequest(file, myStorage);

// ダウンロードファイル
Stream downloadResponse = fileApi.DownloadFile(downloadRequest);

// ファイルを作業ディレクトリに保存します
using (var fileStream = System.IO.File.Create("C:\\Files\\DownloadedFile.docx"))
{
    downloadResponse.Seek(0, SeekOrigin.Begin);
    downloadResponse.CopyTo(fileStream);
}

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

以下の手順に従って、プログラムで Word 文書に画像またはロゴを透かしとして追加できます。

  • WatermarkApi のインスタンスを作成する
  • FileInfo のインスタンスを作成する
  • DOCXファイルのパスを設定します。
  • WatermarkOptions を作成し、FileInfo を設定します
  • 画像ウォーターマークの作成オプション
  • PNG画像のFilePathにウォーターマークを設定します。
  • ウォーターマークの位置を定義する
  • ウォーターマークの作成詳細
  • ImageWatermarkOptions と位置を設定する
  • WatermarkDetails をリストに設定
  • WatermarkOptions を使用して AddRequest を作成する
  • WatermarkApi.add() メソッドを呼び出して結果を取得します

次のコード サンプルは、C# の REST API を使用して DOCX に画像をウォーターマークとして追加する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// APIを初期化する
var apiInstance = new WatermarkApi(configuration);

// 入力ファイルのパス
var fileInfo = new FileInfo
{
    FilePath = "sample.docx"
};

// 透かしオプションを作成する
var options = new WatermarkOptions()
{
    FileInfo = fileInfo,
    // 透かしの詳細を定義する
    WatermarkDetails = new List<WatermarkDetails>
    {
        new WatermarkDetails
        {
            // 画像の透かしを定義する
            ImageWatermarkOptions = new ImageWatermarkOptions()
            {
                Image = new FileInfo { 
                    FilePath = "logo.png" 
                }
            },

            // ウォーターマークの位置を設定する
            Position = new Position()
            {
                X = 180.0,
                Y = 280.0
            }
        }
    }
};

// 追加リクエストを作成する
var request = new AddRequest(options);

// 透かしを追加する
var response = apiInstance.Add(request);

Console.WriteLine("Resultant file path: " + response.DownloadUrl);
C# で REST API を使用して画像にウォーターマークを追加する

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

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン ウォーターマーク ツールをお試しください。 https://products.groupdocs.app/watermark/docx

結論

結論として、クラウド上の Word 文書にテキストまたは画像の透かしを追加する方法を学習しました。また、プログラムによって DOCX ファイルをクラウドにアップロードし、更新されたファイルをクラウドからダウンロードする方法も学習しました。 GroupDocs.Watermark Cloud API について詳しくは、ドキュメント をご覧ください。また、API リファレンス セクションも提供されており、ブラウザーを通じて直接 API を視覚化して操作できるようになります。不明な点がある場合は、サポート までお気軽にお問い合わせください。

関連項目