2012-09-01 2 views
0

.doc 파일을 읽을 때 누군가 내 텍스트가 왜 정렬되어 있지 않은지 알아낼 수 있는지 궁금합니다. 지금까지는 WordExtractor를 사용하고 있지만, 올바르게 정렬되지 않은 항목에 서식을 지정하는 중입니다. 다음은 Java 1.7을 사용하여 작성한 코드입니다.Apache POI 서식 지정 문제

public class Doc { 
File docFile = null; 
WordExtractor docExtractor = null ; 
WordExtractor exprExtractor = null ; 
public void read(){ 
    docFile = new File("blue.doc"); 
    try{ 
    FileInputStream fis = new FileInputStream(docFile.getAbsolutePath()); 
    HWPFDocument doc=new HWPFDocument(fis); 
    docExtractor = new WordExtractor(doc); 
    }catch(Exception e){ 
    System.out.println(e.getMessage()); 
    } 


System.out.println(docExtractor.getText()); 



    } 
} 

프로그램이 문서를 표시하는 방법.

A                  E 
I'm stuck in Folsom Prison, and time keeps draggin on. 

이 작동하지 않습니다 물론이

 A            E 
I'm stuck in Folsom Prison, and time keeps draggin on. 

답변

0

처럼 표시 할 예정이다. 문서 파일의 내용을 문자열 변수로 추출하고 있습니다 (단락과 같은 문서로 서식을 왜곡합니다). 더 나아가 텍스트를 콘솔에 출력하고 Microsoft Word와 똑같이 보일 것이라고 기대하십니까?

다음으로 무엇을하고 싶은지 생각해야합니다. 문서의 서식과 내용을 모두 확인하려고한다고 가정하면 다음과 같이 대답합니다. getText()을 사용하여 문서를 일반 텍스트로 변환하면 문서의 내용이 왜곡 된 형식으로 표시되어 도움이되지 않습니다. POI 라이브러리를 사용하면 대신 문서의 각 단락과 표에 액세스하여 원하는 내용을 확인/읽기/쓰기해야합니다.

doc.getRange()은 Range 개체를 제공합니다. http://poi.apache.org/apidocs/org/apache/poi/hwpf/usermodel/Range.html을 참조하여이 개체로 재생하면 문서의 모든 단락, 표 및 섹션에 액세스 할 수 있습니다. 프로그램을 통해 문서라는 단어를 작성하는 데 도움이 될 것입니다.