多くの人がこの問題と戦っているのを見てきましたが、適切な解決策も、自分のニーズに合った解決策も見つかりません。
私はRaphaelでいくつかのグラフを作成していますが、基本的にはそれらをPNGとして取得する必要があります(エクスポート用、または後でPDFで使用するためなど)。Firefox、Chrome、IE 9、およびSVGをサポートするその他のブラウザーの場合は簡単です。これを実現するには、実際には2つの方法があります。canvgを使用してSVGをcanvas要素にレンダリングしてから、画像データを取得します。または、SVGをサーバー(C#)に送信し、ライブラリを使用してラスタライズします。
もちろん、問題はIE 8と7です。これらのブラウザーでは、RaphaelはVMLを出力し、明らかにSVGソースを取得する方法はありません。VMLラスタライザーが見つからなかったため、VMLをSVGに変換するか、SVGで用紙を再描画するという1つの解決策しかありません。
PHPのvectorconvertライブラリを確認しました。これは実際にXSLT変換を使用してVMLをSVGに変換しますが、機能させることができませんでした(XSLをテストするためにいくつかのツールを試しましたが、どちらも機能しないようです)。
.type
プロパティ、、.svg
を適切に変更することで、RaphaelにSVGを非表示のdivに出力させようとしました.vml
が、それも機能しませんでした。
IEにいる間にSVGツリーを非表示のDIVに書き込む方法があるかもしれないと思います。ブラウザに表示されないという事実にもかかわらず、テキストはそこにあるはずです。
誰かがそれを達成する方法を知っていますか?ありがとう!