php、jquery、またはjavascriptのページ内にdivの画像を作成できるかどうか疑問に思っていましたか?または、ページ全体のスクリーンショット(外部ではなく自分のサーバー上)でもかまいません。
私がやりたいのは、グラフの画像(jQueryを介して描画された)を作成し、それをPDFに渡すことです。これは、jQueryをPDFに表示させることができないようです。
php、jquery、またはjavascriptのページ内にdivの画像を作成できるかどうか疑問に思っていましたか?または、ページ全体のスクリーンショット(外部ではなく自分のサーバー上)でもかまいません。
私がやりたいのは、グラフの画像(jQueryを介して描画された)を作成し、それをPDFに渡すことです。これは、jQueryをPDFに表示させることができないようです。
セキュリティ上のリスクがあるため、JavascriptでWebページのスクリーンショットを作成することはできません。これにより、クレジットカード情報などを盗むことができます。アクティブXコントロールなどを使用できますが、機能させるには、クライアントが意図的にインストールする必要があります。
PHPでは、画像を作成してWebページに配置できますが、クライアントの画面に何が表示されているかを確認することはできません。クライアントに送信する前に、サーバーで実行する必要があります。
これは、PHPでグラフを描画するために使用できるライブラリの例です。 http://www.aditus.nu/jpgraph/
スクリプトでjQueryが実行していることを模倣できる場合もありますが、アプリケーションの設計に変化が生じます。
この記事を見てください:
http://www.developerfusion.com/code/181/capture-screenshot/
これはクライアント側のコードではありませんが、PHPについて言及したので、サーバー側のコードはオプションかもしれません。クライアントサイドではできないと思います...
たとえばPHPの場合、サーバー側のグラフジェネレーターを使用するのはどうですか?移行が痛いかもしれませんが、本当に安定したシンプルなソリューションが得られます。
正確に生成するグラフの種類とサーバー側のオプションを説明すると、特定のヒントが得られると確信しています。
最善の策は、サーバー上のGDライブラリを使用して、必要に応じてグラフを生成することです。ブラウザのキャンバスをスクリーンショットする実用的な方法はありません。このPHPグラフライブラリをチェックしてください。あなたが探しているものかもしれません。
http://graphpite.sourceforge.net/
サーバーに存在しないクライアント側で処理を行っている問題(つまり、行の合計やCookieからのユーザー設定の取得)に遭遇した場合は、そのデータをに戻すことを検討する必要があります。サーバーとホスティングにそれを処理させます(結局のところ、それがあなたがたくさんのRAMと大きなCPUを備えたサーバーを実行して数を処理する理由です)。
JavaScriptがキャンバス上にグラフを描画する場合は、キャンバスをシリアル化してから、POSTを使用してサーバーに送信できます。
jqueryがキャンバスにグラフを描画できるかどうかはわかりませんが、グラフが単純なものである場合は、キャンバスにすでに描画ツールがあるため、おそらく自分でコーディングできます。
明らかに、これはキャンバスをサポートするブラウザでのみ機能します。