スクリーンキャプチャを自動生成
ブログ | 2007/12/13 18:38
PHPからアップルスクリプトの実行を含んだシェルスクリプトを実行して、スクリーンキャプチャを生成するのです。
原理としては、
1. safariで目的のページを開く(applescript)
2. そのウインドウの大きさと位置を調整する。(applescript)
3. スクリーンキャプチャを撮る。(shell)
4. そのファイルをトリミングし、サイズを調整して保存。(shell)
モニターのサイズによって、数字は調整が必要。上記のものでは、MacBook 1280×800を利用。
参考
http://www.sra.co.jp/people/h-asaoka...
http://www.bison.jp/nucleus/index.ph...
http://jp.php.net/manual/ja/function...
<?php
$url = 'http://karasu.net';
$filepath = '/Users/kuwa/Documents/sc_php.png';
$cmd = <<<EOF
osascript << EOS
tell application "Safari"
activate
open location "$url"
set bounds of window 1 to {248, 22, 1048, 800}
end tell
EOS
sleep 3
screencapture $filepath
sips --cropToHeightWidth 600 770 $filepath --out $filepath
sips --resampleHeightWidthMax 300 $filepath --out $filepath
EOF;
shell_exec($cmd);
?>
原理としては、
1. safariで目的のページを開く(applescript)
2. そのウインドウの大きさと位置を調整する。(applescript)
3. スクリーンキャプチャを撮る。(shell)
4. そのファイルをトリミングし、サイズを調整して保存。(shell)
モニターのサイズによって、数字は調整が必要。上記のものでは、MacBook 1280×800を利用。
参考
http://www.sra.co.jp/people/h-asaoka...
http://www.bison.jp/nucleus/index.ph...
http://jp.php.net/manual/ja/function...
タグ »
ブック» ぼくの知ってるPHP | ぼくの知ってるMacでサーバー
リンク元
- 設定 | Rottel (2)
- safari スクリーンキャプチャ - Google Search (2)
- Safari キャプチャ - Google Search (2)
- screencapture cron - Google 検索 (2)
- キャプチャー 自動 PHP - Google 検索 (2)
- AppleScript スクリーンキャプチャ - Google Search (2)
- safari キャプチャ - Google 検索 (2)
- safari キャプチャー - Google Search (2)
- Rottel | ブックマークとブログのさっぱりサービス (2)
- キャプチャ Safari - Google Search (2)
- screencapture cron - Google 検索 (2)
- 自動キャプチャ URLリスト - Google 検索 (2)
- Yahoo!検索 - Safari Mac スクリーンキャプチャ (1)
- シェル - ブログ (1)
- 「bison.jp」の検索結果 - Yahoo!ブログ検索 (1)
- シェルスクリプト (1)
- google 検索 結果 キャプチャ - Google Search (1)
- livedoor Reader - RSSリーダー (1)
- Yahoo!検索 - url 自動 open php (1)
- Yahoo!検索 - php url キャプチャー (1)
- Yahoo!検索 - php url キャプチャ (1)
- safari キャプチャー - Google 検索 (1)
- スクリーンキャプチャ 自動 - Google 検索 (1)
- php スクリーンキャプチャ - Google 検索 (1)
- PHP URLキャプチャ - Google 検索 (1)
- safari キャプチャー - Google 検索 (1)
- 自動php - Google 検索 (1)
- スクリーン キャプチャ cmd - Google 検索 (1)
- Yahoo!検索 - 自動 キャプチャ (1)
- shell_exec シェルスクリプト - Google 検索 (1)
- Rottel | ブックマークとブログのさっぱりサービス (1)
- キャプチャ シェル - ウェブ検索 (1)
- Yahoo!検索 - キャプチャー 自動 (1)
- Yahoo!検索 - 自動 キャプチャー (1)
- php キャプチャ - Google 検索 (1)
- Yahoo!検索 - キャプチャーPHP (1)
- cron screencapture モニタ - Google 検索 (1)
- キャプチャ 自動 - Google 検索 (1)
- RSS自動生成 php - Google 検索 (1)
- キャプチャー PHP - Google 検索 (1)
- php キャプチャー - Google 検索 (1)
- Yahoo!検索 - キャプチャー 自動生成 php (1)
- Yahoo!検索 - キャプチャー 生成 (1)
- キャプチャ 生成 php - Google 検索 (1)
- スクリーンキャプチャ php - Google 検索 (1)
- [URL キャプチャ] goo ウェブ検索結果 (1)
- safari キャプチャ - Google 検索 (1)
- キャプチャ applescript - Google 検索 (1)
- キャプチャ 自動 - Google 検索 (1)
- shell applescript php 実行 - Google Search (1)
- script キャプチャ - Google 検索 (1)
- php スクリーンキャプチャ - Google 検索 (1)
- safari キャプチャ - Google 検索 (1)
- URL 自動 キャプチャ - Google 検索 (1)
- スクリーンキャプチャ 自動 - Google 検索 (1)
- キャプチャ 自動生成 - Google 検索 (1)
- キャプチャ safari - Google 検索 (1)
- AppleScript キャプチャ - Google 検索 (1)
- applescript スクリーンキャプチャ - Google Search (1)
- シェルスクリプト キャプチャー - Google 検索 (1)
- safari キャプチャ - Google Search (1)
- Yahoo!検索 - キャプチャー 自動生成 (1)
- applescript キャプチャー - Google 検索 (1)
- Babylon Search Results (1)
- 自動 スクリーン キャプチャ - Google 検索 (1)
- shell_exec 動かない - Google 検索 (1)
- Yahoo!検索 - キャプチャ 自動 URL (1)
- Yahoo!検索 - 自動キャプチャ mac (1)
- Yahoo!検索 - .net スクリーン キャプチャ (1)
- php 自動 キャプチャ - Google 検索 (1)
- [自動地形生成] goo ウェブ検索結果 (1)
- キャプチャ mac safari - Google 検索 (1)
- safari キャプチャ - Google 検索 (1)
- キャプチャ 自動生成 - Google 検索 (1)
- safari スクリーンキャプチャ - Google Search (1)
- Safari AppleScript Google - Google Search (1)
- Safari スクリーンキャプチャ - Google 検索 (1)
- unix スクリーンキャプチャ - Google 検索 (1)
- mac スクリーンキャプチャ - Google 検索 (1)
- safari キャプチャ - Google 検索 (1)
- スクリーンキャプチャ 自動 - Google 検索 (1)
- applescript safari 保存 - Google 検索 (1)
- 自動キャプチャ - Google 検索 (1)
- shell_exec 動かない - Google 検索 (1)
- php shell_exec 動かない - Google 検索 (1)
- PHP キャプチャ - Google 検索 (1)
- キャプチャ PHP - Google 検索 (1)
- php スクリーンキャプチャ - Google Search (1)
- キャプチャー 作業フロー - Google 検索 (1)
- 自動キャプチャ - Google 検索 (1)
- スクリーンキャプチャ 生成 - Google 検索 (1)
- 自動 キャプチャ - Google 検索 (1)
- safari キャプチャ - Google 検索 (1)
- キャプチャ php - Google 検索 (1)
- osascript EOF -e - Google 検索 (1)
- safari キャプチャー - Google 検索 (1)
- shell キャプチャー - Google 検索 (1)
- applescript キャプチャー - Google 検索 (1)
- +"スクリーンキャプチャ" +URLリスト - Google Search (1)
- safari キャプチャ - Google Search (1)


そこで、つまずいたことメモ。
作業フローとしては、データベースからURLを引っぱって来て、上記PHPを実行するのだけれど、cronで実行すると、screencaptureがうまく動かない。
試行錯誤の結果、アップルスクリプトアプリケーションを別途つくって、PHPには、
open -a (そのあぷり).app
にて実行させた。
アップルスクリプトには、
do shell script "screencapture /User/kuwa/Desktop/tmp.png"
みたいな一行だけを書く。