2012-07-02 17 views
11

Googleのチャートを使用して、チャートの画像をメールに埋め込もうとしています。したがって、各ユーザーには一意のグラフが表示されます。Google Charts as Image

私たちはAPIを使用してチャートをレンダリングし、メールクライアントに画像を配信する一意のURLを埋め込むことができます。

+0

グーグルチャートの画像チャート機能は、http://datamakessense.com/kpi-emails-with-google-charts-url-parameters – AdrianBR

答えて

4

Google Chart Wizardを使用してグラフのイメージをレンダリングするURLを生成することができます。しかし、そのサービスは最近(4月に私が信じる)非難されたためです。それでも問題なく動作しますが、長期的な解決策として、別の方法を考え出す必要があります。

編集

もう一つの方法は、画像を生成し、電子メールを送信する前に、サーバーに保存することです。これは、サーバー上で特定のスラッグを解析することによってチャートを生成することを専有するページを作成し、チャートがロードされたときに画像データを含むPOST要求を送信することによって行うことができます。あなたは、次のようなchart.getImageURI()を使用して、チャートのPNG形式のバージョンを取得することができ

chart_area = document.getElementById("chart_div").getElementsByTagName('iframe')[0].contentDocument.getElementById("chartArea"); 
svg = chart_area.innerHTML; 
canvas = document.getElementById("hidden_canvas"); 
canvas.setAttribute('width', chart_area.offsetWidth); 
canvas.setAttribute('height', chart_area.offsetHeight); 

canvg(canvas, svg); 
image_data_uri = canvas.toDataURL("image/png"); 
+1

を参照してください。 –

7

::あなたは隠されたキャンバス(HTML5が必要)とcanvg javascriptのプラグインを使用してデータURIにアクセスすることができ

はするニーズグラフが描画された後、readyイベントでも同様に!

少し遅れて相手に
var my_div = document.getElementById('my_div'); 
var my_chart = new google.visualization.ChartType(chart_div); 

google.visualization.events.addListener(my_chart, 'ready', function() { 
    my_div.innerHTML = '<img src="' + chart.getImageURI() + '">'; 
}); 

my_chart.draw(data); 
1

が、この質問にもかかわらず、ほぼ3.5歳であることので、私たちは、この正確な必要性のためにhttps://ChartURL.comを建て、そこに最高のソリューションChartURLは廃止Google画像チャートAPI :)

になるまで

これは誰かを助けることを願っています!