Include Following Jars in classpath:
1. itextpdf-5.4.2.jar
2. jdom-1.1.jar
3. tagsoup-1.2.jar
4. xmlworker-5.4.1.jar
Run WebPageToPdf.java
1. itextpdf-5.4.2.jar
2. jdom-1.1.jar
3. tagsoup-1.2.jar
4. xmlworker-5.4.1.jar
Run WebPageToPdf.java
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; import org.jdom.output.XMLOutputter; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.tool.xml.XMLWorkerHelper; public class WebPageToPdf{ public static void main(String[] args) throws JDOMException, DocumentException { URL url; try { //----------------------- HTML CREATTION ------------------------ // get URL content url = new URL("http://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm"); URLConnection conn = url.openConnection(); // open the stream and put it into BufferedReader BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; //save to this filename String fileName = "C://temp_html.html"; File file = new File(fileName); if (!file.exists()) { file.createNewFile(); } //use FileWriter to write file FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); while ((inputLine = br.readLine()) != null) { bw.write(inputLine); System.out.println(inputLine); } bw.close(); br.close(); System.out.println("Html Creation Done"); //----------------------- HTML CREATTION ------------------------ //----------------------- HTML TO XML CREATTION ------------------------ FileWriter fwOutXml =null; FileReader frInHtml=null; BufferedWriter bwOutXml =null; BufferedReader brInHtml=null; frInHtml = new FileReader("C:\\temp_html.html"); brInHtml = new BufferedReader(frInHtml); SAXBuilder saxBuilder = new SAXBuilder("org.ccil.cowan.tagsoup.Parser", false); org.jdom.Document jdomDocument = saxBuilder.build(brInHtml); XMLOutputter outputter = new XMLOutputter(); outputter.output(jdomDocument, System.out); fwOutXml = new FileWriter("C:\\temp_xml.xml"); bwOutXml = new BufferedWriter(fwOutXml); outputter.output(jdomDocument, bwOutXml); System.out.flush(); System.out.println("XML Creation Done"); fwOutXml.flush(); fwOutXml.close(); bwOutXml.close(); //----------------------- HTML TO XML CREATTION ------------------------ //----------------------- XML TO PDF CREATTION ------------------------ Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C://pdf.pdf")); document.open(); XMLWorkerHelper.getInstance().parseXHtml(writer, document,new FileInputStream("C://temp_xml.xml")); document.close(); System.out.println( "PDF Created Successfully" ); //----------------------- XML TO PDF CREATTION ------------------------ File html_temp_file = new File("C://temp_html.html"); File xml_temp_file = new File("C://temp_xml.xml"); xml_temp_file.delete(); html_temp_file.delete(); System.out.println("Both Files Deleted Successfully"); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Showing error in SAXBuilder i.e java.lang.ClassNotFoundException: org.xml.sax.SAXNotRecognizedException.
ReplyDelete