У меня возникли трудности с объединением нескольких документов Word вместе с помощью Microsoft Office Interop Assemblies (Office 2007) и ASP.NET 3.5. Я могу объединить документы, но некоторые из моих форматирования отсутствуют (а именно, шрифты и изображения).Слияние документов Word (Office Interop & .NET), Сохранение форматирования
Ниже приведен мой текущий код слияния.
private void CombineDocuments() {
object wdPageBreak = 7;
object wdStory = 6;
object oMissing = System.Reflection.Missing.Value;
object oFalse = false;
object oTrue = true;
string fileDirectory = @"C:\documents\";
Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document wDoc = WordApp.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
string[] wordFiles = Directory.GetFiles(fileDirectory, "*.doc");
for (int i = 0; i < wordFiles.Length; i++) {
string file = wordFiles[i];
wDoc.Application.Selection.Range.InsertFile(file, ref oMissing, ref oMissing, ref oMissing, ref oFalse);
wDoc.Application.Selection.Range.InsertBreak(ref wdPageBreak);
wDoc.Application.Selection.EndKey(ref wdStory, ref oMissing);
}
string combineDocName = Path.Combine(fileDirectory, "Merged Document.doc");
if (File.Exists(combineDocName))
File.Delete(combineDocName);
object combineDocNameObj = combineDocName;
wDoc.SaveAs(ref combineDocNameObj, ref m_WordDocumentType, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
}
Мне все равно, как это делается. Он может выводиться через PDF, если это необходимо. Я просто хочу, чтобы форматирование переносилось.
Никогда не используйте Управление Interop от приложение ASP.NET. См. [Соображения для автоматизации на стороне сервера Office] (http://support.microsoft.com/kb/257757) –
Продвинутый голос и проголосовали за закрытие, потому что, как есть, кто-то решит, что этот вопрос означает, что это нормально используйте Office Interop из ASP.NET. –