回答編集履歴

2

回答者より 編集履歴よりコピペ

2016/02/27 09:30

投稿

kuniku
kuniku

スコア253

test CHANGED
@@ -1 +1,91 @@
1
1
  先に他の簡易な方法が投稿されているため削除しました
2
+
3
+
4
+
5
+
6
+
7
+ 以下、編集履歴よりコピペ
8
+
9
+
10
+
11
+ SVGは、中身はXML形式なのでそのXMLの中身の文字列を、
12
+
13
+ サーバ側に送信してサーバ側では、その文字列をXMLファイルとして
14
+
15
+ 必要なタグを補完するなどして、ファイル保存すれば、SVGファイルになると思います。
16
+
17
+ まったく動作を確認していませんが、以下のような仕組みのような
18
+
19
+ 簡易な状態から試してみると良いのではないでしょうか。
20
+
21
+ ・SVGファイル、htmlファイル内のsvg描画、サーバに送信(post)する
22
+
23
+ ・サーバ側では、postされたときのパラメータを、保存して、XMLタグを補完する。
24
+
25
+ 参考
26
+
27
+ http://d.hatena.ne.jp/dhrname/20070312/1173709775
28
+
29
+ http://memopad.bitter.jp/w3c/svg/svg_inhtml.html
30
+
31
+ http://dresscording.com/blog/svg/retina_svg.html
32
+
33
+ ●SVG
34
+
35
+ <?xml version="1.0" encoding="UTF-8" ?>
36
+
37
+ <svg height="850" width="850" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
38
+
39
+ <defs>
40
+
41
+ <script>
42
+
43
+ </script>
44
+
45
+ </defs>
46
+
47
+ <g id="rectangle">
48
+
49
+ <rect height="100%" style="fill:#FFFFFF" width="100%" x="0" y="0"></rect>
50
+
51
+ </g>
52
+
53
+ </svg>
54
+
55
+ ●html側
56
+
57
+ <div id="divSVG" value="0" >
58
+
59
+ <embed name="nSVG" wmode="transparent" id="idSVG"
60
+
61
+ style="position:absolute; top:0px; left:0px; z-index:1;" src="上記のSVGと過程" BGCOLOR=#ffffff>
62
+
63
+ </div>
64
+
65
+ embedやobjectでのhtmlに埋め込み
66
+
67
+ post用のhiddenタグを用意
68
+
69
+ <form>
70
+
71
+ <input type="hidden" name="nodeSVG">
72
+
73
+ </form>
74
+
75
+ ●js
76
+
77
+ var docSVG = idSVG.getSVGDocument();
78
+
79
+ var objSVG = docSVG.getElementsByTagName("svg").item(0);
80
+
81
+ var str = idSVG.window; // ここの取得が不明瞭
82
+
83
+ document.form.nodeSVG.value = str.printNode(objSVG);
84
+
85
+ document.form.submit();
86
+
87
+
88
+
89
+ もしくは
90
+
91
+ docSVGが文字列ならば、その文字列をhiddenにセットしてpostする

1

削除

2016/02/27 09:30

投稿

kuniku
kuniku

スコア253

test CHANGED
@@ -1,103 +1 @@
1
- SVGは、中身はXML形式なのでそのXMLの中身の文字列を、
2
-
3
- サーバ側に送信してサーバ側では、その文字列をXMLファイルとして
4
-
5
- 必要なタグを補完するなどして、ファイル保存すれば、SVGファイルになると思います。
6
-
7
-
8
-
9
- まったく動作を確認していませんが、以下のような仕組みのような
10
-
11
- 簡易な状態から試しと良いのではないでょうか。
1
+ 先に他の簡易な方法が投稿されため削除ました
12
-
13
-
14
-
15
- ・SVGファイル、htmlファイル内のsvg描画、サーバに送信(post)する
16
-
17
- ・サーバ側では、postされたときのパラメータを、保存して、XMLタグを補完する。
18
-
19
-
20
-
21
- 参考
22
-
23
- http://d.hatena.ne.jp/dhrname/20070312/1173709775
24
-
25
- http://memopad.bitter.jp/w3c/svg/svg_inhtml.html
26
-
27
- http://dresscording.com/blog/svg/retina_svg.html
28
-
29
-
30
-
31
- ●SVG
32
-
33
-
34
-
35
- <?xml version="1.0" encoding="UTF-8" ?>
36
-
37
- <svg height="850" width="850" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
38
-
39
- <defs>
40
-
41
- <script>
42
-
43
- </script>
44
-
45
- </defs>
46
-
47
- <g id="rectangle">
48
-
49
- <rect height="100%" style="fill:#FFFFFF" width="100%" x="0" y="0"></rect>
50
-
51
- </g>
52
-
53
- </svg>
54
-
55
-
56
-
57
- ●html側
58
-
59
-
60
-
61
- <div id="divSVG" value="0" >
62
-
63
- <embed name="nSVG" wmode="transparent" id="idSVG"
64
-
65
- style="position:absolute; top:0px; left:0px; z-index:1;" src="上記のSVGと過程" BGCOLOR=#ffffff>
66
-
67
- </div>
68
-
69
-
70
-
71
- embedやobjectでのhtmlに埋め込み
72
-
73
-
74
-
75
- post用のhiddenタグを用意
76
-
77
- <form>
78
-
79
- <input type="hidden" name="nodeSVG">
80
-
81
- </form>
82
-
83
- ●js
84
-
85
-
86
-
87
- var docSVG = idSVG.getSVGDocument();
88
-
89
- var objSVG = docSVG.getElementsByTagName("svg").item(0);
90
-
91
- var str = idSVG.window; // ここの取得が不明瞭
92
-
93
-
94
-
95
- document.form.nodeSVG.value = str.printNode(objSVG);
96
-
97
- document.form.submit();
98
-
99
-
100
-
101
- もしくは
102
-
103
- docSVGが文字列ならば、その文字列をhiddenにセットしてpostする