How to Add Image to DOCX in C
IronWord は、幅、高さ、テキストの折り返しなどのカスタマイズ可能なプロパティを使用して、画像 (.jpg、.png、.bmp、.tiff、.gif) を DOCX ファイルに挿入するための ImageContent クラスを提供します。 IronWordを使用してWord文書に画像を追加し、文書の自動化やレポート作成を行います。
クイックスタート: C# で DOCX に画像を追加する
1.NuGetパッケージマネージャ経由でIronWordをインストールする
- 新しい
WordDocumentインスタンスを作成する ImageContentクラスを使用して画像をロードします。AddImage()を使用してドキュメントに画像を追加します。
5.ドキュメントをDOCXとして保存
-
IronWord をNuGetパッケージマネージャでインストール
PM > Install-Package IronWord -
このコード スニペットをコピーして実行します。
using IronWord; using IronWord.Models; // Create new document WordDocument doc = new WordDocument(); // Add image ImageContent image = new ImageContent("photo.jpg"); doc.AddImage(image); // Save document doc.SaveAs("document-with-image.docx"); -
実際の環境でテストするためにデプロイする
今日プロジェクトで IronWord を使い始めましょう無料トライアル
IronWordを試す
DOCXに画像を追加する方法
- IronWordの最新安定版をダウンロードする
- 新しいWord文書を初期化する
- 画像オブジェクト(.bmp、.jpg、.png、またはその他のサポートされている形式)を定義します。
- ドキュメントに画像を追加
- ドキュメントファイルの保存とエクスポート
DOCXに画像を追加するには?
ファイルパスを使用して画像を参照します。 まず、ファイル パスを文字列として ImageContent クラスをインスタンス化します。 幅や高さなどのプロパティを変更するには、ファイル全体で image 変数を使用します。 AddImage() 関数を使用して、画像を .docx ファイルに追加します。 ドキュメントをエクスポートし、ローカルに保存します。
以下の例では、親ノードなしでドキュメントに画像を追加しています。 対応ファイル形式は、.jpg、.png、.bmp、.tiff、.gifです。 この柔軟性により、どのような一般的な画像フォーマットでも扱うことができます。
:path=/static-assets/word/content-code-examples/how-to/add-image-insert-image.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
// initializing docx file
WordDocument doc = new IronWord.WordDocument();
// instantiating image file
IronWord.Models.ImageContent image = new IronWord.Models.ImageContent("sample-image.jpg");
// modifying image properties
image.Width = 200;
image.Height = 200;
// AddImage function saving the image
doc.AddImage(image);
// Save and export the file
doc.SaveAs("inserted-image.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums
' Initializing docx file
Dim doc As New IronWord.WordDocument()
' Instantiating image file
Dim image As New IronWord.Models.ImageContent("sample-image.jpg")
' Modifying image properties
image.Width = 200
image.Height = 200
' AddImage function saving the image
doc.AddImage(image)
' Save and export the file
doc.SaveAs("inserted-image.docx")
どの画像形式がサポートされていますか?
対応ファイル形式.jpg、.png、.bmp、.tiff、.gif。 各フォーマットは、挿入時に品質を維持します。 写真にはJPEGが最適です。PNGはロゴやグラフィックの透過性をサポートします。 BMPは非圧縮の品質を提供します。 TIFFは高品質の印刷文書に適しています。 GIFでは、簡単なアニメーションが可能です(静的なドキュメントでは、最初のフレームのみが表示されます)。
ドキュメントのどこに画像を配置しますか?
画像は、親ノードなしで、デフォルトで現在のカーソル位置に追加されます。 画像を段落内の子要素として挿入すると、正確な位置決めができます。こうすることで、テキストの流れをよりよく制御でき、画像を文書の構造に統合することができます。
なぜ ImageContent クラスを使用するのですか?
ImageContent クラスは、画像のプロパティを構造的に管理します。 挿入前に寸法、位置、書式を修正します。 このアプローチでは、ドキュメント生成プロセス全体の一貫性を確保し、アプリケーション全体に標準書式ルールを適用します。 このクラスは、すべての画像関連プロパティをカプセル化し、コードの保守性を高め、フォーマットエラーを減らします。
ストリーム経由で画像を追加するにはどうすればよいですか?
ローカルまたは静的URLの画像は、前述の方法で簡単に追加できます。 しかし、アプリケーションでは、データベース、ウェブサービス、動的に生成されたコンテンツからの画像を扱うことがよくあります。 認証を必要とする安全な API の背後に画像を追加するには、Stream メソッドを使用します。
以下の例は、認証された画像ストリームを取得するために認証トークンを送信するHTTPクライアントを示しています。 ストリームは、エクスポート前にドキュメントに直接統合されます。 このアプローチにより、一時的なファイルの保存が不要になり、機密性の高い画像データのセキュリティが向上します。
:path=/static-assets/word/content-code-examples/how-to/add-image-insert-image-via-http-stream.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
// initializing docx file
WordDocument doc = new IronWord.WordDocument();
using (HttpClient client = new HttpClient())
{
// Add authentication headers
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY_HERE");
client.DefaultRequestHeaders.Add("User-Agent", "MyApp/1.0");
// Get image from authenticated endpoint
Stream authenticatedStream = await client.GetStreamAsync("https://api.example.com/secure/image.png");
doc.AddImage(authenticatedStream);
}
// Export docx
doc.SaveAs("added-image-via-http-stream.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums
Imports System.IO
Imports System.Net.Http
Imports System.Threading.Tasks
' initializing docx file
Dim doc As New IronWord.WordDocument()
Using client As New HttpClient()
' Add authentication headers
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY_HERE")
client.DefaultRequestHeaders.Add("User-Agent", "MyApp/1.0")
' Get image from authenticated endpoint
Dim authenticatedStream As Stream = Await client.GetStreamAsync("https://api.example.com/secure/image.png")
doc.AddImage(authenticatedStream)
End Using
' Export docx
doc.SaveAs("added-image-via-http-stream.docx")
ストリーム メソッドはいつ使うべきですか?
次の場合には、Stream メソッドを使用します。
- 画像は認証が必要なセキュアAPIの背後にあります。
- 画像をメモリから動的に処理する
- データベースにバイナリデータとして保存された画像の操作
この方法は、画像が文書管理システムやクラウドストレージに保存されていたり、画像処理サービスによって生成されていたりする企業アプリケーションで効果的です。
ストリーム ローディングの利点は何ですか?
ストリーム・ローディングは、一時ファイルを保存することなく、認証されたエンドポイントから画像を統合します。 これにより、セキュリティとパフォーマンスが向上します。 利点は以下の通りです:
- ディスクI/O操作の削減
- ディスクに機密画像をキャッシュしない
- リアルタイム画像処理ワークフロー
- 大きな画像のメモリ管理を改善
- 柔軟な画像ソースオプション
画像のプロパティを変更するにはどうすればよいですか?
IronWordは画像のプロパティをカスタマイズする包括的な方法を提供します。 ドキュメントに画像を追加する前または後に、これらのプロパティを調整してください。
| 設定 | 翻訳内容 | 翻訳例 |
|---|---|---|
| 幅 | 画像の水平寸法(ピクセル | `image.幅 = 500;`. |
| 高さ | 画像の縦寸法(ピクセル | `image.高さ = 300;`. |
| ラップテキスト | 画像の周りのテキストの折り返し動作 | `image.ラップテキスト = ラップテキスト.Square;`. |
| 左からの距離 | 左端からのスペーシング(単位:ピクセル | `image.左からの距離 = 10;`. |
| ディスタンスフロムライト | 右端からのスペーシング(単位:ピクセル | `image.ディスタンスフロムライト = 10;`. |
| 距離トップ | 上端からのスペーシング(単位:ピクセル | `image.距離トップ = 15;`. |
| 下からの距離 | 下端からのスペーシング(単位:ピクセル | `image.下からの距離 = 15;`. |
| ポジション | 空間配置情報(XおよびY座標) | `image.ポジション = new Elementポジション(50, 100);` |
| 規模 | X軸とY軸の比例サイズ係数 | `image.規模 = new PointF(1.5f, 1.5f);`。 |
| 翻訳 | 再配置のための変位座標 | `image.翻訳 = new PointF(20, 30);` |
幅と高さをカスタマイズするにはどうすればよいですか?
アスペクト比を変更することで、カスタムの幅と高さを実装します。 画像の比率を維持したり、特定のレイアウト制約に合わせたりと、文書内での画像の表示方法を制御します。
:path=/static-assets/word/content-code-examples/how-to/add-image-custom-size.cs
using IronWord;
// initializing docx file
WordDocument doc = new IronWord.WordDocument();
// instantiating image file
IronWord.Models.ImageContent image = new IronWord.Models.ImageContent("sample-image.tiff");
// modifying the aspect ratio by introducing custom width
image.Width = 800;
image.Height = 200;
// AddImage function saving the image
doc.AddImage(image);
// Save and export the file
doc.SaveAs("custom-size-image.docx");
Imports IronWord
' initializing docx file
Dim doc As New IronWord.WordDocument()
' instantiating image file
Dim image As New IronWord.Models.ImageContent("sample-image.tiff")
' modifying the aspect ratio by introducing custom width
image.Width = 800
image.Height = 200
' AddImage function saving the image
doc.AddImage(image)
' Save and export the file
doc.SaveAs("custom-size-image.docx")
アスペクト比はどうなりますか?
幅と高さのカスタム値は、元のアスペクト比を上書きします。 ヘッダー、サイドバー、固定サイズのコンテナなどのレイアウト要件に合わせて、画像を伸張または圧縮します。 極端な歪曲はプロらしくない印象を与えかねません。 リサイズ時にアスペクト比を維持するため、ターゲットサイズに基づいて比例寸法を計算してください。
どのプロパティを最初に設定すべきですか?
この順序でプロパティを設定します: 1.寸法(幅/高さ) - 画像レイアウトの基礎 2.ポジショニング(DistanceFromプロパティ) - スペーシングとマージンのコントロール 3.高度なプロパティ(拡大縮小/翻訳)-微調整
このアプローチは、各プロパティが前のプロパティを論理的に構築することを保証します。 いくつかのプロパティは相互作用します - テキストの折り返しは、距離プロパティの動作に影響します。
よくある質問
C#でDOCXファイルに画像を追加するには?
IronWordでは、画像ファイルのパスでImageContentインスタンスを作成し、AddImage()メソッドを使用することで、DOCXファイルに画像を追加することができます。IronWordはJPG、PNG、BMP、TIFF、GIFのような一般的なフォーマットをサポートしており、Word文書にプログラムで簡単に画像を挿入することができます。
Word文書に画像を追加する場合、どのような画像形式がサポートされますか?
IronWordは.jpg、.png、.bmp、.tiff、.gifファイルを含むすべての主要な画像フォーマットをサポートしています。JPEGは写真、PNGは透過画像、BMPは非圧縮、TIFFは高品質の印刷文書、GIFはシンプルなアニメーション(最初のフレームのみ表示)に適しています。
DOCXファイルの画像のサイズや位置を制御できますか?
IronWordのImageContentクラスでは、幅、高さ、テキストの折り返しなどの画像プロパティをカスタマイズできます。挿入前に寸法や位置を変更することができ、Word文書での画像の表示方法を完全に制御することができます。
段落内に画像を挿入して文書構造を改善するにはどうすればよいですか?
IronWordでは、段落内の子要素として画像を挿入することができ、より優れた文書階層とテキストの折り返しを制御することができます。このアプローチは、画像を周囲のテキストフローと統合し、親ノードなしで画像を追加する場合と比較して、より正確な位置決めオプションを提供します。
プログラムでWord文書に画像を追加する最も簡単な方法は何ですか?
IronWordで最も手っ取り早い方法は、WordDocumentインスタンスを作成し、new ImageContent('photo.jpg')で画像を読み込み、doc.AddImage(image)を呼び出し、doc.SaveAs('document-with-image.docx')で保存することです。このシンプルな4ステップのプロセスで、画像挿入のワークフロー全体が処理されます。

