본문 바로가기
Work/java

CentOs OpenOffice 설치 및 서버 실행

by 승수 2011. 12. 7.

ppt 파일을 pdf로 변환 하기 위해 OpenOffice를 사용 하게 되었는데....

서버에 설치를 먼저 해야 했다.

서버의 종류는 CentOs

먼저 http://openoffice.or.kr/main/page.php?id=download 에서 리눅스 RPM 버전을 다운 받는다.

적당한 위치에 다운 받은 파일을 업로드 하고

OOo_3.3.0_Linux_x86_install-rpm_ko.tar.gz 파일 압축을 풀어 준다.

작업은 루트로 작업 한다.

# tar zxvf OOo_3.3.0_Linux_x86_install-rpm_ko.tar.gz

# cd OOO330_m20_native_packed-1_ko.9567/RPMS

압축이 풀린 경로로 이동한다.

#rpm -i *.rpm

설치 한다.

# cd desktop-integration

경로로 이동한다. 

자신의 OS에 맞는 것을 설치 하면 되는데  

cenos는

openoffice.org3.3-redhat-menus-3.3-9556.noarch.rpm을 설치 한다.

# rpm -i openoffice.org3.3-redhat-menus-3.3-9556.noarch.rpm

# soffice -headless -accept="socket,host=localhost,port=8100;urp;" -nofirststartwizard& 서버를 실행 시켜준다.

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

unset XAUTHORITY
DISPLAY=:1000
export DISPLAY
killall Xvfb
Xvfb $DISPLAY &

이렇게 한번씩 처 주고

# soffice -headless -accept="socket,host=localhost,port=8100;urp;" -nofirststartwizard& 다시 실행 시켜준다

# ps -ef | grep openoffice 프로세스가 잘 올라 왔는지 확인 한다.

간단한 예제를 작성 해서 파일 변환이 잘 되는지 확인 하면 되는데

JODConverter 2.2.2 버전(http://sourceforge.net/projects/jodconverter/files/JODConverter/) 을 다운 받는다

압축을 풀어 주고 lib 경로에 있는 jar 파일들을 java가 설치 되어 있는

자바홈/jre/lib/ext 경로에 복사 해 준다. 

# cp *.jar /usr/local/java/jre/lib/ext
 
테스트 자바 파일

TestJod.java

import java.io.*;
import com.artofsolving.jodconverter.openoffice.connection.*;
import com.artofsolving.jodconverter.openoffice.converter.*;
import com.artofsolving.jodconverter.*;


public class TestJod {
 
  public static void main(String[] args) throws Exception {
  
   try{
    OpenOfficeConnection OOconnection = new SocketOpenOfficeConnection(8100);
         OOconnection.connect();
  
         String file = "101787320427.ppt"; //< ----- 변환대상 ppt  파일명


         String new_file_name = null;
         new_file_name = file.substring(0, file.indexOf(".")) + ".pdf";

  
         File inFile = new File(file);
         File outFile = new File(new_file_name);

  

         // the conversion
         DocumentConverter PDFconverter = new OpenOfficeDocumentConverter(OOconnection);
         PDFconverter.convert(inFile, outFile);
         OOconnection.disconnect();
   }catch(Exception e){
    System.out.println("---"+e);
   }
     
       
       
  }  

}

컴파일후 실행 하면 pdf 파일이 생성되어 있는것으 확인 할수 있다.