2016-04-01 4 views
0

これは私を馬鹿にしています:(私はD3を使ってsvg文書を生成してから、それをphantomJsでレンダリングし、.svgとして出力します。次のようにコードでD3 - append( 'foreignObject')は、テキストとtspan要素を追加するだけです。

、私はforeignObjectを生成しています:

svg.select("#def-commit") .append('foreignObject') .attr('width', 100) .attr('height', 100) .attr('x', 50) .attr('y', 50) .attr('requiredFeatures','http://www.w3.org/TR/SVG11/feature#Extensibility') .append('xhtml:p') .text("a big chunk of text that should wrap");

を今奇妙なことは、生成された文書は、すべてのDOMにforeignObjectノードを持たないことである代わりに、。それはtextとネストされたtspanです。同様に:

<g xmlns="http://www.w3.org/2000/svg" id="def-commit"> <circle r="15" cx="0" cy="0"/> <text xmlns="http://www.w3.org/1999/xhtml"><tspan style="font-size: 11.5pt; font-family: &quot;sans-serif&quot;;" x="0" y="14.5">a big chunk of text that should wrap</tspan> </text> </g>

何が欠けていますか?

その他の情報: D3 - 最新 - 3.5.16 SVG宣言ので

<svg xmlns:xhtml="http://www.w3.org/1999/xhtml" id="mermaidChart0" width="1200" height="904.0178571428571" style="width: 1192; height: 904.0178571428571;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

答えて

0

、これは大きな野生のガチョウの追跡であることが判明しました!

少し背景 - 私はmermaidに図を追加しようとしています。

svgをスキャンしてすべてのforeignObjectsをtext/tspanに置き換えるコードがあります:)そのようなことは想像もしていませんでした。なぜ私がソースをgrepしなかったのか通常はやります!

はケースで誰かが(私はそれを疑うが)ここ​​に土地を行う - それは読書のため'lib/phantomscript.js'

おかげでここです。

関連する問題