# Kopfzeile verschwindet nach SaveAs in IronWord
[[i:(Dieses Verhalten wurde nur in einer Umgebung gemeldet und wird nicht durch das Changelog von IronWord bestätigt — andere IronWord-Anleitungen verwenden `SaveAs()` als ihren Standard-Speicheraufruf ohne gemeldeten Verlust der Kopfzeile. Behandeln Sie dies als möglichen umgebungsspezifischen Sonderfall und nicht als bestätigten Produktfehler, und überprüfen Sie es in Ihrer eigenen Umgebung, bevor Sie die untenstehende Problemumgehung anwenden.)]]
In einigen Umgebungen wurde beobachtet, dass beim Befüllen einer DOCX-Vorlage mit IronWord und Schreiben des Ergebnisses mit `SaveAs()` die Kopfzeile der Vorlage aus der generierten Datei verschwindet, obwohl die Platzhalter korrekt zusammengeführt werden.
```txt
Header (e.g. "City Attorney Cover Sheet") is visible in the original DOCX
but missing in the generated file after calling SaveAs().
```

In der Umgebung, in der dies beobachtet wurde, blieb die Kopfzeile erhalten, wenn das Dokument mit `Save()` statt mit `SaveAs()` geschrieben wurde. Dies wurde nicht in anderen Umgebungen oder im Changelog von IronWord bestätigt — andere IronWord-Anleitungen verwenden `SaveAs()` als ihren Standard-Speicheraufruf ohne Kopfzeilenverlust-Problem, behandeln Sie dies daher als umgebungsspezifisch und nicht als bestätigten Produktfehler.
## Lösung
### 1. Laden Sie die Vorlage
Öffnen Sie das Quell-DOCX mit `WordDocument`.
```csharp
using IronWord;
using System.Collections.Generic;
var templatePath = @"C:\Templates\CityAttorneyCoverSheetTemplate.docx";
var outputPath = @"C:\Output\merged.docx";
var doc = new WordDocument(templatePath);
```
### 2. Ersetzen Sie die Platzhalter
Führen Sie Ihre Werte durch `doc.Texts` zusammen, was der empfohlene Ansatz für den Austausch von Vorlagen ist.
```csharp
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));
}
```
Jeden Eintrag über `doc.Texts` zu iterieren, tauscht jeden Platzhalter-Token im gesamten Dokumentenkörper gegen seinen Zusammenführungswert aus.
### 3. Speichern Sie mit Save(), nicht SaveAs()
In der Umgebung, in der dieses Problem beobachtet wurde, blieb die Kopfzeile beim Schreiben der Ausgabe mit `doc.Save(outputPath)` erhalten, während `doc.SaveAs(outputPath)` sie entfernte. Behandeln Sie dies als Problemumgehung zum Ausprobieren, nicht als bestätigten universellen Verhaltensunterschied zwischen den beiden Methoden.
```csharp
doc.Save(outputPath);
```

## Anmerkungen
- **Wenn Ihr Workflow `SaveAs()` erfordert:** Überprüfen Sie in der neuesten IronWord-Version, ob die Kopfzeile in Ihrer Umgebung erhalten bleibt.
- **Wenn das Problem erneut auftritt:** Fixieren Sie auf eine zuvor funktionierende Version als kurzfristige Minderung, während das Verhalten untersucht wird.
[[i:(Platzhalter werden immer noch während der Durchlaufung erkannt und ersetzt, selbst wenn die Kopfzeile verloren geht, daher ist eine erfolgreiche Zusammenführung allein kein Beweis, dass die Kopfzeile beibehalten wurde. Öffnen Sie die Ausgabe und überprüfen Sie.)]]
Hinweis:: Dieses Verhalten wurde nur in einer Umgebung gemeldet und wird nicht durch das Changelog von IronWord bestätigt — andere IronWord-Anleitungen verwenden SaveAs() als ihren Standard-Speicheraufruf ohne gemeldeten Verlust der Kopfzeile. Behandeln Sie dies als möglichen umgebungsspezifischen Sonderfall und nicht als bestätigten Produktfehler, und überprüfen Sie es in Ihrer eigenen Umgebung, bevor Sie die untenstehende Problemumgehung anwenden.
In einigen Umgebungen wurde beobachtet, dass beim Befüllen einer DOCX-Vorlage mit IronWord und Schreiben des Ergebnisses mit SaveAs() die Kopfzeile der Vorlage aus der generierten Datei verschwindet, obwohl die Platzhalter korrekt zusammengeführt werden.
Header (e.g. "City Attorney Cover Sheet") is visible in the original DOCXbut missing in the generated file after calling SaveAs().
Header (e.g. "City Attorney Cover Sheet") is visible in the original DOCX
but missing in the generated file after calling SaveAs().
Text
In der Umgebung, in der dies beobachtet wurde, blieb die Kopfzeile erhalten, wenn das Dokument mit Save() statt mit SaveAs() geschrieben wurde. Dies wurde nicht in anderen Umgebungen oder im Changelog von IronWord bestätigt — andere IronWord-Anleitungen verwenden SaveAs() als ihren Standard-Speicheraufruf ohne Kopfzeilenverlust-Problem, behandeln Sie dies daher als umgebungsspezifisch und nicht als bestätigten Produktfehler.
Lösung
1. Laden Sie die Vorlage
Öffnen Sie das Quell-DOCX mit WordDocument.
using IronWord;using System.Collections.Generic;var templatePath = @"C:\Templates\CityAttorneyCoverSheetTemplate.docx";var outputPath = @"C:\Output\merged.docx";var doc = new WordDocument(templatePath);
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. Ersetzen Sie die Platzhalter
Führen Sie Ihre Werte durch doc.Texts zusammen, was der empfohlene Ansatz für den Austausch von Vorlagen ist.
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));}
Jeden Eintrag über doc.Texts zu iterieren, tauscht jeden Platzhalter-Token im gesamten Dokumentenkörper gegen seinen Zusammenführungswert aus.
3. Speichern Sie mit Save(), nicht SaveAs()
In der Umgebung, in der dieses Problem beobachtet wurde, blieb die Kopfzeile beim Schreiben der Ausgabe mit doc.Save(outputPath) erhalten, während doc.SaveAs(outputPath) sie entfernte. Behandeln Sie dies als Problemumgehung zum Ausprobieren, nicht als bestätigten universellen Verhaltensunterschied zwischen den beiden Methoden.
doc.Save(outputPath);
doc.Save(outputPath);
C#
Anmerkungen
Wenn Ihr Workflow SaveAs() erfordert: Überprüfen Sie in der neuesten IronWord-Version, ob die Kopfzeile in Ihrer Umgebung erhalten bleibt.
Wenn das Problem erneut auftritt: Fixieren Sie auf eine zuvor funktionierende Version als kurzfristige Minderung, während das Verhalten untersucht wird.
Hinweis:: Platzhalter werden immer noch während der Durchlaufung erkannt und ersetzt, selbst wenn die Kopfzeile verloren geht, daher ist eine erfolgreiche Zusammenführung allein kein Beweis, dass die Kopfzeile beibehalten wurde. Öffnen Sie die Ausgabe und überprüfen Sie.
Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.