IRONSOFTWAREHOME

L'en-tête disparaît après SaveAs dans IronWord

Curtis Chau
Curtis Chau
Updated: 29 juin 2026
Veuillez noter: Ce comportement n'a été signalé que dans un seul environnement et n'est pas corroboré par le changelog d'IronWord — d'autres guides IronWord utilisent SaveAs() comme appel de sauvegarde standard sans aucune perte d'en-tête signalée. Traitez cela comme une possible particularité propre à l'environnement plutôt que comme un défaut produit confirmé, et vérifiez-le dans votre propre environnement avant d'appliquer la solution de contournement ci-dessous.

Dans certains environnements, lors du remplissage d'un modèle DOCX avec IronWord et de l'écriture du résultat avec SaveAs(), on a observé que l'en-tête du modèle disparaît du fichier généré, même si les espaces réservés fusionnent correctement.

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

Modèle Word avec espaces réservés non remplacés et sans en-tête

Dans l'environnement où cela a été observé, l'en-tête a été conservé lors de l'écriture du document avec Save() plutôt qu'avec SaveAs(). Cela n'a pas été corroboré dans d'autres environnements ni dans le changelog d'IronWord — d'autres guides IronWord utilisent SaveAs() comme appel de sauvegarde standard sans problème de perte d'en-tête, traitez donc cela comme propre à l'environnement plutôt que comme un défaut produit confirmé.

Solution

1. Charger le modèle

Ouvrez le DOCX source avec 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. Remplacer les espaces réservés

Fusionnez vos valeurs à travers doc.Texts, ce qui est l'approche recommandée pour le remplacement de modèle.

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#

Iterer chaque entrée sur doc.Texts remplace chaque jeton d'espace réservé par sa valeur fusionnée dans tout le corps du document.

3. Enregistrer avec Save(), pas SaveAs()

Dans l'environnement où ce problème a été observé, écrire la sortie avec doc.Save(outputPath) a conservé l'en-tête intact, tandis que doc.SaveAs(outputPath) l'a supprimé. Traitez cela comme une solution de contournement à essayer, et non comme une différence de comportement universelle confirmée entre les deux méthodes.

doc.Save(outputPath);
C#

Document Word fusionné avec l'en-tête conservé et les espaces réservés remplis

Remarques

  • Si votre flux de travail nécessite SaveAs() : vérifiez sur la dernière version d'IronWord si l'en-tête survit dans votre environnement.
  • Si le problème réapparaît : attachez-vous à une version fonctionnelle précédente comme solution à court terme pendant que le comportement est analysé.
Veuillez noter: Les espaces réservés sont toujours trouvés et remplacés lors du parcours même lorsque l'en-tête est perdu, donc une fusion réussie ne confirme pas à elle seule que l'en-tête a été conservé. Ouvrez la sortie et vérifiez.
Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Prêt à commencer?

Nuget Downloads 56,401Version :2026.9vient de sortir

Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronWord
nuget.org/packages/IronWord/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez "IronWord"
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

  1. Téléchargez et décompressez IronWord à un emplacement tel que ~/Libs dans votre répertoire Solution
  2. Dans l'Explorateur de Solution de Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, "IronWord.dll"

Licences à partir de $999

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise