Java에서 Apache POI를 사용하여 Word 파일 읽기 간단한 예

Apache POI는 Apache 소프트웨어 재단의 오픈 소스 라이브러리로 POI는 자바 프로그램이 Microsoft Office 형식의 파일을 읽고 쓸 수 있도록 API를 제공한다.
1. 워드 2003 및 워드 2007에 필요한jar 패키지 읽기
2003 버전(.doc)의word 파일을 읽는 것은 상대적으로 간단합니다.poi-3.5-beta6-20090622만 필요합니다.jar와poi-scratchpad-3.5-beta6-20090622.jar 두 개의jar 패키지를 사용하면 됩니다. 2007 버전(.docx)은 번거로움이 많습니다. 제가 말한 이 번거로움은 우리가 코드를 쓸 때 번거로움이 아니라 가져올 jar 패키지가 비교적 많습니다. 다음과 같은 7개가 있습니다.
 1. openxml4j-bin-beta.jar
 2. poi-3.5-beta6-20090622.jar
 3. poi-ooxml-3.5-beta6-20090622.jar
 4 .dom4j-1.6.1.jar
 5. geronimo-stax-api_1.0_spec-1.0.jar
 6. ooxml-schemas-1.0.jar
 7. xmlbeans-2.3.0.jar
그중 4-7은 poi-ooxml-3.5-beta6-20090622.jar가 의존하는jar 패키지(poi-bin-3.5-beta6-20090622.tar.gz의ooxml-lib 디렉터리에서 찾을 수 있습니다).
2. 줄 바꿈 기호
하드 줄 바꿈: 파일에서 줄을 바꿉니다. 키보드에서 "enter"를 사용한 줄 바꿈입니다.
소프트 줄 바꿈: 파일에 있는 줄의 문자 수 용량이 제한되어 있으며, 문자 수가 일정한 값을 초과하면 자동으로 아래로 자르여 표시됩니다.
프로그램에 대해 말하자면, 하드 줄 바꾸기야말로 식별할 수 있고 확실한 줄 바꾸기이며, 소프트 줄 바꾸기는 글꼴 크기, 축소와 관련이 있다.
3. 읽기 주의사항
주의해야 할 것은 POI가word 파일에 있는 그림 정보를 읽지 못한다는 것이다.그리고 2007 버전의word(.docx)에 대해word 파일에 표가 있으면 모든 표의 데이터가 읽는 문자열의 마지막에 있습니다.
4. 워드 텍스트 내용 코드 읽기

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

import org.apache.poi.POIXMLDocument;
import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;

public class Test {
  public static void main(String[] args) {
    try {
      InputStream is = new FileInputStream(new File("2003.doc"));
      WordExtractor ex = new WordExtractor(is);
      String text2003 = ex.getText();
      System.out.println(text2003);

      OPCPackage opcPackage = POIXMLDocument.openPackage("2007.docx");
      POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
      String text2007 = extractor.getText();
      System.out.println(text2007);
      
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

좋은 웹페이지 즐겨찾기