簡體   English   中英

生成網頁的圖像(例如jpg)?

[英]generate image (e.g. jpg) of a web page?

我想創建一個網頁看起來像的圖像,例如創建一個html +圖像的小縮略圖。 它不一定是完美的(例如flash / javascript渲染)。

我將調用linux上的代碼,理想情況下是一些java庫,但命令行工具也會很酷。

有任何想法嗎?

嘗試CutyCapt ,一個命令行實用程序。 它使用Webkit進行各種格式的渲染和輸出(SVG,PNG等)。

通過使用瀏覽器插件,您可以使其近乎完美,並且也可以跨平台。

BrowserShots是一個開源項目,可能有一些你可以使用的代碼。

另見:

要使用ImageMagick在終端中截取屏幕截圖,請在終端中鍵入以下行,然后在屏幕的某個部分單擊並拖動鼠標:

import MyScreenshot.png

要捕獲整個屏幕並在延遲一段時間后調整大小,請使用以下命令:

import -window root -resize 400×300 -delay 200 screenshot.png 

您可以使用xwininfoimport的混合來檢索瀏覽器的窗口ID並制作該窗口的屏幕截圖。 用於自動執行此過程的bash腳本將是這樣的:

#!/bin/bash
window_id=`xwininfo -tree -root | grep Mozilla | awk '{print $1}'`
import -window $window_id -resize 100x100 tumb.png

該腳本將在當前目錄下以tumb.png的名稱創建一個100x100的Firefox屏幕截圖

幾個來源展示了如何從Java應用程序內部運行bash腳本,谷歌可以幫助你。 如果你趕時間,請檢查這個這個

如果您對Java感興趣,也許您可​​以使用Selenium-RC http://seleniumhq.com查看瀏覽器自動化

這是一個可以安裝在盒子上的小型Java服務器,程序本身將在Web瀏覽器中執行遠程命令。

像這樣的步驟(順便說一下,這是偽代碼,我在php中編寫了我的Selenium代碼,我無法回想起100%的細節)

selenium.location("http://foo.com")
selenium.open("/folder/sub/bar.html")
selenium.captureScreenshot("/tmp/" + this.getClass().getName() + "."
                               + testMethodName + ".png");

實際上,我剛剛對最后一個的確切語法做了一個快速的網絡搜索...這個人有一個博客,其中可能實際上是java中的代碼:) https://dev.youdevise.com/YDBlog/index。 PHP?標題= capture_screenshots_of_selenium_browser_&更= 1& C = 1&TB = 1&PB = 1

還有一些網站提供這種服務“跨瀏覽器和操作系統”我只是不記得它們是什么。 基本上他們擁有每個操作系統和瀏覽器組合的雲,他們登錄每台機器,拿一個屏幕並將其存儲在他們的網站上,讓他們在完成后的幾個小時內回來。

啊......另一個網絡搜索,它是你的:) http://browsershots.org/

閱讀本頁后,我想,讓我開啟midori瀏覽器: http//midori-browser.org/當我嘗試-h選項時,我看到:

  -s, --snapshot      Take a snapshot of the specified URI

QutyCapt很難編譯,並且有許多依賴項。 Midori減少了。 它將網站的PNG輸出到TMP文件夾。 可以通過以下方式獲取文件:

midori -s http://www.rcdwealth.com new.png 2>/dev/null | awk '{ print $4}'

之后,可以使用ImageMagick的轉換程序將文件轉換為縮略圖大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM