Erro no OpenOffice ao converter DOC em PDF

Olá pessoal,

Estou tentando fazer uma sistema simples para converter arquivos do tipo .DOC para .PDF
Procurei várias formas e inclusive li sobre alguns post aqui mesmo no GUJ, onde encontrei a dica para utilizar o JODConverter.
Então, fiz o sistema e funcionou corretamente na minha máquina desktop, porém estou tentando rodá-lo no servidor Linux/Debian…
O problema é que o jodconverter utiliza as bibliotecas do OpenOffice e para habilitá-las tem que executar uma linha de comando:
/usr/lib/openoffice/program/soffice.bin -headless -accept=“socket,host=localhost,port=8100,tcpNoDelay=1;urp;”

Isso faz OpenOffice ficar escutando a porta 8100, através do netstat é possível confirmar:

tcp        0      0 127.0.0.1:8100          0.0.0.0:*               OUÇA       8246/soffice.bin
unix  2      [ ACC ]     STREAM     OUVINDO       24239    8246/soffice.bin    /tmp/OSL_PIPE_1000_SingleOfficeIPC_95c3eb2bd8f5d213a319236246af57ce

Mas quando executo este comando no servidor, ocorre o seguinte erro:

/usr/lib/openoffice/program/soffice.bin X11 error: Can't open display: :0.0
   Set DISPLAY environment variable, use -display option
   or check permissions of your X-Server
   (See "man X" resp. "man xhost" for details)

Alguém já passou pelo mesmo problema??? Sugere alguma coisa?

Bom… apesar de ninguém ter respondido eu consegui resolver o problema!

Sei que o tópico não tem haver intereiramente com Java, porém, há mtos programadores que entendem de plataforma… Até porque é interoperabilidade é extremamente necessária, por isso que postei está dúvida aqui.

  1. Para funcionar o openoffice em um servido linux sem a interface gráfica é necessário instalar outro pacote dele que se chama: openoffice.org-headless
  2. Além, deste pacote é necessário instalar o pacote: openoffice.org-java-common
  3. Depois configure o caminho do JRE nas variáveis de ambiente. (Editar arquivo: /etc/profile) E, em seguida, recompile os caminhos: source /etc/profile
  4. Para executar um processo Runtime no java sem dar o erro de: “Conection refuse”, crie um arquivo dentro de /usr/local/bin com um nome qualquer, por exemplo: start_office, dentro deste arquivo coloque o comando para o openoffice escutar a porta 8100: (Detalhe, não esqueça de mudar as permissões no arquivo)
    /usr/lib/openoffice/program/soffice.bin -headless -accept=“socket,host=localhost,port=8100,tcpNoDelay=1;urp;”
    salve e saia. Aí através da chamada de processo no Java, coloque: Process p = Runtime.getRuntime().exec(“start_office”); p.waitFor(); /* realiza conversão */ p.destroy();
  5. Reinicie o servidor para que ele pegue as configurações das variáveis de ambiente…

Referências: http://code.google.com/p/openmeetings/wiki/OpenOfficeConverter

E… seja feliz!

Vlw, espero que este post ajude as pessoas que estejam passando por esse mesmo problema.