0

自動ページ構成エンジンである SDL 製品 XPP を使用して、HighCharts からエクスポートした SVG チャートを印刷しようとしています。SVG ファイルにエラーがあるため、XPP は SVG グラフィックスのレンダリングを拒否しています。私は彼らのサポートチームから引用します:

送信された SVG 画像の問題は、SVG 画像をサポートするための要件に準拠していないことです。

XPP の管理マニュアルの 16 ~ 26 ページに、次のように記載されています。


SVG ドキュメントの構造

SVG ドキュメントには、XML とドキュメント タイプの宣言が必要です。ドキュメントまたはドキュメント フラグメントには、ルート要素が必要です。ルート要素は svg 名前空間を定義する必要があり、テキスト、形状、およびパスを含めることができます。


提供された SVG イメージでわかったことは、必要な XML doc タイプ宣言がないことです。

SVG画像を編集して、このようなdoc型宣言を追加して保存したところ、SVG画像をXPPで開くと、変換して表示されました。

Highcharts-Export サーバーに、エクスポートされた SVG ファイルの先頭に必要な XML および DTD 宣言を追加させることは可能でしょうか? もちろん、後処理ステップでこれらを追加することもできますが、それによって公開パイプラインが複雑になります。

おそらく関連するメモとして、ImageMagick 6.8.5 の最新バージョンでも、エクスポートされた HighChart SVG が正しくレンダリングされないことがわかりました。ただし、Inkscape 0.48+ およびさまざまなブラウザー (Chrome、Firefox、IE) はファイルに問題ないようです。

ありがとう

4

1 に答える 1

0

この変更が実際にどのような影響を与えるかはわかりません。しかし、ファイルの先頭に xml doc 宣言があるのは論理的に聞こえることを認めざるを得ません。結局のところ、それは FILE のダウンロードです。

あなたの場合、これを追加する必要があります。

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

このためにGitHubで問題を作成しました

于 2013-06-10T16:49:13.853 に答える