Coral

Download
Mac OS X 10.3 またはそれ以降。Web Kit を利用している。Coral 1.1 以降では、Universal Binary 化されている。
フリーウェア。
ソースコードのライセンス:BSD ライセンス。
News
- Fecuruary 24, 2009 Coral 1.3 を公開。
- June 2, 2007 Coral 1.2 を公開。
- February 13, 2006 Coral 1.1 を公開。
- April 4, 2005 Coral 1.0 を公開。
Coral(コーラル)は、Web Kitを利用した、コマンドラインの HTML 画像レンダラだ。Web ページの URL を指定して、JPEG や PNG や PDF で保存することができるんだ。
Web ページをブラウズするには、Web ブラウザを使えばいい。そのページの HTML ファイルをダウンロードするには、curl などのダウンローダが使える。では、Web ページを画像や PDF で残しておきたいときは?そんなときに、Coral を使おう。
[New]Coral 1.3 の新機能
Coral 1.3 には、フォーマットとしてwebarchive、またはWebArchiveを追加。Safariで使われている、Web Archive形式で保存できるようにした。Web Archiveで保存したファイルは、Safariやシイラで開く事ができる。
Web Archiveのサポートは、清野貴博さんから送ってもらったパッチをもとに作成した。ありがとうございました。
Coral 1.2 の新機能
Coral 1.2 では、-t/--timer オプションを追加。これを使うと、読み込みの後、指定した秒数が経過してから画像を保存する。Flash が含まれているページなどで活躍する。
あと、-d/--dialog で印刷ダイアログを表示したときに、背景の印刷の制御が効かないバグを修正。
Coral 1.1 の新機能
Coral 1.1 では、-d/--dialog オプションを追加した。このオプションを指定すると、プリントダイアログを表示して、印刷を行うことができる。コマンドラインから直接 Web ページを印刷するときに便利。
また、印刷をサポートしていないアプリケーションのためのヘルパーとしても利用できる。アプリケーションの書類を HTML として出力して、coral に -d オプションとともに出力すれば、印刷ダイアログを利用できる。
また、Coral 1.1 では Universal Binary になっている。
使い方
Coral は、コマンドラインから起動するユーティリティだ。Coral をダウンロードして解凍すると、coral というフォルダができあがる。ターミナルを起動して、その中に移動しよう。そうすると、bin フォルダの下に coral というファイルがある。これを使って Coral を起動するんだ。
画像として保存
まず、指定した URL を画像として保存するには、こうだ。
% ./coral www.apple.com
これで、Apple の Web ページを、画像として保存する。この場合、画像フォーマットはデフォルトの JPEG、ファイル名は、Web ページのタイトルを使って、'Apple.jpg' になる。
画像フォーマットの指定
画像フォーマットを指定するには、-f オプションを使うんだ。
% ./coral -f png www.apple.com
これで、PNG フォーマットで保存することになる。サポートしているフォーマットは、以下の通りだ。
- JPEG
- PNG
- GIF
- TIFF
- Web Archive
PDF を指定すると、そのページすべての領域が保存される。それ以外のフォーマットだと、スクリーンサイズ、デフォルトでは 800 x 600、の領域だけだ。スクリーンサイズの変更の仕方は、後で説明しよう。
出力ファイル名の指定
出力ファイル名は、デフォルトだと Web ページのタイトルを使う。日本語でも、そのまま使ってしまっているぜ。出力ファイル名をを指定する場合は、-o オプションを使う。
% ./coral -o apple.jpg www.apple.com
ここで、出力ファイル名に拡張子をつけると、それが自動的に画像フォーマットとして使われるんだ。この場合、-f オプションを使ってフォーマットを指定する必要がなくなるわけだ。
レンダリングサイズの指定
HTML をレンダリングするときは、そのサイズをあらかじめ決めておかなくてはいけない。デフォルトでは 800 x 600 のサイズにしている。この大きさを変更したいときは、-s オプションを使う。
% ./coral -s 400 300 www.apple.com
出力画像サイズの指定
画像として保存するときに、画像サイズを縮小することもできます。サムネイルを作るときとかに便利だ。-S オプションを使おう。レンダリングサイズとの比率か、絶対値で指定する。
% ./coral -S 0.5 www.apple.com
% ./coral -S 200 100 www.apple.com
こんな感じで、Coral を使える。
オプション一覧
文法
coral [option] URL
オプション
-c/--compress
圧縮率を指定する。0.0から1.0の少数で指定する。JPG、PNG、TIFF フォーマットで適用される。デフォルトは 1.0。
-f/--format <format>
画像フォーマットを指定する。有効な値は、次の通り。
jpg、JPG、jpeg、JPEG、png、PNG、gif、GIF、tif、TIF、tiff、TIFF、pdf、PDF、webarchive、WebArchiveこのオプションが指定されていない場合、JPEG フォーマットになる。
-h/--help
ヘルプを表示する。
-s/--screen <width height>
レンダリングするスクリーンのサイズを指定する。デフォルトは 800 x 600。
-S/--SIZE <ratio> | <width height>
出力する画像のサイズを指定する。もとの画像との比率で指定する場合は、0.0 から 1.0 の値を指定する。絶対値で指定する場合は、幅と高さを指定する。デフォルトは 1.0。PDF で保存するときは、無視される。
-d/--dialog
印刷ダイアログを表示する。
-v/--verbose
Web ページの読み込み状況を表示する。
-t/--timer <time>
読み込みが完了した後、画像を取得するまでの時間を指定する。単位は秒。
Coral の実体
Coral はコマンドラインから使えるようにしているけど、実体は Cocoa アプリケーションだ。ウィンドウを表示せず、Dock にも現れない、フェィスレスのアプリケーションということになる。
フェイスレスにするには、Info.plist に NSUIElement の項目を加える。
Coral の起動に使っている coral ファイルは、シェルスクリプトだ。ここから、coral.app/Contents/MacOS にある、実行ファイルである coral を呼び出している。
Cocoa アプリケーションなんで、NSApplicationMain を呼び出して、Cocoa のランループを走らせている。Web Kit のレンダリングが、これがないと動かないんでね。だから、通常のコマンドラインとは違うところが多いので、注意してください。