# Cabeçalho Desaparecendo Após SalvarComo no IronWord
[[i:(Este comportamento foi relatado apenas em um ambiente e não é corroborado pelo changelog do IronWord — outros guias do IronWord usam `SaveAs()` como sua chamada de salvamento padrão sem nenhuma perda de cabeçalho relatada. Trate isso como uma possível peculiaridade específica do ambiente, e não como um defeito confirmado do produto, e verifique em seu próprio ambiente antes de aplicar a solução alternativa abaixo.)]]
Em alguns ambientes, ao preencher um modelo DOCX com o IronWord e gravar o resultado com `SaveAs()`, observou-se que o cabeçalho do modelo desaparece do arquivo gerado, embora os marcadores de posição se mesclem corretamente.
```txt
Header (e.g. "City Attorney Cover Sheet") is visible in the original DOCX
but missing in the generated file after calling SaveAs().
```

No ambiente onde isso foi observado, o cabeçalho foi preservado ao gravar o documento com `Save()` em vez de `SaveAs()`. Isso não foi corroborado em outros ambientes nem no changelog do IronWord — outros guias do IronWord usam `SaveAs()` como sua chamada de salvamento padrão sem problema de perda de cabeçalho, portanto trate isso como específico do ambiente, e não como um defeito confirmado do produto.
## Solução
### 1. Carregue o Modelo
Abra o DOCX de origem com `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. Substitua os Marcadores de Posição
Mescle seus valores através do `doc.Texts`, uma abordagem simples de localizar/substituir; para modelos com muitos marcadores de posição que usam a sintaxe MERGEFIELD, a API dedicada `WordDocument.MailMerge` do IronWord também está disponível.
```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));
}
```
Iterando cada entrada sobre `doc.Texts` troca cada token de marcador de posição por seu valor de mesclagem em todo o corpo do documento.
### 3. Salve com Save(), não SaveAs()
No ambiente onde esse problema foi observado, gravar a saída com `doc.Save(outputPath)` manteve o cabeçalho intacto, enquanto `doc.SaveAs(outputPath)` o descartou. Trate isso como uma solução alternativa para tentar, não como uma diferença de comportamento universal confirmada entre os dois métodos.
```csharp
doc.Save(outputPath);
```

## Notas
- **Se seu fluxo de trabalho requer `SaveAs()`:** verifique na versão mais recente do IronWord se o cabeçalho sobrevive em seu ambiente.
- **Se o problema reaparecer:** fixe em uma versão anteriormente funcional como uma mitigação de curto prazo enquanto o comportamento é investigado.
[[i:(Os placeholders ainda são encontrados e substituídos durante a travessia, mesmo quando o cabeçalho está perdido, portanto, uma fusão bem-sucedida por si só não é confirmação de que o cabeçalho foi mantido. Abra a saída e verifique.)]]
Observe: Este comportamento foi relatado apenas em um ambiente e não é corroborado pelo changelog do IronWord — outros guias do IronWord usam SaveAs() como sua chamada de salvamento padrão sem nenhuma perda de cabeçalho relatada. Trate isso como uma possível peculiaridade específica do ambiente, e não como um defeito confirmado do produto, e verifique em seu próprio ambiente antes de aplicar a solução alternativa abaixo.
Em alguns ambientes, ao preencher um modelo DOCX com o IronWord e gravar o resultado com SaveAs(), observou-se que o cabeçalho do modelo desaparece do arquivo gerado, embora os marcadores de posição se mesclem corretamente.
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
No ambiente onde isso foi observado, o cabeçalho foi preservado ao gravar o documento com Save() em vez de SaveAs(). Isso não foi corroborado em outros ambientes nem no changelog do IronWord — outros guias do IronWord usam SaveAs() como sua chamada de salvamento padrão sem problema de perda de cabeçalho, portanto trate isso como específico do ambiente, e não como um defeito confirmado do produto.
Solução
1. Carregue o Modelo
Abra o DOCX de origem com 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. Substitua os Marcadores de Posição
Mescle seus valores através do doc.Texts, uma abordagem simples de localizar/substituir; para modelos com muitos marcadores de posição que usam a sintaxe MERGEFIELD, a API dedicada WordDocument.MailMerge do IronWord também está disponível.
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));}
Iterando cada entrada sobre doc.Texts troca cada token de marcador de posição por seu valor de mesclagem em todo o corpo do documento.
3. Salve com Save(), não SaveAs()
No ambiente onde esse problema foi observado, gravar a saída com doc.Save(outputPath) manteve o cabeçalho intacto, enquanto doc.SaveAs(outputPath) o descartou. Trate isso como uma solução alternativa para tentar, não como uma diferença de comportamento universal confirmada entre os dois métodos.
doc.Save(outputPath);
doc.Save(outputPath);
C#
Notas
Se seu fluxo de trabalho requer SaveAs(): verifique na versão mais recente do IronWord se o cabeçalho sobrevive em seu ambiente.
Se o problema reaparecer: fixe em uma versão anteriormente funcional como uma mitigação de curto prazo enquanto o comportamento é investigado.
Observe: Os placeholders ainda são encontrados e substituídos durante a travessia, mesmo quando o cabeçalho está perdido, portanto, uma fusão bem-sucedida por si só não é confirmação de que o cabeçalho foi mantido. Abra a saída e verifique.
Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.