Заменить слово-взаимодействие с раствором Либре/в OpenOffice.
Цель:
иметь возможность распространять наше приложение с любыми библиотеками, необходимыми для управления заменой на стороне клиента, без зависимости от Microsoft (и лицензий == $$)
ОПЕРАЦИОННАЯ
Любые другие советы, которые вам могут понадобиться, позволят нам получить фиксированный файл .DOC/.ODT + данные Oracle, чтобы создать пользовательское письмо и открыть его конечному пользователю для редактирования деталей.
Если у вас есть какие-либо сомнения по поводу альтернативных вариантов, я буду рад услышать вас!
Прямо сейчас у меня есть SW, использующий MS Interop, как показано ниже:
'-------------- Código principal ------------------------------------------- Microsoft.Office.Interop.Word.Application oApp; Microsoft.Office.Interop.Word.Document oDoc; object missing = Missing.Value; object readOnly = false; object isVisible = false; object template = ArquivoOrigem; oApp = new Microsoft.Office.Interop.Word.Application(); oDoc = oApp.Documents.Open(ref ArquivoDestino, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing); oDoc.Activate(); ReplaceVariable(oDoc, "#NAME#", "JOHN"); oDoc.Save(); object saveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdSaveChanges; oApp.Quit(ref saveChanges, ref missing, ref missing); '------ Função ReplaceVariable ------------------------------------------- private static void ReplaceVariable(Microsoft.Office.Interop.Word.Document oDoc, object FindText, object ReplaceWith) { object MatchWholeWord = true; object Foward = false; object missing = Missing.Value; Microsoft.Office.Interop.Word.Range oRng; oRng = oDoc.Range(ref missing, ref missing); oRng.Find.Execute(ref FindText, ref missing, ref MatchWholeWord, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref ReplaceWith, ref missing, ref missing, ref missing, ref missing, ref missing); oRng = oDoc.Range(ref missing, ref missing); } '--------------- end of code ------------
Это позволяет нам иметь шаблонный документ и использовать наш SW для замены полей значениями из базы данных Oracle.
Теперь мы хотели бы удалить эту зависимость Microsoft и использовать только решения LibreOffice/OpenOffice (free/open).
Какие-нибудь советы ?
Что я уже пробовал:
Просто с тех пор использовал решение Microsoft Interop... понятия не имею, с чего начать переход на ODT-библиотеки.