Я читаю файл шаблона Word, который я обрабатываю в своем коде.
Я хочу установить фоновое изображение указанного документа. Вот как я это делаю
ImagePart ip = mainPart.AddImagePart(ImagePartType.Jpeg, "ImageBackground");
Stream streamImage = ip.GetStream();
BinaryWriter bw = new BinaryWriter(streamImage);
bw.Write(imageArray);
bw.Close();
DocumentBackground docBg = new DocumentBackground() { Color = "FFFFFF" };
V.Background bg = new V.Background()
{
Id = "_x0000_s1025",
BlackWhiteMode = V.Office.BlackAndWhiteModeValues.White,
TargetScreenSize = V.Office.ScreenSizeValues.Sz1024x768
};
V.Fill fill = new V.Fill()
{
RelationshipId = "ImageBackground",
Title = "background",
Recolor = true,
Type = V.FillTypeValues.Frame
};
bg.Append(fill);
docBg.Append(bg);
mainPart.Document.InsertAt(docBg, 0);
Сгенерированный XML идеально соответствует тому, что создано Word, когда вы устанавливаете фон вручную.
Тем не менее, когда я открываю сгенерированный файл, фон не работает.
Кроме того, одна странная вещь заключается в том, что когда я использую Word для экспорта документа как HTML (как только редактор переключается на содержимое HTML), рендер обновляется в Word и фон работают, но при повторном открытии файла, больше не в режиме HTML, он снова исчезает.