CssBox通过HTML生成图片

Maven管理 

<dependency>
    <groupId>net.sf.cssbox</groupId>
    <artifactId>cssbox</artifactId>
    <version>4.14</version>
</dependency>

其所以依赖的jar包:

集成调用方法:

import java.awt.Dimension;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.fit.cssbox.demo.ImageRenderer;
import org.xml.sax.SAXException;

public class Html2ImageWithCssBox {
	public static void main(String[] args) throws IOException, SAXException {
        ImageRenderer render = new ImageRenderer();
        System.out.println("start...");
        String url = "http://localhost:8080/createPic";
        FileOutputStream out = new FileOutputStream(new File("C:/Users/Desktop/worknote/new_score/myHtmlcssbox.png"));
        render.setWindowSize(new Dimension(1900, 1000), false);
        render.renderURL(url, out, ImageRenderer.Type.PNG);
        out.close();
        System.out.println("OK");
    }
}

注意事项:

1、通过源码发现其生成图片只能是“.png”和“.svg”格式;

2、中文乱码问题:集成到系统部署到Linux环境后会存在中文字符编译异常,都显示成“□”;

     解决方法是修改源码数据:找到文件“VisualContext.java” 所属:package org.fit.cssbox.layout,

     其构造函数中对font进行了初始化化:

         

    将该段修改为:font = new Font("宋体", Font.PLAIN, (int) CSSUnits.medium_font); 即可

猜你喜欢

转载自my.oschina.net/u/1264788/blog/1630604
今日推荐