У меня есть код C #, который объединяет один файл в другой. Это довольно простой процесс:
//open the files
Microsoft.Office.Interop.Word.Document file1 = winWord.Documents.Open(ref
file1address, ReadOnly: true, Visible: false);
Microsoft.Office.Interop.Word.Document insertfile =
winWord.Documents.Open(ref insertfileaddress, ReadOnly: true,
Visible: false);
//activate file1
file1.Activate();
// insert a page break
file1.Words.Last.
InsertBreak(Microsoft.Office.Interop.Word.
WdBreakType.wdPageBreak);
//move to end and insert insertfile
Microsoft.Office.Interop.Word.Selection selection = winWord.Selection;
selection = winWord.Selection;
selection.
EndOf(Microsoft.Office.Interop.Word.WdUnits.wdStory,
Microsoft.Office.Interop.Word.WdMovementType.wdMove);
selection.InsertFile(insertfileaddress.ToString(), missing,
missing, missing, missing);
// save under a new name
file1.SaveAs2(NewFileName);
В моем проекте я использую этот код дважды. В первый раз, когда я генерирую файл длиной около 300 страниц, он отлично работает.
Второй раз намного больше - размер получаемого файла превышает 15 000 страниц - и в этом случае возникает проблема. Стилизация абзаца потеряна - все абзацы отображаются как нормальные. (Что меня волнует, так это заголовки абзацев, сохраняющие обозначения «Заголовок 1», «Заголовок 2» или «Заголовок 3».
В обоих случаях file1 одинаков, а файл вставки генерируется в другом месте с использованием взаимодействия слов - и код, который генерирует этот файл, совпадает с кодом в уменьшенной и увеличенной версиях. Характеристики файла и характеристики содержимого одинаковы, но в большей версии я теряю стили «Заголовок».
Единственное решение, которое я могу придумать, - это просмотреть новый файл и снова применить стили.
Если у кого-то есть идея, почему это происходит, и как это исправить, пожалуйста, помогите.