2011-09-20 4 views
1

지금 당장은 "-accept = socket, host = 0, port = 8100; urp;"라는 인수를 사용하여 OpenOffice.org 3.3을 시작합니다. 쉘 스크립트 (Windows에서는 .bat 파일, Solaris에서는 .sh 파일)를 사용합니다. OpenOffice.org가 시작되고 주 화면이 나타납니다 (문서 유형을 선택하거나, 서식 파일을 열거 나, 파일을 열 수있는 화면). 결국,이 화면은 비활성화 될 것입니다 - 그 목적을위한 논의가 있음을 알았습니다.UNO Java API를 사용하여 내 응용 프로그램을 연결하기위한 백그라운드 프로세스로 OpenOffice.org를 실행하려면 어떻게해야합니까?

OpenOffice.org를 시작한 후에 Java 용 UNO API 라이브러리를 사용하여 응용 프로그램을 시작하고 문서를 만들 수 있습니다. 이 시점에서 OpenOffice.org 주 메뉴 화면과 내 문서가 모두 열립니다. 그러나 문서를 닫으면 OpenOffice.org 기본 메뉴 화면도 닫히고 OpenOffice.org 프로세스가 종료됩니다. 내 응용 프로그램을 사용하여 다른 문서를 생성하는 경우 soffice 프로세스가 더 이상 실행 중이 지 않으므로 연결할 수 없습니다.

내 목표는 프로세스를 시작할 수있는 것입니다 (또는 사용자가 그렇게 구성한 경우 시스템 시작으로 시작해야 함). 명시 적으로 종료 될 때까지 앉아서 새 생성 된 문서를 받아 들일 것입니다.

원하는 동작을 어떻게 얻을 수 있습니까? 지금 당장은 soffice 프로세스가 쉘 스크립트에서 시작되지만, soffice는 시스템 시작시 실행되도록 구성되어 있습니다. soffice 프로세스를 다른 방법으로 실행하는 것만으로 제 행동이 가능합니까 (배치 스크립트를 통해 실행하는 것보다 시스템 시작시와 동일)? 내가 지금 보 고있는 유일한 다른 옵션은 Java 응용 프로그램에서 OpenOffice.org 프로세스를 "주문형"으로 시작하는 것입니다. Java 응용 프로그램에서 시작하고 Java 응용 프로그램이 끝나거나 시작할 때 종료합니다. 새 문서를 만들 때마다이 프로세스가 필요합니다.

답변

4

soffice.exe를 시작할 때 매개 변수 -invisible-headless을 명령 줄에 추가 할 수 있습니다.

이렇게하면 "서비스"와 매우 유사하게 주 창을 숨 깁니다.

필자가 기억하는 한, 문서를 여는 경우에는 OOo 기본 창도 표시되지 않습니다.

+0

그건 내 문제가 아니야. 내 문제는 문서 창이 닫힐 때 OO.org 프로세스가 종료된다는 것입니다. 문서가 생성되어 OO.org 응용 프로그램에 표시된 후 사용자가 문서를 닫으면 OO.org 프로세스도 종료되어 사용자가 두 번째 문서를 생성하지 못하게합니다. –

+0

-invisible은 "서비스 프로세스"가 종료되는 것을 막을 것이라고 생각합니다. 그것들을 시험해보십시오. 그것은 나를 위해 일했습니다 –

+0

두 번 확인해 보겠습니다. 내가 알기로는 내가 찾던 것을 성취하지 못했습니다. –

관련 문제