In diesem einfachen Thema geht es darum, HTML in Java in Text zu konvertieren. In Java HTML zu Klartext Konvertierungsanwendung, die unter Windows-, Linux- oder macOS-Plattformen läuft, kann mit einfachen und einfachen API-Schnittstellen entwickelt werden.
Schritte zum Konvertieren von HTML in Text in Java
- Konfigurieren Sie Ihr Projekt, um Aspose.HTML for Java aus dem Maven-Repository hinzuzufügen
- Nehmen Sie den Verweis auf den Namespace Aspose.HTML in Ihre Anwendung auf
- Lesen Sie den Inhalt der HTML-Quelldatei mit dem String-Objekt
- HTMLDocument class-Objekt initialisieren, um den Quell-HTML-String zu laden
- Initialisieren Sie das Klassenobjekt INodeIterator, um Knoten zu iterieren und in StringBuilder anzuhängen
- Speichern Sie den aus HTML extrahierten Text auf der Festplatte
Um Text aus HTML zu extrahieren, kann Java-basierte Anwendung mit wenigen Codezeilen verwendet werden. Wir werden den Prozess einleiten, indem wir Quell-HTML in ein String-Objekt laden und anschließend diesen String mit der Klasse HTMLDocument laden. Wir werden dann INodeIterator verwenden, um die HTML-Knoten zu extrahieren, zu durchlaufen und an einen StringBuilder anzuhängen. Schließlich wird der StringBuilder als reine Textdatei auf der Festplatte gespeichert.
Code zum Konvertieren von HTML in Text in Java
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); | |
} | |
} |
Das obige Beispiel in Java konvertiert HTML in einfachen Text in wenigen API-Aufrufen. Wir haben die StyleFilter-Klasse erstellt, die die NodeFilter-Klasse erweitert und die AcceptNode-Methode implementiert, um die Kundenknotenfilter festzulegen und die unerwünschten Knoten aus HTML während des Konvertierungsprozesses auszulassen.
In diesem Thema haben wir untersucht, wie Text aus HTML in Java extrahiert wird. Wenn Sie an der Konvertierung der MD-Datei in das XPS-Format interessiert sind, fahren Sie mit dem Thema Konvertieren Sie Markdown mit Java in XPS fort.