htmlからワードJavaへ

WBOY
リリース: 2023-05-21 12:18:08
オリジナル
878 人が閲覧しました

インターネット技術の発展に伴い、ますます多くのアプリケーションが開発されており、その中でも HTML と Word は私たちがよく使用する 2 つのアプリケーションです。 HTML は、Web ページやその他の Web ドキュメントの作成に使用されるマークアップ言語です。 Word は、文書の作成と編集に使用されるテキスト編集プログラムです。 Web サイトのメンテナンス中など、オフラインで簡単に表示できるように HTML ドキュメントから Word ドキュメントを作成する必要がある場合や、オンライン レポートをアップロード可能なドキュメントに変換する必要がある場合など、HTML から Word への変換が必要な状況は数多くあります。この記事では、Java コードを使用して HTML を Word 文書に変換する方法を紹介します。

  1. 必要なライブラリをインポートする
    まず、必要なライブラリをインポートする必要があります。 Java コードを使用するため、埋め込み Java ライブラリが必要になり、Apache POI ライブラリを使用して Word ドキュメントを処理します。このライブラリを使用するには、次の依存関係をプロジェクトに追加する必要があります。

<依存関係>

<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>
ログイン後にコピー

  1. HTML ファイルの準備
    HTML ファイルを変換する前に、 HTML ファイル。これは、Web サイトからダウンロードしたドキュメント、または自分で作成したファイルです。チュートリアルを簡素化するために、後で例として使用する HTML ファイルを作成します。このファイルは、メモ帳またはその他のテキスト エディターを使用して作成できます。



<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>
ログイン後にコピー


  1. HTML ファイルを読み取り、Word ドキュメントに変換します
    このステップでは、HTML ファイルを読み取り、変換します。それをWord文書に変換します。これを行うには、この操作を実行するconvertHtmlToWordというメソッドを定義する必要があります。このメソッドは、JSoup ライブラリを使用して HTML ファイルのコンテンツを読み取り、Apache POI ライブラリを使用してそれを Word ドキュメント形式に変換します。 Javaクラスに以下のコードを記述してください。

import java.io.*;
import org.apache.poi.xwpf.usermodel.*;
import org.jsoup.*;
import org.jsoup. Nodes.*;
import org.jsoup.select.*;

public class HtmlToWordConverter {

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;
    }
}
ログイン後にコピー

}

  1. Java コードを実行して出力を表示する
    これで、Java コードを実行して出力を表示できます。このコードを実行するには、コマンド ラインで次のコマンドを入力する必要があります。

java -cp ".;path-to-all-dependency-jars*" HtmlToWordConverter

path-to-all-dependency-jars を置き換える必要があることに注意してください。ダウンロード すべての Jar へのパス。 Windows オペレーティング システムでは、セミコロンを使用して Jar パスを区切ります。

コードを実行すると、sample.docx という名前の Word ドキュメントが指定された出力パスに作成されます。 Word文書を開いて内容を確認してください。 HTML ファイルの内容と似たものが表示されます。 HTML ファイルに画像を追加すると、それに応じて Word 文書に表示されます。

結論:
この記事では、Java コードを使用して HTML ファイルを Word ドキュメントに変換する方法を紹介しました。 Apache POI ライブラリと JSoup ライブラリを使用して HTML ファイルを読み取り、Word ドキュメント形式に変換しました。単純な HTML ファイルでは、このメソッドは非常に効率的であり、直接使用できます。ただし、より複雑な HTML ファイルの場合は、変換先のターゲット形式に応じて、より詳細な調整が必要になる場合があります。

以上がhtmlからワードJavaへの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート