電子ドキュメントの普及と仕事での使用に伴い、さまざまなドキュメント形式が登場し始めています。仕事では、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 ドキュメントに変換する前に、次の手順を完了する必要があります:
この例では、XSSFWorkbook を使用します。 Word ドキュメント オブジェクトを作成します。サンプル コードは次のとおりです:
XWPFDocument document = new XWPFDocument();
XWPFDocument を通じて段落オブジェクトを作成します。サンプル コードは次のとおりです。 :
XWPFParagraph paragraph = document.createParagraph();
次に、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 文書に画像を追加します。
最後に、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 サイトの他の関連記事を参照してください。