0

私の訪問者は、いくつかのサイトを画像ファイルとして保存できるようにして、いつでもオフラインで見ることができるようにしたいと考えています。彼らはさまざまなデバイス (タブレット、電話、PC など) とさまざまなブラウザーで私のサイトにアクセスするため、サードパーティのソフトウェアに依存することは適切な選択肢ではありません。(画像ファイル形式はほとんど無関係です)

サーバーでユーザーのためにこのタスクを実行したいと思います。できればjavascript、ajax、phpを使用するか、それ以外の場合は簡単です。ページは動的に作成されますが、比較的単純な html、いくつかのテキスト、いくつかの jpg 画像、CSS なし - 派手なもの (アニメーション GIF やフラッシュなど) はありません。動的な作成には、セッション Cookie などは必要ありません。URL (および取得) 情報だけが必要です。

これを行う方法についてはあまり考えていません。グーグルで検索すると、私ではなくエンドユーザー向けのソリューションが見つかります。私が今知っている唯一の可能性は、php-png 機能を使用することです。そうすれば、訪問者はリンクをクリックして、ダウンロード可能な動的な png ファイルに移動できます。しかし、pngを手動で「書く」必要があります.php-pngはhtmlをpngに変換できませんか?

php-png を試したのは 5 年ほど前の 1 回だけです。ちょっと面倒だった記憶があります。より簡単で拡張された機能のためのライブラリはありますか?

すべてが 1 つの質問に要約されます: HTML Web サイトから画像を作成する最も簡単な方法は何ですか? 主にユーザーにとって、そして私にとっては可能な限り簡単でなければなりません。

;) 追加のクレジット: 画像を動的に作成できるものを見つけた場合に備えて。一時的に保存されたプレビューだけを表示するのではなく、ブラウザで画像をダウンロード ディレクトリに永久に自動的にダウンロードするにはどうすればよいですか?

4

2 に答える 2

2

PDF はスケーラブルで、ハイパーリンクを含めることができるため、より優れたソリューションになります。プロセスは、ヘッドレス ブラウザーを使用してページをレンダリングし、レンダリングされた PDF を出力することです。簡単なGoogleは、いくつかの興味深い可能性を明らかにしました:

  1. Dompdf: http://code.google.com/p/dompdf/
  2. WebKit/KHTML ベースのレンダラー: https://github.com/mreiferson/php-wkhtmltox
  3. Google Chrome Webkit のサポート: http://phantomjs.org/ + https://github.com/diggin/php-PhantomjsRunner
于 2012-11-25T19:26:48.153 に答える
1

人々に画像としてダウンロードしてもらいたいページがあなた自身のものであり、それらを提供しているサーバーを制御している場合、php-imagemagickを使用してサーバー側で「スクリーンショット」画像を構築できます (ユーザーは HTML とバージョンと単一画像バージョンをダウンロードするか、HTML バージョンのボタンをクリックして画像バージョンをダウンロードします)。最初にキャンバスを定義し、次にテキスト ブロックと画像をキャンバスにレンダリングし、最後にそれを PNG または JPG 画像として保存します。

Imagemagick は、フォントに関してあまり柔軟性を提供しません。代わりにimagegetttftextを使用してテキスト ブロックをレンダリングし、それらを imagemagick 画像に追加することもできます。

この方法でイメージを構築するとサーバー側でコストがかかる可能性があるため、結果をキャッシュする必要があります。

于 2012-11-25T15:44:24.440 に答える