2012-03-20 2 views
1

웹 응용 프로그램이 서버에 SVG 파일을 저장하고 있으므로 서버 측의 SVG 파일에서 JSON 출력을 가져 오려고합니다. PETESAIA's SVG to JSON PHP 프로그램을 살펴 보았습니다. 하지만 출력은 null 또는 빈 배열입니다.SVG에서 서버 측 SVG로?

<?php 
require_once “PeachSVG.php”; 
$filename = “filename-2012-03-06.svg”; 
$json = PeachSVG::convert($filename, $to_json = true); 
//$json = convert($filename, $to_json = true); //also used this one 
var_dump(json_decode($json, true)); 
?> 

이 PHP 코드, PeachSVG.php와 svg 파일은 같은 디렉토리에 있습니다.

누구나 내가이 문제가 잘못된 것이라고 제안 할 수 있습니까?

또는 서버

편집 측면에서 JSON에 SVG의 대안 : 우리는 (JSON 변환) SVG의 서버 측 유효성 검사를 필요로하는 이유에 대해 응답에서이 @halfer하고 자신의 쿼리. 사용자가 특정 작업을 수행하고 Google 서버에 출력을 보내고 웹 사이트에 게시 할 수있는 클린트 측 SVG (RaphaelJs) 웹 앱이 있습니다. 웹 사이트에 게시하기 전에 출력 파일의 유효성을 검사하고 싶습니다. 이를 위해 사용자가 응용 프로그램에 설정된 규칙을 남용하지 않도록 서버 측 유효성 검사가 필요합니다.

Raphael.serialize는 SVG를 사용자가 악용 할 수있는 클라이언트 측의 JSON으로 변환하기 때문에 사용할 수 없습니다. 그래서 우리는 SVG 문서를 서버 측에 문자열로 보냅니다.

+0

사용 사례는? 서버에 SVG 워드 프로세서를 들고 브라우저에서 렌더링하고 싶습니까? 그렇다면 Raphael 등을 사용하여 AJAX를 통해 직접 렌더링 할 수 있습니까? – halfer

+0

위의 코드에 대한 알림 및 모든 오류보고를 사용 설정 했습니까? 아마 추적 할 필요가있는 벌레가 있습니까? – halfer

+0

예 SVG 문서가 서버에 있지만 브라우저에서 다시 렌더링 할 필요가 없습니다. 일부 유효성 검사를 위해 SVG의 JSON을 사용해야합니다. –

답변

1

서버에 Node.js를 설치할 수있는 경우 fabric.js를 사용하여 SVG를 구문 분석 한 다음 해당 객체를 JSON으로 내보낼 수 있습니다. 스크립트

http://kangax.github.com/fabric.js/svg_rendering/

+0

불행히도 우리는 Node.js를 설치할 수 없습니다. 당신이 할 수있는 경우 우리에게 다른 솔루션을 참조하시기 바랍니다, PHP 기반의 솔루션이 최선 것입니다 –

0

https://github.com/kangax/fabric.js

내 로컬 호스트 서버에서 매우 잘 실행하지만 난 인용은 당신이 가지고 표시 제거하고 나에게 문자열 따옴표처럼 보이는 내 메모장 ++에서로 교체해야합니다. 아직 해결책을 찾지 못했다면 도움이 되었기를 바랍니다.