IRONSOFTWAREHOME

IronWordでのSaveAs後にヘッダーが消える

Curtis Chau
Curtis Chau
Updated: 2026年6月29日
ご注意: この挙動は1つの環境でのみ報告されており、IronWordの変更履歴では裏付けられていません。他のIronWordガイドはSaveAs()を標準の保存呼び出しとして使用しており、ヘッダーの損失は報告されていません。 これは確認された製品の欠陥ではなく、環境固有の癖の可能性があるものとして扱い、以下の回避策を適用する前にご自身の環境で検証してください。

一部の環境では、IronWordでDOCXテンプレートを埋め込み、SaveAs()で結果を書き出すと、プレースホルダーが正しく統合されているにもかかわらず、生成されたファイルからテンプレートのヘッダーが消えることが観察されています。

Header (e.g. "City Attorney Cover Sheet") is visible in the original DOCX
but missing in the generated file after calling SaveAs().
Text

置き換えられていないプレースホルダーとヘッダーがないWordテンプレート

この挙動が観察された環境では、ドキュメントをSaveAs()ではなくSave()で書き出すとヘッダーが保持されました。 これは他の環境やIronWordの変更履歴では裏付けられていません。他のIronWordガイドはSaveAs()を標準の保存呼び出しとして使用してもヘッダー損失の問題は起きていないため、確認された製品の欠陥ではなく環境固有のものとして扱ってください。

解決策

1. テンプレートを読み込む

ソースDOCXをWordDocumentで開きます。

using IronWord;
using System.Collections.Generic;

var templatePath = @"C:\Templates\CityAttorneyCoverSheetTemplate.docx";
var outputPath   = @"C:\Output\merged.docx";

var doc = new WordDocument(templatePath);
C#

2. プレースホルダーを置換

テンプレート置き換えの推奨方法であるdoc.Textsで値をマージします。

var replacements = new Dictionary<string, string>
{
    ["{CaseNumber}"] = "2026-CR-12345",
    ["{DefendantName}"] = "John Doe",
    ["{DefendantAge}"] = "34",
    ["{DefendantAttorney}"] = "Jane Smith",
};

foreach (var kv in replacements)
{
    doc.Texts.ForEach(t => t.Replace(kv.Key, kv.Value));
}
C#

doc.Textsを介して各エントリを反復処理すると、ドキュメント本文全体で各プレースホルダートークンがマージ値に置き換えられます。

3. SaveAs()ではなく、Save()で保存

この問題が観察された環境では、出力をdoc.Save(outputPath)で書き出すとヘッダーが保持され、doc.SaveAs(outputPath)では失われました。 これは試してみる回避策として扱い、2つのメソッド間で確認された普遍的な動作の違いとしては扱わないでください。

doc.Save(outputPath);
C#

ヘッダーが保持され、プレースホルダーが埋め込まれたWord文書

注釈

  • ワークフローがSaveAs()を必要とする場合: 最新のIronWordバージョンで、お使いの環境でヘッダーがどうなるか確認してください。
  • 問題が再発する場合: この挙動が調査されている間、一時的な緩和策として以前の動作するバージョンに固定します。
ご注意: プレースホルダーはヘッダーが失われた場合でもトラバース中に見つかり置換されるので、成功したマージだけではヘッダーが保持されたことの確認にはなりません。 出力を開いて確認してください。
Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

Nuget Downloads 56,401バージョン:2026.9リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronWord
nuget.org/packages/IronWord/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. [参照]を選択し、「IronWord」を検索してください。
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

  1. IronWordをダウンロードして、ソリューションディレクトリ内の~/Libsなどの場所に解凍してください。
  2. Visual Studioのソリューションエクスプローラーで、[参照]を右クリックします。 [参照]を選択し、「IronWord.dll」を選択します。

$999からのライセンス

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。