フッターコンテンツにスキップ
IRONWORDの使用方法

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

今日の現代企業では、Word ドキュメントは情報を意味し、部門や企業間で重要な情報を運びます。 ただし、デジタル文書には、無効または偽の Word 文書に誰かが改ざんまたは偽造するリスクもあります。

したがって、それに対抗する 1 つの方法は、Word ドキュメントに透かしを追加することです。 ただし、これでは Word 文書のセキュリティは向上しません。 透かしは、実際の Word 文書と偽造された文書との間に主な区別をつけることができます。 さらに、透かしをプログラムで追加することは非常に困難です。ほとんどのインスタンスでは、ユーザーが手動で Microsoft Word を使用して各ドキュメントに透かしを追加する必要があり、非常に長い時間がかかります。

幸い、IronWord を使用すると、プログラムで Word に画像を透かしとして追加できます。 これにより、開発者はプログラム内で透かしを追加でき、反復作業を減らし、効率と一貫性を向上させることができます。

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

Word ドキュメントにウォーターマークを追加する

IronWord

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

IronWord は信頼性が高く使いやすい C# Docx ライブラリで、Microsoft Office や Word Interop などの従来の依存関係に頼らずに、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";
' Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

トライアル キーを受け取った後、プロジェクト内でこの変数を設定します。

Word ドキュメントに画像透かしを追加する

Word ドキュメントに画像透かしを追加する例を見てみましょう。 static void main は冗長なコードを減らすために言及しませんが、主要なコードのみを示します。

この画像を透かし画像として使用し、Word ドキュメントに追加します。

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

using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";

// Create a new Word document
WordDocument doc = new WordDocument();

// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");

// Set the width and height of the image
image.Width = 500; // In pixels
image.Height = 250; // In pixels

// Add the image as a watermark to the document
doc.AddImage(image);

// Save the document as a .docx file
doc.SaveAs("documentImageResized.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";

// Create a new Word document
WordDocument doc = new WordDocument();

// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");

// Set the width and height of the image
image.Width = 500; // In pixels
image.Height = 250; // In pixels

// Add the image as a watermark to the document
doc.AddImage(image);

// Save the document as a .docx file
doc.SaveAs("documentImageResized.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums

' Set the license key
IronWord.License.LicenseKey = "YOUR-KEY"

' Create a new Word document
Dim doc As New WordDocument()

' Load the image to be used as a watermark
Dim image As New IronWord.Models.Image("ironword.png")

' Set the width and height of the image
image.Width = 500 ' In pixels
image.Height = 250 ' In pixels

' Add the image as a watermark to the document
doc.AddImage(image)

' Save the document as a .docx file
doc.SaveAs("documentImageResized.docx")
$vbLabelText   $csharpLabel
  1. 最初に、新しいインスタンスのWordDocumentを作成します。 これは IronWord のドキュメント クラスです。 次のステップでは、docという新しい変数を作成し、その中に画像の透かしを追加します。
  2. 上記の入力画像を新しいImageクラスにロードします。
  3. 画像の幅と高さを適切に設定します。 この幅と高さのプロパティを使用して、画像透かしのスケーリングを実現できます。 この例では、幅は 500、高さは 250 に設定されています。
  4. AddImage を使用して、ドキュメントに画像の透かしを追加します。
  5. 最後に、ドキュメントdocumentImageResizedを Word ファイルとして保存し、エクスポートします。

Word ドキュメントの出力は下にあります。

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

例で設定された寸法は、ドキュメント全体に適合し、IronWord の機能を表示するためであることに注意してください。

画像を追加することに加えて、WrapText プロパティを使用して、画像の透かしがテキストの背後にバックグラウンドに配置されるようにすることができます。

// Set the image to wrap behind the text
image.WrapText = WrapText.BehindText;
// Set the image to wrap behind the text
image.WrapText = WrapText.BehindText;
' Set the image to wrap behind the text
image.WrapText = WrapText.BehindText
$vbLabelText   $csharpLabel

このプロパティを使用すると、画像の透かしがテキストの背後に包まれ、テキストが邪魔されないようにバックグラウンドにのみ表示されます。

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

using IronWord;
using IronWord.Models;

// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";

// Create a new Word document
WordDocument doc = new WordDocument();

// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");

// Create an ElementPosition object to set the position
ElementPosition elementPosition = new ElementPosition();
elementPosition.SetXPosition(50);
elementPosition.SetYPosition(50);

// Set the dimensions of the image
image.Width = 50; // In pixels
image.Height = 50; // In pixels

// Set the image position using the ElementPosition object
image.Position = elementPosition;

// Offset the image from each side by 100 pixels
image.DistanceFromTop = 100;
image.DistanceFromBottom = 100;
image.DistanceFromLeft = 100;
image.DistanceFromRight = 100;
using IronWord;
using IronWord.Models;

// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";

// Create a new Word document
WordDocument doc = new WordDocument();

// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");

// Create an ElementPosition object to set the position
ElementPosition elementPosition = new ElementPosition();
elementPosition.SetXPosition(50);
elementPosition.SetYPosition(50);

// Set the dimensions of the image
image.Width = 50; // In pixels
image.Height = 50; // In pixels

// Set the image position using the ElementPosition object
image.Position = elementPosition;

// Offset the image from each side by 100 pixels
image.DistanceFromTop = 100;
image.DistanceFromBottom = 100;
image.DistanceFromLeft = 100;
image.DistanceFromRight = 100;
Imports IronWord
Imports IronWord.Models

' Set the license key
IronWord.License.LicenseKey = "YOUR-KEY"

' Create a new Word document
Dim doc As New WordDocument()

' Load the image to be used as a watermark
Dim image As New IronWord.Models.Image("ironword.png")

' Create an ElementPosition object to set the position
Dim elementPosition As New ElementPosition()
elementPosition.SetXPosition(50)
elementPosition.SetYPosition(50)

' Set the dimensions of the image
image.Width = 50 ' In pixels
image.Height = 50 ' In pixels

' Set the image position using the ElementPosition object
image.Position = elementPosition

' Offset the image from each side by 100 pixels
image.DistanceFromTop = 100
image.DistanceFromBottom = 100
image.DistanceFromLeft = 100
image.DistanceFromRight = 100
$vbLabelText   $csharpLabel

上記のコードと同様に、画像の x および y の位置の寸法を 50 に設定します。また、各側から 100 ピクセルオフセットして、周囲にマージンを作成します。

結論

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

例全体を通じて、IronWordライブラリを使用して C# で Word ドキュメントをプログラム的に操作および読み取る方法がどれほど簡単かを実証しました。 ライブラリの柔軟性と拡張性により、開発者が IronWord を実践的で現実的な例(透かしやテキスト透かしの追加など)で使用するための価値あるツールとなっています。 Word が他のアプリケーションとどのように連携するかを理解することは、開発者に彼らの課題への追加の解決策を提供するため、重要です。

IronWord は無料トライアルライセンスを提供しています。

よくある質問

C# でプログラムによって Word 文書にウォーターマークを追加するにはどうすればよいですか?

IronWord を使用することで、開発者は Word 文書のインスタンスを作成し、画像をロードし、それを AddImage メソッドを使用してウォーターマークとして挿入できます。

Word 文書にウォーターマークを使用する利点は何ですか?

ウォーターマークは本物の文書を偽造より識別するのに役立ち、下書き、機密、または最終版として文書をマークすることにより、文書管理を強化します。

IronWord は Word 文書内の画像ウォーターマークをどのように処理しますか?

IronWord は開発者に、画像をロードし、その寸法や位置を設定し、Word 文書にウォーターマークとして追加する方法を提供します。画像は、WrapText.BehindText プロパティを使用してテキストの背後に配置できます。

.NET のどのバージョンが IronWord と互換性がありますか?

IronWord は .NET 8、7、6、.NET Framework、.NET Core、Azure をサポートし、高い互換性とクロスプラットフォームの柔軟性を備えています。

IronWord を使用するにはライセンスが必要ですか?

はい、IronWord の完全な機能を利用するにはライセンスキーが必要です。試用キーは IronWord のウェブサイトから入手可能です。

IronWord を使用して Word 文書に画像ウォーターマークの位置をどのようにカスタマイズできますか?

IronWord は画像ウォーターマークの位置を、x および y の座標を設定し、各側から特定のピクセル値だけ画像がオフセットされるように寸法を調整することでカスタマイズすることができます。

IronWord は Word 文書にテキストウォーターマークを追加するために使用できますか?

記事は画像ウォーターマークに焦点を当てていますが、IronWord を使用してテキストを画像として描画し、それを画像ウォーターマークと同様に適用することでテキストウォーターマークを追加することも可能です。

記事は IronWord を使用したどのような実用的な例を提供していますか?

記事は、Word 文書の作成、ウォーターマークとしての画像のロード、画像の寸法の調整、およびテキストの背後に位置を設定する例を提供し、IronWord の機能を示しています。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。