IRONWORDの使用

C#でWordファイルに透かしを追加する方法

公開済み 2024年10月23日
共有:

現代の企業では、Word文書は情報の代名詞であり、部門間や企業間で重要な情報を伝達します。 しかし、デジタル文書の場合、誰かが無効なWord文書を改ざんしたり、偽造したりするリスクもあります。

そのため、Word文書に透かしを入れることも対策の1つです。 しかし、これではWord文書の安全性は高まりません。 透かしを入れることで、実際のWord文書と偽造文書を区別できるようにします。 さらに、電子透かしをプログラムで追加することは非常に困難であり、ほとんどの場合、ユーザーはMicrosoft Wordを手動で使用し、各文書に電子透かしを追加する必要があるため、骨の折れる長いプロセスとなります。

幸運なことに、IronWordWordの透かしとして画像をプログラムで追加できます。 これにより、開発者はパイプラインにプログラム的に追加することができ、繰り返しの単語を減らし、効率性と一貫性を高めることができます。

電子透かしには、図形透かし、テキスト透かしなど様々な種類がありますが、この記事では、画像透かしと画像透かしのみを使用し、ライブラリとしてのIronWordについて説明し、Word文書に画像を追加する実用的な例を提供します。

Word文書への透かしの追加

IronWord

C#でWordファイルに透かしを入れる方法:図1 - IronWord:C# DOCXライブラリ

IronWordは信頼性が高く使いやすいC# Docxライブラリで、開発者はMicrosoft OfficeやWord Interlopeのような従来の依存関係に頼ることなく、C#を使ってWord文書を構築・編集することができます。

さらに、拡張ドキュメントがあり、.NET 8、7、6、Framework、Core、Azureを完全にサポートしています。 そのため、ほとんどのアプリケーションとクロスプラットフォームで互換性があり、扱うアプリケーションに関係なく柔軟に対応できます。

画像透かしの使用

ライセンスキー

IronWordの操作にはライセンスキーが必要です。 無料トライアルでキーを入手するには、こちらをご覧ください。リンク.

//Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
//Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

トライアルキーを受け取ったら、プロジェクトにこの変数を設定してください。

Word文書に画像透かしを追加します。

Word文書に画像の透かしを入れる例を見てみましょう。 繰り返しのコードを減らすため、static void mainには言及せず、メインコードのみを紹介します。

この画像を透かし画像として使用し、Word文書に追加します。

C# で Word ファイルに透かしを追加する方法:図2 - 入力画像

