Сохранить документ Word с помощью JACOB (Java) - PullRequest
1 голос
/ 05 августа 2010

Я пытаюсь создать простую Java-программу для открытия существующего текстового документа, изменения чего-либо и сохранения его в формате .html.

Часть, которая не работает, должна сохранить это как .html. Проблема в том, что я получил html-файл, но это только переименованный doc-файл. Так что не совсем .html-файл, с которым я могу работать.

Вот что я нашел в Google:

Object oWordBasic = Dispatch.call(oWord, "WordBasic").getDispatch(); 
Dispatch.call((Dispatch) oWordBasic, "FileSaveAs", path); 

Что мне нужно сделать, чтобы получить html-файл в качестве вывода?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 05 августа 2010

Я понял, спасибо helios за подсказку.

Правильный код:

Object oWordBasic = Dispatch.call(oWord, "WordBasic").getDispatch(); 
Dispatch.call((Dispatch) oWordBasic, "FileSaveAs", path, new Variant(8)); 

Параметром варианта является формат вывода.(например, 8 - это html, 6 - это rtf, 17 - это pdf) Полный список можно найти по адресу: Перечисление WdSaveFormat

3 голосов
/ 05 августа 2010

Для сохранения файла используется объект автоматизации OLE, поэтому вам нужно найти метод или параметр, чтобы указать тип файла.

Это макрос, который я мог записать, используя Word:

ActiveDocument.SaveAs filename:="asdd.htm", FileFormat:=wdFormatHTML, _
    LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
    :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
    SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
    False

Таким образом, это означает, что вы должны указать метод FileFormat: = wdFormatHTML (или постоянное значение) для метода SaveAs. Это оставлено в качестве упражнения для читателя:)

...