Linux 에서 OpenOffice 를 PDF 로 변환 하 는 자바 구현

1. 오픈 오피스 다운로드http://www.openoffice.org/deb 와 rpms 다운로드
2. 설치   -->deb 1 을 설치 하고 LibreOffice 를 마 운 트 해제 합 니 다. Ubuntu 가 기본적으로 LibreOffice 를 통합 하기 때문에 오픈 오 피 스 를 정식으로 설치 하기 전에 마 운 트 해제 하 는 것 을 권장 합 니 다.LibreOffice 를 마 운 트 해제 하려 면 다음 명령 을 사용 할 수 있 습 니 다.
  1.sudo apt-get remove --purge libreoffice*   2.sudo apt-get clean   3.sudo apt-get autoremove
2. 오픈 오피스 32 비트 버 전 설치 절차 1. tmp 임시 폴 더 cd / tmp / 2 로 전환. 오픈 오피스 32 비트 버 전 설치 프로그램 다운로드 3. 설치 프로그램 압축 풀기 및 설치 1. tar - xzvf 아파 치OpenOffice_4.1.1_Linux_x86_install-deb_zh-CN.tar.gz   2.cd zh-CN/DEBS
  3.sudo dpkg -i *.deb
  4.cd desktop-integration   5.sudo dpkg -i *.deb
3. 오픈 오피스 64 비트 버 전 설치 절차 1. tmp 임시 폴 더 1. cd / tmp / 2 로 전환. 오픈 오피스 32 비트 버 전 설치 프로그램 다운로드 3. 설치 프로그램 압축 풀기 및 설치 1. tar - xzvf 아파 치OpenOffice_4.1.1_Linux_x86-64_install-deb_zh-CN.tar.gz   2.cd zh-CN/DEBS   3.sudo dpkg -i *.deb   4.cd desktop-integration   5.sudo dpkg -i *.deb
    -->RPMS 설치 1. tar - xzvf OOo 사용3.2.0_LinuxIntel_install_wJRE_en - US. tar. gz 압축 해제 후 OOO 320 획득m12_native_packed-1_en-US.9483
목록2. OOO 320 입장m12_native_packed-1_en - US. 9483 디렉토리: cd OOO 320m12_native_packed-1_en - US. 94833. RPMS 디 렉 터 리 에 들 어 갑 니 다: cd RPMS 4. rpm – ivh * rpm 실행 (모든 rpm 파일 설치) 5. desktop - integration 디 렉 터 리 cd desktop - integration 6. rpm - ivh openoffice. org 3.2 - redhat - menus - 3.2 - 9472. noarch. rpm 에 들 어 갑 니 다. 이때 openOffice 는 설치 가 완료 되 었 습 니 다. 기본 값 은 / opt 에 설 치 됩 니 다. rpm 에 보고 rtld (GNU HASH) 가 설치 되 어 있 습 니 다.is needed by openoffice - core 04 - 4.1.2 - 9782. i 586 오류, rpm - ivh - f -- nodeps *. rpm 강제 설치
  • opt 디 렉 터 리 진입: cd / opt
  • openoffice. org 3 디 렉 터 리 진입: cd openoffice. org 3
  • 프로그램 디 렉 터 리 진입
  • soffice - headles - accept = "socket, host = 127.0.1, port = 8100; urp;" - nofirststartwizard & 
  • 시작 완료
  • 4. 자바 오픈 오피스 서비스 호출
    1. JodConverter 다운로드 http://download.csdn.net/detail/kerryzb/9529876
    2. 자바 호출
    package com.kerryzb.util;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.net.ConnectException;
    
    import com.artofsolving.jodconverter.DocumentConverter;
    import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
    import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
    import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
    
    public class OfficeToPDF {
    	
    	/** 
         *  Office     PDF.          OpenOffice, OpenOffice      
         * http://www.openoffice.org/ 
         *  
         * 
     
         *     : 
         * String sourcePath = "F:\\office\\source.doc"; 
         * String destFile = "F:\\pdf\\dest.pdf"; 
         * Converter.office2PDF(sourcePath, destFile); 
         * 

    *
    * @param sourceFile
    * 원본 파일, 절대 경로. Office 2003 - 2007 의 모든 형식의 문서 일 수 있 습 니 다. Office 2010 의 테스트 없 음. doc 포함,
    *. docx,. xls,. xlsx,. ppt,. pptx 등. 예제: F: \ \ \ \ office \ \ \ source. doc
    * @param destFile
    * 대상 파일. 절대 경로. 예제: F: \ \ pdf \ \ \ \ dest. pdf
    * @ return 작업 성공 여부 에 대한 알림 정보 입 니 다. - 1 을 되 돌려 주면 원본 파일 을 찾 을 수 없 거나 url. properties 설정 오류 가 발생 했 습 니 다.0 으로 돌아 가면,
    * 는 조작 이 성공 했다 는 것 을 나타 낸다.1 로 돌아 가면 전환 에 실 패 했 음 을 나타 낸다.
    */
    public static int office2PDF(String sourceFile, String destFile) throws FileNotFoundException {
    try {
    File inputFile = new File(sourceFile);
    if (!inputFile.exists()) {
    return - 1; / 원본 파일 을 찾 지 못 하면 되 돌려 줍 니 다 - 1
    }
    / / 대상 경로 가 존재 하지 않 으 면 이 경 로 를 새로 만 듭 니 다.
    File outputFile = new File(destFile);
    if (!outputFile.getParentFile().exists()) {
    outputFile.getParentFile().mkdirs();
    }
    // connect to an OpenOffice.org instance running on port 8100
    OpenOfficeConnection connection = new SocketOpenOfficeConnection(
    "127.0.0.1", 8100);
    connection.connect();
    // convert
    DocumentConverter converter = new OpenOfficeDocumentConverter(
    connection);
    converter.convert(inputFile, outputFile);
    // close the connection
    connection.disconnect();
    return 0;
    } catch (ConnectException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    return 1;
    }
    }

    좋은 웹페이지 즐겨찾기