JavaでHTMLをテキストに変換する方法

この簡単なトピックは、JavaでHTMLをテキストに変換する方法についてです。 Windows、Linux、またはmacOSプラットフォームで実行される* Java HTMLからプレーンテキスト*への変換アプリケーションは、シンプルで簡単なAPIインターフェイスを使用して開発できます。

JavaでHTMLをテキストに変換する手順

  1. MavenリポジトリからAspose.HTML for Javaを追加するようにプロジェクトを構成します
  2. アプリケーションにAspose.HTML名前空間への参照を含めます
  3. Stringオブジェクトを使用してソースHMTLファイルのコンテンツを読み取ります
  4. HTMLDocument classオブジェクトを初期化して、ソースHTML文字列をロードします
  5. INodeIteratorクラスオブジェクトを初期化してノードを反復し、StringBuilderに追加します
  6. HTMLから抽出したテキストをディスクに保存します

数行のコードを使用してHTMLJavaベースのアプリケーションからテキストを抽出するために使用できます。ソースHTMLをStringオブジェクトにロードし、続いてHTMLDocumentクラスを使用してその文字列をロードすることでプロセスを開始します。次に、* INodeIterator *を使用して、HMTLノードを抽出し、トラバースして、StringBuilderに追加します。最後に、StringBuilderはプレーンテキストファイルとしてディスクに保存されます。

JavaでHTMLをテキストに変換するコード

import com.aspose.html.HTMLDocument;
import com.aspose.html.License;
import com.aspose.html.dom.Node;
import com.aspose.html.dom.traversal.INodeIterator;
import com.aspose.html.dom.traversal.filters.NodeFilter;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.stream.Collectors;
public class HtmlToTextCoverter {
public static void main(String[] argsHTMLFile) throws Exception {
// Setting Aspose.Html Java API license to use complete features
License lic = new License();
lic.setLicense("HTML.Total.Java.lic");
// Read the HTML file in String
String content = null;
try {
content = readFileContent("TestFile.html", StandardCharsets.UTF_8);
} catch (IOException exception) {
exception.printStackTrace();
return;
}
// Instantiate HtmlDocument object to load HTML content in String
HTMLDocument document = new HTMLDocument(content, "");
// Initialize INodeIterator instance iterate HTML nodes
INodeIterator iterator = document.createNodeIterator(document, NodeFilter.SHOW_TEXT, new StyleFilter());
StringBuilder Stringbld = new StringBuilder();
// Temp Node object
Node node;
// Iterate through Nodes
while ((node = iterator.nextNode()) != null)
Stringbld.append(node.getNodeValue());
System.out.println(Stringbld.toString());
Files.write(Paths.get("HtmlToText_Java.txt"), Stringbld.toString().getBytes());
}
public static String readFileContent(String filePath, Charset encoding) throws IOException {
String fileContent = Files.lines(Paths.get(filePath), encoding)
.collect(Collectors.joining(System.lineSeparator()));
return fileContent;
}
}
class StyleFilter extends NodeFilter {
@Override
public short acceptNode(Node node) {
// In order to skip an element while fetching nodes, mention the name of element in upper case letters
return (node.getParentElement().getTagName() == "STYLE" || node.getParentElement().getTagName() == "SCRIPT"
? FILTER_REJECT : FILTER_ACCEPT);
}
}

上記のJavaの例では、いくつかのAPI呼び出しでHTMLをプレーンテキストに変換します。 NodeFilterクラスを拡張するStyleFilterクラスを作成し、* AcceptNode *メソッドを実装して、顧客ノードフィルターを設定し、変換プロセス中にHTMLから不要なノードを除外します。

このトピックでは、JavaでHTMLからテキストを抽出する方法について説明しました。 MDファイルをXPS形式に変換することに興味がある場合は、トピックJavaを使用してMarkdownをXPSに変換するに進んでください。

 日本語