2011-02-11 15 views
0

私は作業中のWebアプリケーションの特定の領域を印刷する際に問題を解決しようとしています。問題は、印刷の呼び出しは単なる背景画像/色は常に消え、背景画像の問題のように作用する荷重にwindow.print()を呼び出すには<rect ... />.Javascript window.print()は私に別の出力を与えます

としての棒グラフをレンダリングhighchartsのJSです。しかし、ブラウザのメニューからページを印刷するときに、そのページを表示する必要があります。何故それが印刷されないのでしょうか?<rect />

+1

印刷スタイルシートはありますか? – alex

+1

Joza、インラインコード – mplungjan

+0

AFAIKのバックスティック '\' 'を使用すると、ほとんどのブラウザは、印刷ダイアログ/ブラウザの設定で背景を印刷するかどうかを決定する"背景画像の印刷 "オプションを提供します。あなたの場合、この点は重要ですか? –

答えて

2

タイミングの問題があります。あなたはすべてのブラウザから、あなたはそれを印刷しようとする前にすることができます、SVGがレンダリングされている必要があるものからSVGを印刷することはできません

window.onload = function() { 
    window.focus(); 
    window.print(); 
} 
+0

私はすでに – Joe

+1

で呼んでいますが、これはうまくいきませんでした。Hmm ...私はフォーカスを追加して、ブラウザ。 – jimmystormig

+2

正しい方向に私を指摘してくれてありがとう、問題はタイミングと思われる、window.focus()はうまくいかなかった。 settimeoutを使って作業しました。 :-) – Joe

1

のようなものを試してみてください。

私は、バージョン2.0からのエクスポートモジュール をhere代替

を読んでは、ユーザーが画像をダウンロードしたり、チャートの PDF年代することを可能にする 、Highchartsのために利用可能です。このモジュール は、余分なJavaScriptファイル exporting.jsと、PHPで書かれたWebサービスまたは サーバモジュールで構成されています。 Highslideソフトウェアは、 エクスポートWebサービスを無料で提供しています。 エクスポートモジュールを図表 に含めると、右上に という2つのボタンが表示されます。 1つのボタンは の図表を印刷します。これはクライアント側で 側でのみ実行されます。他のボタンは、 のエクスポートを処理します。既定では、グラフのSVG は POSTからhttp://export.highcharts.com、 に送信され、Apacheの バティックコンバータを使用してPDF、PNGまたはJPEGに変換されます。

+0

私はすでにこのオプションを検討していますが、データを第三者のサーバーに送ることは望ましくありません。また、別の方法は、私のサーバー上でホストされているコードをURLにエクスポートコードを送信し、画像を保存してからチャートを印刷するために使用することでした - 私は最後の手段としてこれをオフにしています – Joe

関連する問題