У меня возникли проблемы с надстройкой слова. Я пытаюсь создать новый формат документа и заставить его работать. Формат - это просто кодировка поверх существующего документа. Другими словами, я могу снять кодировку и остаться с действительным документом слова.
Экономия:
Прямо сейчас, когда пользователь хочет сохранить документ в новом формате, я предлагаю сохранить оригинал, а затем прочитать оригинал с диска, сохранив копию в новом формате. Это оставляет 2 файла в файловой системе (foo.docx и foo.myformat).
В идеале я хотел бы перехватить документ в событии DocumentBeforeSave, получить документ в виде байтового массива, преобразовать его в память и просто сохранить одну копию. Однако я не могу найти способ получить массив байтов.
Открытие:
Прямо сейчас, когда пользователь выбирает файл для открытия, который хранится в моем формате, я делаю временную копию (tmp \ blah.docx), а затем просто открываю документ с помощью Application.Documents.Open (tmp \ blah. DOCX ...).
Вместо этого я бы предпочел создать документ из потока памяти, чтобы избежать создания временных файлов. Можно ли создать новый Word.Document из памяти?
Любое направление будет с благодарностью. Большое спасибо.