@Saranya_Sekar
Thank you for being patient.
We have converted respective code to Java as per your requirements. Please try using it and then share your kind feedback with us.
For EPUB to PDF conversion:
Stream stream = new FileStream(dataDir + "Test.epub", FileMode.Open);
PdfDevice device = new PdfDevice(dataDir + "EPUBtoPDF.pdf");
EpubRenderer renderer = new EpubRenderer();
{
renderer.render(device, stream);
}
For MHTML to PDF conversion:
Stream stream = new FileStream(dataDir + "Test.mht", FileMode.Open);
PdfDevice device = new PdfDevice(dataDir + "MHTMLtoPDF.pdf");
MhtmlRenderer renderer = new MhtmlRenderer();
{
renderer.render(device, stream);
}
To iterate nodes with INodeIterator
, please use below code:
HTMLDocument document = new HTMLDocument(dataDir + "Expected Demo.html");
// Initialize the instance of node iterator
//(https://apireference.aspose.com/java/html/com.aspose.html.dom.traversal/INodeIterator) that allows to navigate across HTML DOM
com.aspose.html.dom.traversal.INodeIterator iterator;
iterator = document.createNodeIterator(document, com.aspose.html.dom.traversal.filters.NodeFilter.SHOW_TEXT, new StyleFilter());
StringBuilder sb = new StringBuilder();
com.aspose.html.dom.Node node;
while ((node = iterator.nextNode()) != null)
sb.append(node.getNodeValue());
System.out.println(sb.toString());
/// <summary>
/// Represents a user filter created in order to ignore content of the 'style' and 'script' element.
/// </summary>
public class StyleFilter extends com.aspose.html.dom.traversal.filters.NodeFilter {
public short acceptNode( com.aspose.html.dom.Node n) {
return (n.getParentElement().getTagName() == "STYLE" || n.getParentElement().getTagName() == "SCRIPT" ? FILTER_REJECT : FILTER_ACCEPT);
}
}
Moreover, manipulating DOM via JavaScript means that JS-scripts inside the document effects on document itself (manipulate with DOM structure). For instance:
<p id="demo">A Paragraph.</p>
<script>
document.getElementById("demo").setInnerHTML("Paragraph Changed");
</script>
We hope this will be helpful. Please feel free to contact us if you need any further assistance.