Avec le développement de la technologie Internet, de plus en plus d'applications ont été développées, parmi lesquelles HTML et Word sont deux applications que nous utilisons souvent. HTML est un langage de balisage utilisé pour créer des pages Web et d'autres documents Web. Word est un programme d'édition de texte utilisé pour créer et modifier des documents. Il existe de nombreuses situations dans lesquelles HTML en Word doit être converti, par exemple lorsque vous devez créer un document Word à partir d'un document HTML pour une visualisation hors ligne lors de la maintenance d'un site Web, ou pour convertir un rapport en ligne en un document pouvant être téléchargé. Dans cet article, je vais vous présenter comment convertir un document HTML en Word à l'aide du code Java.
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.1</version> </dependency>
<meta charset="UTF-8"> <title>HTML to Word Conversion</title>
<h1>This is a sample HTML file</h1> <p>Here is some text that we will convert to Word format.</p> <ul> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ul> <br /> <ol> <li>Numered item 1</li> <li>Numered item 2</li> <li>Numered item 3</li> </ol>
Lit le fichier HTML et le convertit en Word Document
Dans cette étape, nous allons lire le fichier HTML et le convertir en document Word. Pour ce faire, nous devons définir une méthode appelée convertHtmlToWord pour effectuer cette opération. Cette méthode utilise la bibliothèque JSoup pour lire le contenu du fichier HTML et le convertir au format de document Word à l'aide de la bibliothèque Apache POI. Veuillez écrire le code suivant dans une classe Java.
import java.io.*;
import org.jsoup.*;#🎜🎜 #import org.jsoup.nodes.*;
import org.jsoup.select.*;
public static void main(String[] args) { String inputFilePath = "D:\sample.html"; String outputFilePath = "D:\sample.docx"; convertHtmlToWord(inputFilePath, outputFilePath); } public static void convertHtmlToWord(String inputFilePath, String outputFilePath) { try { String html = readFile(inputFilePath); Document document = Jsoup.parse(html); XWPFDocument doc = new XWPFDocument(); Elements elements = document.body().children(); for (Element element : elements) { if (element.tagName().equals("h1")) { XWPFParagraph paragraph = doc.createParagraph(); XWPFRun run = paragraph.createRun(); run.setText(element.text()); run.setBold(true); } else if (element.tagName().equals("p")) { XWPFParagraph paragraph = doc.createParagraph(); XWPFRun run = paragraph.createRun(); run.setText(element.text()); } else if (element.tagName().equals("ul")) { XWPFParagraph paragraph = doc.createParagraph(); XWPFRun run = paragraph.createRun(); Elements listItems = element.children(); int i = 1; for (Element listItem : listItems) { run.setText(i + ". " + listItem.text() + "
i++; } } else if (element.tagName().equals("ol")) { XWPFParagraph paragraph = doc.createParagraph(); XWPFRun run = paragraph.createRun(); Elements listItems = element.children(); int i = 1; for (Element listItem : listItems) { run.setText(listItem.text() + "
i++; } } } FileOutputStream out = new FileOutputStream(outputFilePath); doc.write(out); out.close(); } catch (IOException ex) { System.out.println(ex.getMessage()); } } public static String readFile(String filePath) { try { BufferedReader reader = new BufferedReader(new FileReader(filePath)); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { stringBuilder.append(line); } return stringBuilder.toString(); } catch (IOException ex) { System.out.println(ex.getMessage()); return null; } }
}
Exécutez le code Java et voyez le résultat
Maintenant, nous pouvons exécuter Java code et voir la sortie. Pour exécuter ce code, vous devez entrer la commande suivante sur la ligne de commande.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!