资源简介
html转为图片的maven项目源码,使用方式特别简单,主方法中调用Html2Image中的工具方法就行,在此类中的主方法有演示,解决中文乱码问题
代码片段和文件信息
package gui.ava.html;
import gui.ava.html.imagemap.HtmlImageMap;
import gui.ava.html.imagemap.HtmlImageMapImpl;
import gui.ava.html.parser.HtmlParser;
import gui.ava.html.parser.HtmlParserImpl;
import gui.ava.html.renderer.ImageRenderer;
import gui.ava.html.renderer.ImageRendererImpl;
import org.w3c.dom.Document;
import java.io.File;
import java.io.InputStream;
import java.io.Reader;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.util.Map;
/**
* 解析文件默认编码格式为utf-8.如需更改,可以设置HtmlParserImpl的静态变量encoding
* @author Yoav Aharoni
*/
public class Html2Image {
private HtmlParser parser = new HtmlParserImpl();
private HtmlImageMap htmlImageMap;
private ImageRenderer imageRenderer;
public HtmlParser getParser() {
return parser;
}
public HtmlImageMap getHtmlImageMap() {
if (htmlImageMap == null) {
htmlImageMap = new HtmlImageMapImpl(getImageRenderer());
}
return htmlImageMap;
}
public ImageRenderer getImageRenderer() {
if (imageRenderer == null) {
imageRenderer = new ImageRendererImpl(parser);
}
return imageRenderer;
}
public static Html2Image fromDocument(Document document) {
final Html2Image html2Image = new Html2Image();
html2Image.getParser().setDocument(document);
return html2Image;
}
public static Html2Image fromHtml(String htmlMap placeholder) {
final Html2Image html2Image = new Html2Image();
html2Image.getParser().loadHtml(htmlplaceholder);
return html2Image;
}
public static Html2Image fromURL(URL urlMap placeholde) {
final Html2Image html2Image = new Html2Image();
html2Image.getParser().load(urlplaceholde);
return html2Image;
}
public static Html2Image fromURI(URI uriMap placeholde) {
final Html2Image html2Image = new Html2Image();
html2Image.getParser().load(uriplaceholde);
return html2Image;
}
public static Html2Image fromFile(File fileMap placeholde) {
final Html2Image html2Image = new Html2Image();
html2Image.getParser().load(fileplaceholde);
return html2Image;
}
public static Html2Image fromReader(Reader readerMap placeholde) {
final Html2Image html2Image = new Html2Image();
html2Image.getParser().load(readerplaceholde);
return html2Image;
}
public static Html2Image fromInputStream(InputStream inputStreamMap placeholde) {
final Html2Image html2Image = new Html2Image();
html2Image.getParser().load(inputStreamplaceholde);
return html2Image;
}
public static void main(String[] args) throws MalformedURLException {
//设置为utf-8之后乱码的原因是因为有些网站的图片不是路径,而是base64的编码
Html2Image.fromFile(new File(“C:\\Users\\Administrator\\Desktop\\新建文本文档 (2).html“)null).getImageRenderer().saveImage(“C:\\Users\\Administrator\\Desktop\\ces.png“);
// Html2Image html2Image = Html2Image.fromURL(new URL(“https://blog.csdn.net/xingzhaoqiang/article/details/51332262“)null);
// html2Image.getImageRenderer().saveImage(“C:\\
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 38 2014-09-15 09:11 html2image-master\.gitignore
文件 10 2018-03-27 14:12 html2image-master\.idea\.name
文件 632 2018-03-27 14:12 html2image-master\.idea\compiler.xm
文件 141 2018-03-27 15:28 html2image-master\.idea\encodings.xm
文件 503 2018-03-27 14:12 html2image-master\.idea\libraries\Maven__commons_io_commons_io_2_4.xm
文件 462 2018-03-27 14:12 html2image-master\.idea\libraries\Maven__junit_junit_4_8_1.xm
文件 566 2018-03-27 14:12 html2image-master\.idea\libraries\Maven__net_sourceforge_nekohtml_nekohtml_1_9_14.xm
文件 601 2018-03-27 14:12 html2image-master\.idea\libraries\Maven__org_xhtmlrenderer_flying_saucer_core_9_0_6.xm
文件 501 2018-03-27 14:12 html2image-master\.idea\libraries\Maven__xerces_xercesImpl_2_9_1.xm
文件 502 2018-03-27 14:12 html2image-master\.idea\libraries\Maven__xm
文件 443 2018-03-27 14:12 html2image-master\.idea\misc.xm
文件 260 2018-03-27 14:12 html2image-master\.idea\modules.xm
文件 28793 2018-03-27 15:48 html2image-master\.idea\workspace.xm
文件 1422 2018-03-27 15:31 html2image-master\html2image.iml
....... 35121 2014-09-15 09:11 html2image-master\LICENSE
文件 2554 2018-03-27 15:34 html2image-master\pom.xm
文件 2553 2014-09-15 09:11 html2image-master\pom.xm
....... 75 2014-09-15 09:11 html2image-master\README.md
....... 210 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\exception\RenderException.java
文件 3168 2018-03-27 15:37 html2image-master\src\main\java\gui\ava\html\Html2Image.java
....... 1215 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\imagemap\ElementBox.java
....... 655 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\imagemap\HtmlImageMap.java
....... 8133 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\imagemap\HtmlImageMapImpl.java
....... 153 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\parser\DocumentHolder.java
....... 854 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\parser\HtmlParser.java
文件 5019 2018-03-27 15:14 html2image-master\src\main\java\gui\ava\html\parser\HtmlParserImpl.java
....... 205 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\parser\ParseException.java
....... 924 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\renderer\FormatNameUtil.java
....... 1040 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\renderer\ImageRenderer.java
....... 6037 2014-09-15 09:11 html2image-master\src\main\java\gui\ava\html\renderer\ImageRendererImpl.java
............此处省略76个文件信息
评论
共有 条评论