วิธีแปลง HTML เป็นข้อความใน Java

หัวข้อง่ายๆ นี้เกี่ยวกับวิธี แปลง HTML เป็นข้อความใน Java ในแอปพลิเคชันการแปลง Java HTML เป็นข้อความธรรมดา ที่ทำงานภายใต้แพลตฟอร์ม Windows, Linux หรือ macOS สามารถพัฒนาได้โดยใช้อินเทอร์เฟซ API ที่ง่ายและสะดวก

ขั้นตอนในการแปลง HTML เป็นข้อความใน Java

  1. กำหนดค่าโครงการของคุณเพื่อเพิ่ม Aspose.HTML for Java จากที่เก็บ Maven
  2. รวมการอ้างอิงถึงเนมสเปซ Aspose.HTML ในแอปพลิเคชันของคุณ
  3. อ่านเนื้อหาไฟล์ HMTL ต้นทางโดยใช้วัตถุสตริง
  4. เริ่มต้น HTMLDocument class วัตถุเพื่อโหลดสตริง HTML ต้นทาง
  5. เริ่มต้นวัตถุคลาส INodeIterator เพื่อวนซ้ำโหนดและต่อท้ายใน StringBuilder
  6. บันทึกข้อความที่แยกจาก HTML บนดิสก์

เพื่อที่จะ แยกข้อความจากแอปพลิเคชันที่ใช้ HTML Java โดยใช้โค้ดไม่กี่บรรทัด เราจะเริ่มต้นกระบวนการโดยการโหลดซอร์ส HTML ลงในอ็อบเจกต์สตริง จากนั้นโหลดสตริงนั้นโดยใช้ คลาส HTMLDocument จากนั้นเราจะใช้ 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

 ไทย