Ši paprasta tema yra apie tai, kaip konvertuoti HTML į tekstą Java. Naudojant Java HTML į paprastą tekstą konvertavimo programą, veikiančią Windows, Linux arba MacOS platformose, galima sukurti naudojant paprastas ir paprastas API sąsajas.
Veiksmai, kaip konvertuoti HTML į tekstą Java
- Sukonfigūruokite projektą, kad pridėtumėte Aspose.HTML for Java iš Maven saugyklos
- Į savo programą įtraukite nuorodą į Aspose.HTML vardų sritį
- Skaitykite šaltinio HMTL failo turinį naudodami String objektą
- Inicijuokite HTMLDocument class objektą, kad įkeltumėte šaltinio HTML eilutę
- Inicijuokite INodeIterator klasės objektą, kad kartotumėte mazgus ir pridėkite prie StringBuilder
- Išsaugokite ištrauktą tekstą iš HTML diske
Norint ištraukti tekstą iš HTML Java, galima naudoti kelias kodo eilutes. Pradėsime procesą įkeldami šaltinio HTML į eilutės objektą ir vėliau įkeldami tą eilutę naudodami HTMLDocument class. Tada naudosime INodeIterator, norėdami išgauti, pereiti ir pridėti HMTL mazgus prie StringBuilder. Galiausiai “StringBuilder” bus išsaugotas kaip paprasto teksto failas diske.
Kodas konvertuoti HTML į tekstą 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); | |
} | |
} |
Aukščiau pateiktas pavyzdys Java konvertuoja HTML į paprastą tekstą keliais API iškvietimais. Sukūrėme StyleFilter klasę, kuri išplečia NodeFilter klasę ir įdiegė AcceptNode metodą, kad nustatytume klientų mazgų filtrus ir konversijos proceso metu pašalintume nepageidaujamus HTML mazgus.
Šioje temoje mes ištyrėme kaip išgauti tekstą iš HTML Java. Jei jus domina MD failo konvertavimas į XPS formatą, pereikite prie temos, kaip konvertuoti Markdown į XPS naudojant Java.