Используйте OpenOffice из командной строки для преобразования HTML в RTF

Я пытаюсь создать скрипт bash в Cygwin, который будет конвертировать HTML-файлы в RTF. В OS X это тривиально с textutils, но это не существует для обычных Linux или Cygwin. Вместо этого я пытаюсь использовать OpenOffice из командной строки.

Я читал в другом месте, что OpenOffice может работать без головы с программой, обычно установленной как /usr/bin/ooffice, но в Cygwin под Windows это, очевидно, не работает-установщик OpenOffice не строит собственные символические ссылки Cygwin и даже не может установка Windows, эквивалентную ooffice.

как я могу использовать OpenOffice из командной строки в Cygwin для преобразования HTML-файлов в RTF-файлы?

5
задан Andrew
источник

3 ответов

есть очень удобный скрипт с именем unoconv, который обрабатывает преобразование любых файлов из и в любой формат, поддерживаемый OpenOffice/LibreOffice. Вы можете прочитать об этом на сайте и не забудьте проверить на странице. Для многих дистрибутивов есть пакеты, которые вы можете легко установить, в том числе, я считаю, cygwin.

после того, как вы его установили, использование в вашем случае будет означать указание входного html-файла и выходного rtf-файла, такого как это:

unoconv file.html file.rtf

все готово :)

конечно, это может быть сценарий для обработки нескольких файлов ситуациях. Если вы используете zsh, вы можете запустить что-то вроде этого, чтобы преобразовать целую папку html-файлов:

for file in *html; do
    unoconv "$file" "${file/html/rtf}"
done
4
отвечен Caleb 2012-09-21 07:01:09
источник

Я бы предложил JODConverter. Это оболочка java вокруг Api OpenDoc для преобразования. Позволяет конвертировать файлы следующим образом:

java -jar jodconverter-cli-2.2.0.jar foo.html foo.rtf

Он также доступен в python.

вместо openoffice SDK DocumentSaver класса, как это:

java -classpath .;./bin;\
                $OO/program/classes/jurt.jar;\
                $OO/program/classes/ridl.jar;\
                $OO/program/classes/sandbox.jar;\
                $OO/program/classes/unoil.jar;\
                $OO/program/classes/juh.jar  \
    DocumentSaver uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager  file:///C:/test/foo.html file:///C:/test/foo.rtf
6
отвечен DaveParillo 2010-07-30 23:07:00
источник

Я могу помочь с первой частью вашего вопроса. Вот пример запуска OpenOffice из командной строки Cygwin:

/cygdrive/c/Program\ Files/OpenOffice.org\ 3/program/soffice.exe -help

это даст вам список аргументов командной строки. Я не видел никаких, которые конвертировали бы типы файлов или даже "Сохранить как", но я не исследовал API. Возможно, вы сможете заполнить эту часть. Я OpenOffice.org 3.2 320m12(сборка:9483).

1
отвечен garyjohn 2010-07-30 19:08:46
источник

Другие вопросы bash conversion cygwin openoffice