2011-10-23 42 views
9

Tôi thấy rằng có một công cụ chuyển đổi được gọi là WordToHtmlConverter nhưng phương pháp xử lý không được hiển thị. Làm cách nào để chuyển một tệp tài liệu và nhận tệp HTML (hoặc OutputStream)?Chuyển đổi Word sang HTML với Apache POI

+0

đây có phải là điều bạn yêu cầu không? http://stackoverflow.com/questions/227236/convert-word-doc-to-html-programmatically-in-java – enrique2334

+0

Nó không ... Trong Apache POI họ có một lớp mới trong gói org.apache.poi .hwpf.converter để xử lý điều đó ... nhưng không thể tìm thấy bất kỳ hướng dẫn nào về cách sử dụng chúng. – Ron

Trả lời

18

Mã này hiện đang hoạt động cho tôi!

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

Tôi có thể nhận được toàn bộ mã cho nó không ..? –

+0

Cảm ơn bạn Ron. Đề nghị của bạn đã cứu tôi. Tôi đã thử mẫu được cung cấp nhưng nó bỏ qua hình ảnh, bảng và nội dung bên trong Sơ đồ (như hộp). Có cách nào để trích xuất điều đó nữa không. Tôi thấy vài ví dụ để trích xuất hình ảnh một mình một cách riêng biệt. Có cách nào để có được tất cả cùng nhau. Nếu không, chúng ta có thể đặt những hình ảnh, bảng giống như chính xác ở vị trí của tập tin gốc. Có nghĩa là đáp ứng yêu cầu "hiển thị tệp doc dưới dạng nội dung HTML" (không bỏ qua hình ảnh, bảng, sơ đồ, v.v.) –

Các vấn đề liên quan