Как запустить OpenOffice.org в качестве фонового процесса для подключения моего приложения к использованию UNO Java API? - PullRequest
1 голос
/ 20 сентября 2011

Прямо сейчас я запускаю OpenOffice.org 3.3 с аргументами "-accept = socket, host = 0, port = 8100; urp;" использование сценария оболочки (файл .bat в Windows, файл .sh в Solaris). Запускается OpenOffice.org и появляется главный экран (тот, где вы можете выбрать тип документа, открыть шаблон или открыть файл). В конце концов, этот экран будет отключен - я вижу, что для этого есть аргументы.

После запуска OpenOffice.org я могу запустить свое приложение и создать свой документ с помощью библиотек API UNO для Java. На этом этапе открыты как экран главного меню OpenOffice.org, так и мой документ. Однако когда я закрываю документ, экран главного меню OpenOffice.org также закрывается, и процесс OpenOffice.org завершается. Если я использую свое приложение для создания другого документа, оно не сможет подключиться (поскольку процесс soffice больше не выполняется).

Моя цель состоит в том, чтобы иметь возможность запустить процесс (или запустить его при запуске системы, если пользователь настраивает его таким образом), отложить его до явного завершения и продолжать принимать новые сгенерированные документы.

Как мне получить желаемое желаемое поведение? Прямо сейчас мой вариант использования состоит в том, что процесс soffice запускается из сценария оболочки, однако другой вариант использования заключается в том, что soffice настроен для запуска при запуске системы. Возможно ли мое поведение только при запуске процесса soffice другим способом (как при запуске системы, а не при выполнении через пакетный скрипт)? Единственный другой вариант, который я вижу (который я сейчас рассматриваю), - это запустить процесс OpenOffice.org «по требованию» из моего Java-приложения, либо запустить его из Java-приложения и завершить его, когда Java-приложение завершится, либо запустить каждый раз, когда мне нужно создать новый документ.

1 Ответ

4 голосов
/ 20 сентября 2011

Вы можете добавить параметры -invisible и -headless в командную строку при запуске soffice.exe.

Это будет скрывать главное окно, когда OOo - очень похоже на «службу».

Насколько я помню, при открытии документа даже не будет отображаться главное окно OOo.

...