HTMLからWordへのポイ

王林
リリース: 2023-05-15 21:14:37
オリジナル
863 人が閲覧しました

電子ドキュメントの普及と仕事での使用に伴い、さまざまなドキュメント形式が登場し始めています。仕事では、HTML を Word 形式に変換する必要がある状況に遭遇することがあります。そこで、この記事では、POI を介して HTML を Word ドキュメントに変換する方法を検討します。

POI は、Microsoft Office 形式 (Word、Excel、PowerPoint など) のドキュメントを読み書きできるライブラリを提供する優れた Java API です。 POIが提供するAPIを介して、さまざまな種類のOfficeドキュメントを簡単に操作できます。この記事では、主に POI の XWPF モジュールを使用して Word ドキュメントを読み書きします。

まず、HTML ドキュメントを準備する必要があります。HTML ドキュメントは任意のエディタを使用して編集できます。さらに、POI 関連の依存関係パッケージをプロジェクトに追加する必要があります。特定の依存関係パッケージについては、POI の公式ドキュメントを参照してください。

HTML を Word ドキュメントに変換する前に、次の手順を完了する必要があります:

  1. Word ドキュメント オブジェクトの作成

この例では、XSSFWorkbook を使用します。 Word ドキュメント オブジェクトを作成します。サンプル コードは次のとおりです:

XWPFDocument document = new XWPFDocument();
ログイン後にコピー
  1. 段落オブジェクトの作成

XWPFDocument を通じて段落オブジェクトを作成します。サンプル コードは次のとおりです。 :

XWPFParagraph paragraph = document.createParagraph();
ログイン後にコピー
  1. テキストと画像の追加

次に、HTML ドキュメントのテキストと画像を Word ドキュメントに追加する必要があります。ここでは、HTML ドキュメントをスキャンし、HTML テキストを 1 行ずつ読み取って、それを Word ドキュメントに追加する必要があります。画像を見つけたら、その画像をメモリに読み込み、XWPFRun オブジェクトを作成してその画像を Word 文書に追加する必要があります。

サンプル コードは次のとおりです:

File file = new File("test.html");
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = null;
while ((line = reader.readLine()) != null) {
     if (line.contains("<img")) {
        Pattern p = Pattern.compile("<img.*?src=\"(.*?)\"");
        Matcher m = p.matcher(line);
        String imgPath = null;
        while (m.find()) {
            imgPath = m.group(1);
        }
        if (imgPath != null) {
            InputStream is = new FileInputStream(new File(imgPath));
            paragraph.createRun().addPicture(is, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpeg", Units.toEMU(200), Units.toEMU(200));
        }
    } else {
        paragraph.createRun().setText(line);
    }
}
ログイン後にコピー

HTML テキスト コンテンツを読み取るプロセスでは、正規表現を使用して画像のパスと一致します。 img> タグ、次に、正規表現を使用して画像パスを照合し、それをメモリに読み込みます。次に、XWPFRun オブジェクトを使用して、Word 文書に画像を追加します。

  1. Word 文書を保存する

最後に、Word 文書をローカル ディスクに保存する必要があります。 Java の FileOutputStream クラスを使用して、Word 文書を指定されたファイル パスに出力できます。サンプル コードは次のとおりです。

FileOutputStream out = new FileOutputStream(new File("test.docx"));
document.write(out);
out.close();
document.close();
ログイン後にコピー

この記事のサンプル コードを使用すると、HTML ドキュメントを Word ドキュメントに変換し、ローカル ディスクに保存できます。 POI を使用して変換を実現することに加えて、Docx4j などのサードパーティ ツールを使用して HTML から Word への機能を実装することもできます。ただし、POI を使用して変換を実装する利点は、POI が Java アプリケーションに簡単に統合できるオープン ソース ツールであること、および POI を使用すると変換プロセスをより適切に制御できることです。

要約すると、この記事では、POI を使用して HTML を Word 文書に変換する方法を紹介し、同時に Word 文書にテキストや画像を追加し、文書をローカル ディスクに保存する方法についても説明します。実際の業務でもよく使われる機能ですので、この記事の内容が少しでもお役に立てれば幸いです。

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

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