Как да конвертирате HTML в текст в Java

Тази проста тема е за това как да конвертирате HTML в текст в Java. В Java HTML към обикновен текст приложението за преобразуване, работещо под Windows, Linux или macOS платформи, може да бъде разработено с помощта на прости и лесни API интерфейси.

Стъпки за конвертиране на HTML в текст в Java

  1. Конфигурирайте проекта си, за да добавите Aspose.HTML for Java от хранилището на Maven
  2. Включете препратката към пространството от имена Aspose.HTML в приложението си
  3. Прочетете съдържанието на изходния HMTL файл с помощта на String обект
  4. Инициализирайте обект HTMLDocument class, за да заредите изходния HTML низ
  5. Инициализирайте обект на клас INodeIterator, за да итерирате възли и да добавите в StringBuilder
  6. Запазете извлечения текст от HTML на диск

За да извлечете текст от HTML Java базирано приложение, можете да използвате няколко реда код. Ще започнем процеса, като заредим изходния HTML в String обект и впоследствие заредим този String с помощта на HTMLDocument class. След това ще използваме INodeIterator за извличане, преминаване и добавяне на HMTL възлите към StringBuilder. Накрая StringBuilder ще бъде записан като обикновен текстов файл на диска.

Код за конвертиране на HTML в текст в 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);
}
}

Горният пример в Java преобразува HTML в обикновен текст в няколко извиквания на API. Създадохме StyleFilter клас, който разширява NodeFilter класа и имплементираме AcceptNode метода за задаване на филтри за клиентски възли и пропускане на нежеланите възли от HTML по време на процеса на конвертиране.

В тази тема проучихме как да извлечем текст от HTML в Java. Ако се интересувате от преобразуване на MD файл във формат XPS, продължете към темата как да конвертирайте Markdown в XPS с помощта на Java.

 Български