捕獲和轉換Web的工具

拍攝網站屏幕快照或將HTML轉換為Java中的圖像

Java API

使用以下功能創建完美的網站圖像截圖或將HTML直接轉換為圖像 GrabzIt的Java API。 但是,在開始之前,請記住 URLToImage, HTMLToImage or FileToImage 方法 Save or SaveTo 方法必須被調用以截取屏幕截圖。

基本選項

只需一個參數即可截取網頁或 轉換HTML into圖片 文件。 如下例所示。

grabzIt.URLToImage("https://www.tesla.com");
//Then call the Save or SaveTo method
grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>");
//Then call the Save or SaveTo method
grabzIt.FileToImage("example.html");
//Then call the Save or SaveTo method

圖像截圖格式

GrabzIt的Java API可以採取幾種格式的圖像截圖,包括JPG,PNG,WEBP,BMP(8位,16位,24位或32位)和TIFF。 圖像截圖的默認格式為JPG。 但是,在這些情況下,對於某些應用程序而言,JPEG圖像的質量可能不夠好,建議將PNG格式用於圖像屏幕截圖,因為它可以在質量和文件大小之間取得良好的平衡。 以下示例顯示了使用PNG格式拍攝的圖像截圖。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setFormat(ImageFormat.PNG);

grabzIt.URLToImage("https://www.tesla.com", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.png");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setFormat(ImageFormat.PNG);

grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.png");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setFormat(ImageFormat.PNG);

grabzIt.FileToImage("example.html", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.png");

瀏覽器大小

瀏覽器大小是指在大多數情況下無需捕獲屏幕快照時將使用的瀏覽器窗口大小,因為默認瀏覽器大小足以滿足幾乎所有任務。 要設置瀏覽器大小,只需將一個值傳遞給 setBrowserWidthsetBrowserHeight 的方法 ImageOptions 類。

更改圖像尺寸

更改圖像的大小很容易,但要做到不扭曲圖像就更難了。 為了簡化整個過程,我們建議您使用 簡單的圖像尺寸計算器.

如果要將圖像的寬度和高度增加到大於瀏覽器的寬度和高度(默認為1366 x 728像素),則瀏覽器的寬度和高度也必須增加以匹配。

自訂識別碼

您可以將自定義標識符傳遞給 圖片 方法,如下所示,然後將該值返回到您的GrabzIt Java處理程序。 例如,此自定義標識符可以是數據庫標識符,從而允許將屏幕截圖與特定的數據庫記錄相關聯。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setCustomId("123456");

grabzIt.URLToImage("https://www.tesla.com", options);
//Then call the Save method
grabzIt.Save("http://www.example.com/handler");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setCustomId("123456");

grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>", options);
//Then call the Save method
grabzIt.Save("http://www.example.com/handler");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setCustomId("123456");

grabzIt.FileToImage("example.html", options);
//Then call the Save method
grabzIt.Save("http://www.example.com/handler");

全長截圖

GrabzIt允許您拍攝整個網頁的完整屏幕截圖,您需要將-1傳遞給 setBrowserHeight 方法。 為了確保圖片與瀏覽器大小匹配,請將-1傳遞給 setHeightsetWidth 方法。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setBrowserHeight(-1);
options.setWidth(-1);
options.setHeight(-1);

grabzIt.URLToImage("https://www.tesla.com", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setBrowserHeight(-1);
options.setWidth(-1);
options.setHeight(-1);

grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setBrowserHeight(-1);
options.setWidth(-1);
options.setHeight(-1);

grabzIt.FileToImage("example.html", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg");

您還可以返回未裁剪的縮略圖,但是請注意,這會創建較大的圖像。 為此,將-1傳遞給 setHeight 和/或 setWidth 方法。 傳遞-1的任何尺寸都不會被裁剪。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setWidth(-1);
options.setHeight(-1);

grabzIt.URLToImage("https://www.tesla.com", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setWidth(-1);
options.setHeight(-1);

grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.setWidth(-1);
options.setHeight(-1);

grabzIt.FileToImage("example.html", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg");
請注意,瀏覽器沒有全長!

使用這些特殊值意味著您可以創建一個截圖,該截圖是整個網頁的完整版本!

截取頁面元素的屏幕截圖

GrabzIt允許您拍攝任何HTML元素的屏幕截圖,只要它具有id或class屬性,例如 div or span 標記並捕獲其所有內容。 為此,您必須將要截屏的HTML元素指定為 CSS選擇器.

...
<div id="features">
	<img src="http://www.example.com/football.jpg"/><h3>Local Team Loses</h3>
</div>
...

在下面的示例中,捕獲了id為“ features”的div,並將其輸出為250 x 250px JPEG圖像。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

// The 250 parameters indicates that image should be sized to 250 x 250 px
ImageOptions options = new ImageOptions();
options.setWidth(250);
options.setHeight(250);
options.setFormat(ImageFormat.JPG);
options.setTargetElement("#features");

grabzIt.URLToImage("http://www.bbc.co.uk/news", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg");

下一個示例再次捕獲“功能” div,但是這次輸出的JPEG圖像與div的大小完全相同。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

// The -1 indicates that image should not be cropped
ImageOptions options = new ImageOptions();
options.setWidth(-1);
options.setHeight(-1);
options.setBrowserHeight(-1);
options.setFormat(ImageFormat.JPG);
options.setTargetElement("#features");

grabzIt.URLToImage("http://www.bbc.co.uk/news", options);
//Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg");