亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? html2pdf.java

?? 使用fop進行html到PDF文件的生成
?? JAVA
字號:
import java.io.FileInputStream;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStream;import java.io.ByteArrayOutputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMResult;import javax.xml.transform.dom.DOMSource;import org.w3c.tidy.Tidy;import org.w3c.dom.Document;import org.xml.sax.InputSource;import org.apache.fop.apps.Driver;import org.apache.fop.messaging.MessageHandler;import org.apache.fop.tools.DocumentInputSource;import org.apache.avalon.framework.logger.ConsoleLogger;import org.apache.avalon.framework.logger.Logger;/* *  Class that converts HTML to PDF using *  the DOM interfaces of JTidy, Xalan, and FOP. * *  @author N. Afshartous *  */public class Html2Pdf {    public static void main(String[] args) {	// open file	if (args.length != 2) {	    System.out.println("Usage: Html2Pdf htmlFile styleSheet");	    System.exit(1);	}	FileInputStream input = null;	String htmlFileName = args[0];		try {				input = new FileInputStream(htmlFileName);		}	catch (java.io.FileNotFoundException e) {		System.out.println("File not found: " + htmlFileName);	}        Tidy tidy = new Tidy();	Document xmlDoc = tidy.parseDOM(input, null);		Document foDoc = xml2FO(xmlDoc, args[1]);	String pdfFileName = htmlFileName.substring(0, htmlFileName.indexOf(".")) + ".pdf";	try {	    OutputStream pdf = new FileOutputStream(new File(pdfFileName));	    pdf.write(fo2PDF(foDoc));	}	catch (java.io.FileNotFoundException e) {	    System.out.println("Error creating PDF: " + pdfFileName);	}	catch (java.io.IOException e) {	    System.out.println("Error writing PDF: " + pdfFileName);	}	    }    /*     *  Applies stylesheet to input.     *     *  @param xml  The xml input Document     *       *  @param stylesheet Name of the stylesheet     *     *  @return Document  Result of the transform     */    private static Document xml2FO(Document xml, String styleSheet) {	DOMSource xmlDomSource = new DOMSource(xml);      	DOMResult domResult = new DOMResult();	Transformer transformer = getTransformer(styleSheet);		if (transformer == null) {	    System.out.println("Error creating transformer for " + styleSheet);	    System.exit(1);	}	try {	    transformer.transform(xmlDomSource, domResult);	}	catch (javax.xml.transform.TransformerException e) {	    return null;	}	return (Document) domResult.getNode();    }    /*     *  Apply FOP to XSL-FO input     *     *  @param foDocument  The XSL-FO input     *       *  @return byte[]  PDF result     */    private static byte[] fo2PDF(Document foDocument) {        DocumentInputSource fopInputSource = new DocumentInputSource(                                                         foDocument);        try {            ByteArrayOutputStream out = new ByteArrayOutputStream();            Logger log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN);            Driver driver = new Driver(fopInputSource, out);            driver.setLogger(log);            driver.setRenderer(Driver.RENDER_PDF);            driver.run();            return out.toByteArray();        } catch (Exception ex) {            return null;        }    }    /*     *  Create and return a Transformer for the specified stylesheet.     *       *  Based on the DOM2DOM.java example in the Xalan distribution.     */    private static Transformer getTransformer(String styleSheet) {	try {	    TransformerFactory tFactory = TransformerFactory.newInstance();	    DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();	    dFactory.setNamespaceAware(true);      	    DocumentBuilder dBuilder = dFactory.newDocumentBuilder();	    Document xslDoc = dBuilder.parse(styleSheet);	    DOMSource xslDomSource = new DOMSource(xslDoc);	    return tFactory.newTransformer(xslDomSource);	}	catch (javax.xml.transform.TransformerException e) {	    e.printStackTrace();	    return null;	}	catch (java.io.IOException e) {	    e.printStackTrace();	    return null;	}	catch (javax.xml.parsers.ParserConfigurationException e) {	    e.printStackTrace();	    return null;	}	catch (org.xml.sax.SAXException e) {		    e.printStackTrace();	    return null;	}    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线观看视频| 一区二区三区视频在线看| 国内精品在线播放| 亚洲婷婷综合久久一本伊一区| 欧美在线免费观看亚洲| 欧美aaa在线| 一区二区三区鲁丝不卡| 欧美精品一区二| 欧美伊人久久大香线蕉综合69| 久久久久综合网| 国产盗摄女厕一区二区三区| 亚洲成人午夜电影| 亚洲蜜臀av乱码久久精品蜜桃| 国产无遮挡一区二区三区毛片日本| 日韩欧美国产综合| 欧美一区二区在线看| 678五月天丁香亚洲综合网| 91麻豆国产福利精品| 欧美亚洲综合久久| 91精品国模一区二区三区| 欧美日韩高清在线| 91精品国产黑色紧身裤美女| www.亚洲国产| 在线观看视频91| 国产iv一区二区三区| 亚洲精品写真福利| 国产日产欧美一区| 亚洲天堂精品视频| 波多野洁衣一区| 成人免费视频播放| 国产精品天干天干在线综合| 亚洲第一福利视频在线| 国产乱码精品一区二区三区av| 成人黄色软件下载| 久久色视频免费观看| 天堂久久一区二区三区| 91丨九色丨蝌蚪富婆spa| 欧美成人aa大片| 青青国产91久久久久久| 国产白丝网站精品污在线入口| 51精品久久久久久久蜜臀| 午夜日韩在线电影| 韩国欧美国产一区| 欧美午夜免费电影| 中文字幕亚洲一区二区va在线| 亚洲精品中文在线观看| 久久99久久99| 波多野结衣中文一区| 精品动漫一区二区三区在线观看| 亚洲超碰精品一区二区| 99精品视频在线播放观看| 综合精品久久久| 精品一区二区精品| 精品粉嫩aⅴ一区二区三区四区 | 美女视频一区二区| 欧美中文字幕一区二区三区| 一区二区三区中文字幕电影| 欧美伊人久久大香线蕉综合69| 日日噜噜夜夜狠狠视频欧美人 | 一区二区中文字幕在线| 不卡的av网站| 亚洲精选视频在线| 色婷婷精品大视频在线蜜桃视频 | 手机精品视频在线观看| 日韩精品自拍偷拍| 成人综合婷婷国产精品久久免费| 亚洲精品国产无套在线观| 欧美人xxxx| 高清国产午夜精品久久久久久| 国产精品久久99| 欧美一级国产精品| 色综合天天综合色综合av| 日本不卡一二三| 亚洲人成网站色在线观看| 91麻豆精品久久久久蜜臀| 岛国av在线一区| 久久机这里只有精品| 亚洲一区在线观看网站| 日韩欧美成人一区| 色狠狠色狠狠综合| 亚洲一级二级三级| 欧美电影在线免费观看| 国产精品一区不卡| 亚洲精品视频在线看| 色一情一伦一子一伦一区| 日韩电影免费在线| 国产区在线观看成人精品| 欧美日韩一级片在线观看| 国产成人自拍高清视频在线免费播放| 中文字幕亚洲不卡| 欧美成人官网二区| 欧美日韩午夜在线视频| 福利一区二区在线| 麻豆国产欧美日韩综合精品二区| 国产精品国产三级国产三级人妇| 欧美成人猛片aaaaaaa| 欧美羞羞免费网站| 床上的激情91.| 久久机这里只有精品| 天天综合天天做天天综合| 国产精品嫩草99a| 久久久亚洲高清| 精品日韩在线观看| 4438x成人网最大色成网站| 色综合久久久久久久久久久| www.亚洲在线| 91猫先生在线| 91黄色激情网站| 欧美视频第二页| 欧美日韩电影在线播放| 91精品久久久久久蜜臀| 欧美久久久一区| 88在线观看91蜜桃国自产| 欧美精品三级日韩久久| 日韩午夜激情免费电影| 欧美xxxx老人做受| 日韩精品一区二区三区四区| 日韩一区二区在线免费观看| 欧美成人精品1314www| 国产日产欧美一区| 日韩欧美在线一区二区三区| 精品视频一区二区不卡| 欧美老肥妇做.爰bbww| 欧美激情在线看| 日本aⅴ亚洲精品中文乱码| 日韩伦理av电影| 成人毛片老司机大片| 欧美一区二区日韩| 欧美一区二区免费观在线| 久久精品人人做人人爽人人| 亚洲免费观看在线视频| 免费在线观看视频一区| 97久久精品人人做人人爽50路| 欧美一级艳片视频免费观看| 国产精品久久久久影院亚瑟| 男男gaygay亚洲| 欧美日韩一区二区欧美激情| 中文字幕一区在线| 风间由美中文字幕在线看视频国产欧美| 色视频成人在线观看免| 欧美日韩在线播| 日韩精品中文字幕在线一区| 亚洲五码中文字幕| 91捆绑美女网站| 中文字幕亚洲区| 99re8在线精品视频免费播放| 5月丁香婷婷综合| 久久夜色精品一区| av亚洲精华国产精华精| 日本最新不卡在线| 成人午夜大片免费观看| 欧美日韩在线播放一区| 中文字幕不卡在线| 极品少妇xxxx精品少妇偷拍| 91久久精品午夜一区二区| 国产亚洲污的网站| 日韩电影网1区2区| 日本高清免费不卡视频| 日本一区二区久久| 精品一区二区在线视频| 5858s免费视频成人| 成人美女视频在线观看18| 欧美刺激午夜性久久久久久久| 亚洲欧美日韩精品久久久久| 国产福利一区在线| 精品少妇一区二区三区免费观看| 亚洲成人综合在线| 在线视频你懂得一区二区三区| 国产精品久久夜| 成人免费看视频| 国产精品成人一区二区艾草| 狠狠v欧美v日韩v亚洲ⅴ| 日韩欧美在线网站| 精品一区二区免费| 久久精品男人的天堂| 国产成人免费高清| 国产欧美日韩一区二区三区在线观看| 国产毛片精品国产一区二区三区| 精品欧美乱码久久久久久1区2区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美性感一类影片在线播放| 中文字幕在线一区二区三区| 国产成人精品www牛牛影视| 久久久久久一级片| 国产高清成人在线| 国产欧美日韩另类一区| 99re视频这里只有精品| 亚洲一区二区在线播放相泽| 欧美系列在线观看| 韩国av一区二区三区| 精品欧美一区二区在线观看| 国产一区二区三区免费观看| 中文字幕在线一区免费| 色婷婷狠狠综合| 精品在线观看视频| 亚洲欧美日韩国产手机在线| 日韩午夜精品电影| 99精品久久久久久| 日本aⅴ免费视频一区二区三区 | 91麻豆精品国产|