2011-08-14 2 views
1

제발 누군가가 단락으로 텍스트를 넣는 것을 도와주세요. 이 코드가 있습니다아파치 poi로 HWPF 문서를 만드는 방법

private void createDOCDocument(String from, File file) throws Exception { 

    POIFSFileSystem fs = new POIFSFileSystem(DOCGenerator.class.getClass().getResourceAsStream("/poi/template.doc")); 
    HWPFDocument doc = new HWPFDocument(fs); 
    Range range = doc.getRange(); 
    Paragraph par1 = range.insertAfter(new ParagraphProperties(), 0);  
    CharacterRun run1 = par1.insertAfter(from); 
    run1.setFontSize(11); 
    DocumentSummaryInformation dsi = doc.getDocumentSummaryInformation(); 
    CustomProperties cp = dsi.getCustomProperties(); 
    if (cp == null) 
     cp = new CustomProperties(); 
    cp.put("myProperty", "foo bar baz"); 
    dsi.setCustomProperties(cp); 
    doc.write(new FileOutputStream(file)); 

} 

을하지만 직접 범위에 문자열 "에서"를 넣어 경우,이 결과 문서에있을 것이라는 문제는,하지만 난 단락을 작성하는 경우, 대신 거기에 넣어 문서가 비어 있습니다. 비록 내가 아파치 tika와 그것의 WordExtractor로 처리하더라도, 그것은 아무 것도 얻지 못한다.

btw /poi/template.doc는 비어있는 문서입니다.

나는 이런 식으로 할 경우

Paragraph par1 = range.getParagraph(0); 
CharacterRun run1 = par1.insertAfter(from); 

과에서

는 "무엇이든"다음 문서의 시작 부분에 "W"(초기) 문자가 ... 도대체가 무엇입니까?

답변

4

POI에 대한 최근 야간 빌드/svn 체크 아웃을 시도해보십시오. HWPF 코드베이스는 현재 Sergey에 의해 많은 노력을 받고 있으며, 여러분이 설명한 것과 같은 버그가 최근에 고쳐졌습니다.