Я добавляю строку html в заголовок документа Word, динамически создаваемого с использованием OpenXml
public static void ApplyHeader(WordprocessingDocument doc)
{
// Get the main document part.
MainDocumentPart mainDocPart = doc.MainDocumentPart;
HeaderPart headerPart1 = mainDocPart.AddNewPart<HeaderPart>("r97");
Header header1 = new Header();
string html =
@"<div style =\"display:block;max-width:750px; margin:0 auto; \"> <img src = \"/images/header.jpg\" style= \"max-width:100%;\" /></div><p>Continuation Sheet</p>";
string altChunkId = "AltChunkId2";
AlternativeFormatImportPart chunk = mainDocPart.AddAlternativeFormatImportPart("application/xhtml+xml", altChunkId);
using (Stream chunkStream = chunk.GetStream())
{
using (StreamWriter stringWriter = new StreamWriter(chunkStream, Encoding.UTF8)) //Encoding.UTF8 is important to remove special characters
{
stringWriter.Write(html);
}
}
AltChunk altChunk = new AltChunk();
altChunk.Id = altChunkId;
// first header
Paragraph paragraph1 = new Paragraph() { };
paragraph1.InsertAt(altChunk,0);
header1.Append(paragraph1);
headerPart1.Header = header1;
SectionProperties sectionProperties1 = mainDocPart.Document.Body.Descendants<SectionProperties>().FirstOrDefault();
if (sectionProperties1 == null)
{
sectionProperties1 = new SectionProperties() { };
mainDocPart.Document.Body.Append(sectionProperties1);
}
HeaderReference headerReference1 = new HeaderReference() { Type = HeaderFooterValues.Default, Id = "r97" };
sectionProperties1.InsertAt(headerReference1, 0);
}
Теперь после открытия документа Word выдается следующая ошибка: «Microsoft не может открыть этот файл, потому что некоторые частиотсутствуют или недействительны.Как я могу решить эту ошибку?