2011-10-23 3 views
9

WordToHtmlConverter이라는 변환기가 있지만 처리 방법이 공개되지 않습니다. doc 파일을 전달하고 HTML 파일 (또는 OutputStream)을 얻는 방법은 무엇입니까?Apache POI를 사용하여 Word를 HTML로 변환

+0

이것은 무엇입니까? http://stackoverflow.com/questions/227236/convert-word-doc-to-html-programmatically-in-java – enrique2334

+0

아파치 POI에는 org.apache.poi 패키지의 새 클래스가 있습니다. .hwpf.converter 그걸 처리 할 수 ​​있지만 그들을 사용하는 방법에 대한 자습서를 찾을 수 없습니다. – Ron

답변

18

이 코드는 현재 나를 작동시키고 있습니다.

HWPFDocumentCore wordDocument = WordToHtmlUtils.loadDoc(new FileInputStream("D:\\temp\\seo\\1.doc")); 

    WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(
      DocumentBuilderFactory.newInstance().newDocumentBuilder() 
        .newDocument()); 
    wordToHtmlConverter.processDocument(wordDocument); 
    Document htmlDocument = wordToHtmlConverter.getDocument(); 
    ByteArrayOutputStream out = new ByteArrayOutputStream(); 
    DOMSource domSource = new DOMSource(htmlDocument); 
    StreamResult streamResult = new StreamResult(out); 

    TransformerFactory tf = TransformerFactory.newInstance(); 
    Transformer serializer = tf.newTransformer(); 
    serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); 
    serializer.setOutputProperty(OutputKeys.INDENT, "yes"); 
    serializer.setOutputProperty(OutputKeys.METHOD, "html"); 
    serializer.transform(domSource, streamResult); 
    out.close(); 

    String result = new String(out.toByteArray()); 
    System.out.println(result); 
+0

전체 코드를 얻을 수 있습니다 ..? –

+0

감사합니다. 론. 네 제안이 나를 구 했어. 제공된 샘플을 시도했지만 다이어그램 (예 : 상자) 내에서 이미지, 표 및 내용을 건너 뜁니다. 그것도 추출 할 방법이 있습니까? 이미지를 따로 따로 추출하는 몇 가지 예를 보았습니다. 모두 함께 할 수있는 방법이 있습니까? 그렇지 않으면 원본 파일의 위치에 정확히 같은 이미지, 표를 배치 할 수 있습니다. "doc 파일을 HTML 컨텐트로 렌더링"(이미지, 표, 다이어그램 등을 건너 뛰지 않음) 요구 사항을 충족시키는 수단 –

관련 문제