網頁轉圖片 java_java-網頁轉圖片

對比了網上常用的好幾種網頁轉圖片的開源插件,最后效果還不如使用原生的java直接寫來得好,上代碼,很簡單,中間需要考慮網頁加載延遲的問題,所以需要加上thread.sleep,休眠一下等待網頁加載完成了,再對html進行圖片話,不然的話可能網頁沒加載出來,就已經被轉成圖片了,那就會出現白板或者部分不顯示的問題,僅做記錄,上代碼

import javax.imageio.ImageIO;

import javax.swing.*;

import javax.swing.border.EmptyBorder;

import java.awt.image.BufferedImage;

import java.awt.image.RenderedImage;

import java.io.File;

import java.net.URL;

/**

* @Author 90

*/

public class HtmlToImage {

/**

* HTML鏈接轉為圖片

* @param htmlUrl 網頁鏈接

* @param imagePath 生成的圖片路徑

* @param width 圖片寬度

* @param height 圖片高度

* @throws Exception

*/

public static void conversion(String htmlUrl, String imagePath, int width, int height) throws Exception {

JEditorPane ed = new JEditorPane(new URL(htmlUrl));

Thread.sleep(10000);

EmptyBorder eb = new EmptyBorder(0, 30, 0, 30);

ed.setBorder(eb);

ed.setSize(width, height);

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);

SwingUtilities.paintComponent(image.createGraphics(), ed, new JPanel(), 0, 0, width, height);

ImageIO.write((RenderedImage) image, "png", new File(imagePath));

}

public final static void main(String[] args) throws Exception {

HtmlToImage.conversion("http://www.google.com", "google.png", 1500, 5000);

}

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371732.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371732.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371732.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

開一個新坑吧

每天讀讀日志 給自己動力 開個新坑(外星殖民) 無聊時寫一寫 轉載于:https://www.cnblogs.com/dandansang/p/7143489.html

JMX和Spring –第1部分

這是三篇文章的第一篇&#xff0c;這三篇文章將展示如何通過JMX支持為Spring應用程序賦能。 Maven配置 這是用于設置此示例代碼的Maven pom.xml&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSche…

maven exclude java_java – Maven:從shade插件中排除依賴項

我在mvn clean install之后看過下一個字符串Including com.sun.jersey.contribs:jersey-multipart:jar:1.5 in theshaded jar問題&#xff1a;即使我已經為maven-shade-plugin添加了exlusion,我也無法使它沒有陰影(參見下面的代碼)我的maven-shade-plugin&#xff1a;org.apach…

JMX和Spring –第3部分

本文是本系列的最后一篇。 看一下第1 部分和第2部分 。 在本系列的最后一篇文章中&#xff0c;我將展示如何在JDK中使用本機JMX支持來實現一種通知機制&#xff0c;該機制可以在HEAP內存超過特定閾值時向偵聽器發出警報。 正如我在上一篇文章中討論的那樣&#xff0c;這種方法…

QScrollArea不能顯示滾動條

轉載請注明出處&#xff1a;http://www.cnblogs.com/dachen408/p/7147141.html 問題&#xff1a;QScrollArea不能顯示滾動條 解決方案&#xff1a;設置QScrollArea->setWidgetResizeable&#xff08;false&#xff09;解決問題。 例子&#xff1a; ui.scrollArea->setWi…

java婚慶網站源碼_基于jsp的婚慶網站-JavaEE實現婚慶網站 - java項目源碼

基于jspservletpojomysql實現一個javaee/javaweb的婚慶網站, 該項目可用各類java課程設計大作業中, 婚慶網站的系統架構分為前后臺兩部分, 最終實現在線上進行婚慶網站各項功能,實現了諸如用戶管理, 登錄注冊, 權限管理等功能, 并實現對各類婚慶網站相關的實體進行管理。該婚慶…

JQuery實現的模塊交換動畫效果

<!doctype html> <html><head><meta http-equiv"content-type" content"text/html;charsetutf-8" /><title>JQuery實現的模塊交換動畫效果</title><meta name"Keywords" content"jquery&#xff0c…

CKD 實現

主要功能&#xff1a;1、新物料&#xff08;部品號&#xff09;的入庫管理 部品號的驗證、描述、品名、重量、單價等 2、部品號-供應商的核對 校驗部品號/供應商的對應情況、入庫、移除等 3、BOM清單的導入 基礎清單的導入 4、訂單 CKD套件管理 物料齊套管理 箱單管理 匯總 5、…

JMX和Spring –第2部分

