Java 实现HTML 页面转成image 图片
来源:互联网 发布:mac 必装软件 编辑:程序博客网 时间:2024/05/21 16:59
前言
在java 中把HTML转化成图档,思路基本上是现在 AWT or Swing 的Panel上显示网页,在把Panel输出为 image 文件。
java 本身的API有提供相关的结果,但是直接产生的效果不是很好,所以有出现一些 library.
Java Core API
public class HtmlToImage {protected static void generateOutput() throws Exception {//load the webpage into the editor//JEditorPane ed = new JEditorPane(new URL("http://www.google.com"));JEditorPane ed = new JEditorPane(new URL("http://www.hefeipet.com/client/chongwuzhishi/shenghuozatan/2012/0220/95.html"));ed.setSize(200,200);//create a new imageBufferedImage image = new BufferedImage(ed.getWidth(), ed.getHeight(), BufferedImage.TYPE_INT_ARGB);//paint the editor onto the imageSwingUtilities.paintComponent(image.createGraphics(), ed, new JPanel(), 0, 0, image.getWidth(), image.getHeight());//save the image to fileImageIO.write((RenderedImage)image, "png", new File("html.png"));}public static void main(String[] args) {try {generateOutput();} catch (Exception e) {e.printStackTrace();}}}
java-html2image
下载地址:
http://code.google.com/p/java-html2image/
开源, 使用上很简洁。API Doc 和source code 都有。
import gui.ava.html.image.generator.HtmlImageGenerator;public class Html2ImageTest {public static void main(String[] args) {HtmlImageGenerator imageGenerator = new HtmlImageGenerator();//imageGenerator//.loadHtml("<b>Hello World!</b> Please goto <a title=\"Goto Google\" href=\"http://www.google.com\">Google</a>.");//imageGenerator.loadUrl("http://mtkplmap2:7001/esdm_web"); imageGenerator.loadUrl("http://www.hefeipet.com/client/chongwuzhishi/shenghuozatan/2012/0220/95.html"); imageGenerator.saveAsImage("hello-world.png");imageGenerator.saveAsHtmlWithMap("hello-world.html", "hello-world.png");}}
Cobra
免费,开源http://lobobrowser.org/cobra.jsp
public class CobraTest {public static void main(String[] args) throws Exception {JFrame window = new JFrame();HtmlPanel panel = new HtmlPanel();window.getContentPane().add(panel);window.setSize(600, 400);window.setVisible(true);new SimpleHtmlRendererContext(panel, new SimpleUserAgentContext()).navigate("http://www.hefeipet.com/client/chongwuzhishi/shenghuozatan/2012/0220/95.html");BufferedImage image = new BufferedImage(panel.getWidth(),panel.getHeight(), BufferedImage.TYPE_INT_ARGB);// paint the editor onto the imageSwingUtilities.paintComponent(image.createGraphics(), panel,new JPanel(), 0, 0, image.getWidth(), image.getHeight());// save the image to fileImageIO.write((RenderedImage) image, "png", new File("html.png"));}}
WebRenderer
收费的。
http://www.webrenderer.com/
下载包里有包含很多例子, 效果类似在swing 中使用browser的功能
总结
不管是哪一种,多于样式复杂的页面,产生的效果都不尽如人意。。。
- Java 实现HTML 页面转成image 图片
- java poi 将word转成html,ppt转成图片
- 将view转成图片image
- java实现image图片旋转
- jsp 页面转成 html 页面
- HTML image 转换二进制图片在页面显示。
- java将base64转成image
- html image图片标签
- Java Image Filters实现图片特效处理
- java 读取图片转成
- html页面图片和文字实现自适应
- 怎么样用Java实现将一张图片转成字符画
- js实现word转成html
- java doc html 转成 chm
- Java把html转成word
- html页面转成PDF,PDF下载
- HTML input 选择图片转成base64编码
- java文字转成图片显示
- 时域与频域
- 当电脑出现的验证码老是提示输入错误怎么办?
- Java与C/C++有什么区别
- Spring Httpinvoker简单Demo
- [Android] EditText 的 inputType属性(键盘类型)
- Java 实现HTML 页面转成image 图片
- xcode改工程名
- 淘宝技术发展8(分布式时代:服务化)
- 浅谈多进程多线程的选择
- 作为开发者,你不应该害怕的 8 件事
- 显示hibernate生成语句的参数
- hdu 1560
- HashMap的JavaScript简洁实现
- Java中web应用