using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
#region
IronWord.License.LicenseKey = "YOUR-KEY";
#endregion
// Create a new Word document
WordDocument doc = new WordDocument();
//doc.AddImage("ironword.png");
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");
image.Width = 500; // In unit pixel
image.Height = 250; // In unit pixel
doc.AddImage(image);
// Export docx
doc.SaveAs("documentImageResized.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
#region
IronWord.License.LicenseKey = "YOUR-KEY";
#endregion
// Create a new Word document
WordDocument doc = new WordDocument();
//doc.AddImage("ironword.png");
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");
image.Width = 500; // In unit pixel
image.Height = 250; // In unit pixel
doc.AddImage(image);
// Export docx
doc.SaveAs("documentImageResized.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums
#Region ""
IronWord.License.LicenseKey = "YOUR-KEY"
'#End Region
' Create a new Word document
Dim doc As New WordDocument()
'doc.AddImage("ironword.png");
Dim image As New IronWord.Models.Image("ironword.png")
image.Width = 500 ' In unit pixel
image.Height = 250 ' In unit pixel
doc.AddImage(image)
' Export docx
doc.SaveAs("documentImageResized.docx")
VB   C#
  1. これは IronWord のドキュメント・クラスです。 次のステップでは、document DOCという新しい変数を作成し、そこに画像の透かしを追加します。

  2. 次に、入力画像を新しい∕Image∕クラスにロードします。

  3. 画像の幅と高さは適宜設定しています。 この幅と高さのプロパティにより、ユーザーは画像透かしのスケーリングも行うことができます。 この例では、幅を500、高さを250に設定しています。

  4. 次に、画像透かしを文書に追加します。

  5. 最後に、この文書をWordファイルとして保存し、エクスポートします。

    Word文書の出力は以下のとおりです。

    C#でWordファイルに透かしを追加する方法:図3 - 出力されたWord文書

    例で設定されている寸法は、Word文書全体に合わせて作られ、IronWordの機能を表示するものであることに留意してください。

    画像を追加するだけでなく、∕WrapText∕プロパティを使って、画像の透かしが背景のテキストの後ろに残るようにできます。

image.WrapText = WrapText.BehindText;
image.WrapText = WrapText.BehindText;
image.WrapText = WrapText.BehindText
VB   C#

このプロパティを通じて、画像の透かしはテキストの後ろに回り込み、背景の私だけが表示され、テキストが妨げられないようにする必要があります。

さらに、開発者は、画像透かしをユニークなものにするために、より多くのカスタマイズを試みます。 IronWordでは、Word文書に対する画像の寸法をオフセットし、画像の透かしの位置も管理することができます。

using IronWord;
using IronWord.Models;
#region
IronWord.License.LicenseKey = "YOUR-KEY";
#endregion
// Create a new Word document
WordDocument doc = new WordDocument();
//doc.AddImage("ironword.png");
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");
ElementPosition elementPosition = new ElementPosition();
elementPosition.SetXPosition(50);
elementPosition.SetYPosition(50);
image.Width = 50; // In unit pixel
image.Height = 50; // In unit pixel
image.Position = elementPosition;
image.DistanceFromTop = 100;
image.DistanceFromBottom = 100;
image.DistanceFromLeft = 100;
image.DistanceFromRight = 100;
using IronWord;
using IronWord.Models;
#region
IronWord.License.LicenseKey = "YOUR-KEY";
#endregion
// Create a new Word document
WordDocument doc = new WordDocument();
//doc.AddImage("ironword.png");
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");
ElementPosition elementPosition = new ElementPosition();
elementPosition.SetXPosition(50);
elementPosition.SetYPosition(50);
image.Width = 50; // In unit pixel
image.Height = 50; // In unit pixel
image.Position = elementPosition;
image.DistanceFromTop = 100;
image.DistanceFromBottom = 100;
image.DistanceFromLeft = 100;
image.DistanceFromRight = 100;
Imports IronWord
Imports IronWord.Models
#Region ""
IronWord.License.LicenseKey = "YOUR-KEY"
'#End Region
' Create a new Word document
Dim doc As New WordDocument()
'doc.AddImage("ironword.png");
Dim image As New IronWord.Models.Image("ironword.png")
Dim elementPosition As New ElementPosition()
elementPosition.SetXPosition(50)
elementPosition.SetYPosition(50)
image.Width = 50 ' In unit pixel
image.Height = 50 ' In unit pixel
image.Position = elementPosition
image.DistanceFromTop = 100
image.DistanceFromBottom = 100
image.DistanceFromLeft = 100
image.DistanceFromRight = 100
VB   C#

上記のコードと同様に、画像のxとyの位置の寸法を50に設定します。また、各辺の寸法を100pxずつオフセットして、周囲に余白を作りました。

結論

C#でWordファイルに透かしを追加する方法:図4 - IronWordのライセンス情報

例を通じて、使用することがいかに簡単かを示しました。IronWord C#でプログラムによってWordドキュメントを操作および読み取るためのライブラリ。 ライブラリの柔軟性と拡張性により、開発者はウォーターマークやテキスト透かしの追加など、実用的な実例でIronWordを使用できる貴重なツールとなります。 Wordが他のアプリケーションとどのように連携しているかを把握することは、開発者の課題に対する新たな解決策を提供するために不可欠です。

IronWord は、以下のサービスを提供しています。無料試用ライセンス.

< 以前
C#でWordテンプレートを使用してWord文書を生成する方法
次へ >
C#でWordからテキストを抽出する方法

準備はできましたか? バージョン: 2024.12 新発売

無料のNuGetダウンロード 総ダウンロード数: 7,878 ライセンスを表示 >