Skip to main content

Convert HTML and HTML String to Word in Java


In this article, I am going to demonstrate two approaches to convert HTML to Word in Java applications, they are:

  • Convert HTML to Word
  • Convert HTML String to Word

Add Dependencies

Free Spire.Doc for Java library is used to implement this task. If you use maven, you need to specify the following dependencies in your project's pom.xml file for including Free Spire.Doc for Java into your Java project.

<repositories>   
    <repository>   
        <id>com.e-iceblue</id>   
        <name>e-iceblue</name>   
        <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>   
    </repository>   
</repositories>   
<dependencies>   
    <dependency>   
        <groupId> e-iceblue </groupId>   
        <artifactId>spire.doc.free</artifactId>   
        <version>3.9.0</version>   
    </dependency>   
</dependencies>

For non-maven projects, you can download Free Spire.Doc for Java pack from this website and add Spire.Doc.jar in the lib folder into your project as a dependency.

Convert HTML to Word

Free Spire.Doc for Java library provides a Document class that represents a Word document. This class offers a saveToFile(String, FileFormat) method that can be used to convert a HTML file to Word document.

The input HTML document:


import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.XHTMLValidationType;
 
public class HtmlToWord {
    public static void main(String []args){
        //Create a Document instance
        Document document = new Document();
        //Load a Html file
        document.loadFromFile("Input.html", FileFormat.Html, XHTMLValidationType.None);
 
        //Save Html to Word
        document.saveToFile("HtmlToWord.docx",FileFormat.Docx_2013);
    }
}

The output Word document:


Convert HTML String to Word

To convert a HTML String to Word, you need to invoke the Paragraph.appendHTML(String) method.

import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
 
public class HtmlStringToWord {
    public static void main(String []args){
        //Create a Document instance
        Document document = new Document();
        //Add a section
        Section sec = document.addSection();
 
        //HTML string
        String htmlString = "<html><head/><body> <h1>Html Heading</h1><p>This is an html document in a string literal.</p></body></html>";
 
        //Add a paragraph to the section and append a html string to the paragraph
        sec.addParagraph().appendHTML(htmlString);
 
        //Save the result document
        document.saveToFile("HTMLstringToWord.docx", FileFormat.Docx_2013);
    }
}

The output document:








Comments