您的位置:首页 > 文旅 > 旅游 > 网页升级访问未成年_扬中网站推广导流_seo综合查询工具有什么功能_宁波抖音seo搜索优化软件

网页升级访问未成年_扬中网站推广导流_seo综合查询工具有什么功能_宁波抖音seo搜索优化软件

2025/5/12 16:10:39 来源:https://blog.csdn.net/qq_44684238/article/details/146030637  浏览:    关键词:网页升级访问未成年_扬中网站推广导流_seo综合查询工具有什么功能_宁波抖音seo搜索优化软件
网页升级访问未成年_扬中网站推广导流_seo综合查询工具有什么功能_宁波抖音seo搜索优化软件

1. Html2Image

<dependency><groupId>gui.ava</groupId><artifactId>html2image</artifactId><version>2.0.1</version>
</dependency>
String HtmlTemplateStr = "....";// HTML
HtmlParser htmlParser = new HtmlParserImpl();
htmlParser.loadHtml(HtmlTemplateStr);
ImageRenderer imageRenderer = new ImageRendererImpl(htmlParser);
imageRenderer.saveImage("./image.png");
如果出现图片变红问题
  • 引用
public class ImageRendererSubImpl extends ImageRendererImpl {public ImageRendererSubImpl(DocumentHolder documentHolder) {super(documentHolder);}private String getImageFormat(String filename) {if (this.getImageFormat() != null) {return this.getImageFormat();} else {return filename != null ? FormatNameUtil.formatForFilename(filename) : FormatNameUtil.getDefaultFormat();}}private FSImageWriter getImageWriter(String imageFormat) {FSImageWriter imageWriter = new FSImageWriter(imageFormat);imageWriter.setWriteCompressionMode(this.getWriteCompressionMode());imageWriter.setWriteCompressionQuality(this.getWriteCompressionQuality());imageWriter.setWriteCompressionType(this.getWriteCompressionType());return imageWriter;}public void saveImage(File file) {try {BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file));this.save(outputStream, file.getName(), true);} catch (IOException var3) {throw new RenderException("IOException while rendering image to " + file.getAbsolutePath(), var3);}}public void saveImage(String filename) {this.saveImage(new File(filename));}private void save(OutputStream outputStream, String filename, boolean closeStream) {try {String imageFormat = this.getImageFormat(filename);FSImageWriter imageWriter = this.getImageWriter(imageFormat);BufferedImage bufferedImage = this.getBufferedImage(getImageType(imageFormat));imageWriter.write(bufferedImage, outputStream);} catch (IOException var15) {throw new RenderException("IOException while rendering image", var15);} finally {if (closeStream) {try {outputStream.close();} catch (IOException var14) {;}}}}/*** 获取图像类型* 根据图像的格式*/public int getImageType(String imageFormat){if ("jpg".equalsIgnoreCase(imageFormat)){return BufferedImage.TYPE_3BYTE_BGR;}if ("bmp".equalsIgnoreCase(imageFormat)){return BufferedImage.TYPE_INT_RGB;}return BufferedImage.BITMASK;}}

2. cssbox

<dependency><groupId>net.sf.cssbox</groupId><artifactId>cssbox</artifactId><version>5.0.2</version>
</dependency>
try{// 创建 ImageRenderer 实例ImageRenderer render = new ImageRenderer();// 将文件路径转换为 URLFile file = new File("./html.html");URL url = file.toURI().toURL();// 输出文件流FileOutputStream outputStream = new FileOutputStream("./html.png");// 调用 renderURL 方法render.renderURL(url.toString(), outputStream);// 关闭输出流outputStream.close();
} catch (IOException e) {e.printStackTrace();
}

3. Openhtmltopdf

<dependency><groupId>io.github.openhtmltopdf</groupId><artifactId>openhtmltopdf-java2d</artifactId><version>1.1.24</version>
</dependency>

由于过于复杂这里使用基于的html转图片代码

<!-- https://mvnrepository.com/artifact/com.github.alotuser/html2image -->
<dependency><groupId>com.github.alotuser</groupId><artifactId>html2image</artifactId><version>1.0.0</version>
</dependency>
 	String html=HtmlRender.readHtml("D://about.xhtml");
HtmlRender htmlRender=new HtmlRender(BufferedImage.TYPE_INT_RGB);//main: BufferedImage.TYPE_INT_ARGB
htmlRender.addFontDirectory("D:/myfonts");
//生成图片
htmlRender.toPng(html, "D://test.png");
//生成pdf文件
try (FileOutputStream outputStream = new FileOutputStream("D:/test.pdf")) {htmlRender.toPdf(html,outputStream);}

4. wkhtmltopdf

底层是浏览器内核所以支持js
前往下载 https://wkhtmltopdf.org/downloads.html

在这里插入图片描述

自行使用命令行调用即可

5. chrome 进行渲染这里不展开了

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com