這篇文章從本教程的第1部分繼續。 嗨&#xff0c;在我的前一篇文章中&#xff0c;我解釋了如何通過Spring設置JMX服務器以及如何通過身份驗證和授權保護對它的訪問。 在本文中&#xff0c;我將展示如何實現一個簡單的MBean&#xff0c;該MBean允許用戶在運行時更改Log4j記錄器…

android p wifi一直在掃描_(一百六十八)Android P wifi 掃描失敗結果上報流程梳理-掃描上報梳理②...

接(一百五十五)Android P wifi 掃描失敗結果上報流程梳理-掃描上報梳理 掃描失敗上報梳理發現梳理的差了很多&#xff0c;特補充1.WificondScannerImplOverridepublic boolean startSingleScan(WifiNative.ScanSettings settings,WifiNative.ScanEventHandler eventHandler) {i…

(五)什么是RDD-JavaPython版Spark

什么是RDD 視頻教程&#xff1a; 1、優酷 2、YouTube RDD是個抽象類&#xff0c;全稱為Resilient Distributed Datasets&#xff0c;是一個容錯的、并行的數據結構&#xff0c;可以讓用戶顯式地將數據存儲到磁盤和內存中&#xff0c;并能控制數據的分區。同時&#xff0c;RDD還…

LazyInitializationException的四種解決方案–第1部分

在今天的帖子中&#xff0c;我們將討論常見的LazyInitializationException錯誤。 我們將看到四種避免該錯誤的方法&#xff0c;以及每種方法的優缺點。在本文的最后&#xff0c;我們將討論EclipseLink如何處理該異常。 為了看到LazyInitializationException錯誤并進行處理&…

linux驅動

jeffies hz xtime 每秒鐘系統時鐘節拍數 prco < 內核內存視窗 include/linux/list.h < 內核的數據結構&#xff0c;鏈表 workques_struct 工作隊列轉載于:https://www.cnblogs.com/asreg/p/7148606.html

java 條碼識別_條碼識別示例代碼

package api.jisuapi.barcode;import api.util.HttpUtil;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class Read {public static final String APPKEY "your_appkey_here";// 你的appkeypublic static final String URL "https://ap…

終極JPA查詢和技巧列表–第2部分

這一部分是該系列文章的第一部分 。 JPA&#xff1a;NamedQuery&#xff0c;使用日期查詢&#xff0c;有關getSingleResult方法的警告 為了避免重復查詢代碼&#xff0c;提高性能并簡化維護查詢&#xff0c;我們可以使用NamedQueries。 NamedQuery使用JPQL作為語法&#xff0c…

設置UITableView設置contentsize

由于UITableView是繼承自UIScrollView的&#xff0c;所以他是可以設置contentsize的。 但是&#xff0c;我在試驗的過程中&#xff0c;初始化UITableView實例后&#xff0c;直接設置它的contentsize是不起作用&#xff0c;在搜尋相關資料得知&#xff0c;UITableView會自動設置…

java 線程什么時候結束_java線程什么時候讓出cpu?

Thread.sleep();sleep就是正在執行的線程主動讓出cpu&#xff0c;cpu去執行其他線程&#xff0c;在sleep指定的時間過后&#xff0c;cpu才會回到這個線程上繼續往下執行&#xff0c;如果當前線程進入了同步鎖&#xff0c;sleep方法并不會釋放鎖&#xff0c;即使當前線程使用sle…

Hibernate配置方式

Hibernate配置方式 Hibernate給人的感受是靈活的&#xff0c;要達到同一個目的&#xff0c;我們可以使用幾種不同的辦法。就拿Hibernate配置來說&#xff0c;常用的有如下三種方式&#xff0c;任選其一。 在 hibernate.cfg.xml 中加入元素 <property>、<mapping>&a…

js中 javascript:void(0) 用法詳解

javascript:void(0)表示不做任何動作。如&#xff1a; 復制代碼代碼如下:<a href"javascript:void(0);" οnclick"alert(ok);"></a> 這里表示這個鏈接不做跳轉動作&#xff0c;執行onClick事件。 我想使用過ajax的都常見這樣的代碼&#xff1…

帶有ActiveMQ的JMS

帶有ActiveMQ的JMS JMS是Java Message Service的縮寫&#xff0c;它提供了一種以松散耦合&#xff0c;靈活的方式集成應用程序的機制。 JMS以存儲和轉發的方式跨應用程序異步傳遞數據。 應用程序通過充當中介的MOM&#xff08;面向消息的中間件&#xff09;進行通信&#xff0c…