[英]generate image (e.g. jpg) of a web page?
我想創建一個網頁看起來像的圖像,例如創建一個html +圖像的小縮略圖。 它不一定是完美的(例如flash / javascript渲染)。
我將調用linux上的代碼,理想情況下是一些java庫,但命令行工具也會很酷。
有任何想法嗎?
嘗試CutyCapt ,一個命令行實用程序。 它使用Webkit進行各種格式的渲染和輸出(SVG,PNG等)。
通過使用瀏覽器插件,您可以使其近乎完美,並且也可以跨平台。
適用於Firefox的FireShot或ScreenGrab 。
BrowserShots是一個開源項目,可能有一些你可以使用的代碼。
另見:
要使用ImageMagick在終端中截取屏幕截圖,請在終端中鍵入以下行,然后在屏幕的某個部分單擊並拖動鼠標:
import MyScreenshot.png
要捕獲整個屏幕並在延遲一段時間后調整大小,請使用以下命令:
import -window root -resize 400×300 -delay 200 screenshot.png
您可以使用xwininfo和import的混合來檢索瀏覽器的窗口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感興趣,也許您可以使用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.