불행한 수의 하드 코드 된 값을 포함하는 SVG 파일 세트를 작성 중입니다. 일부 요소는 mm으로 크기가 인쇄되어야하고 나머지는 백분율로 표시되어야하며 대부분의 값은 서로에 대해 정의 됨). 그 숫자를 수작업으로 관리하는 대신 (천국에서 무언가를 바꾸고 싶지는 않음), 저는 믿을만한 망치 파이썬을 그 작업에 사용할 수있을 것이라고 생각했습니다.Python을 사용하여 SVG 만들기
SVG 1.1은 내가 원하는 것을 할 수있는 모든 종류의 변수 체계를 기본적으로 지원하지 않으며 자바 스크립트 또는 불안정한 w3c 초안을 혼합하여 도입하는 데 관심이 없습니다. 한 가지 분명한 해결책은 SVG 파일에서 문자열 형식을 사용하여 변수를 읽고, 구문 분석하고, 바꾸는 것입니다. 이것은 더 큰 문서의 경우 나쁜 생각이지만 간단하고 이식성이 있다는 장점이 있습니다.
내 초는 사용 가능한 python-> svg 라이브러리를 조사하는 것이 었습니다. 불행히도 몇 가지 옵션이 너무 새로 워서 (pySVG은 여전히 불안정한 인터페이스를 가짐), 너무 오래되어 (2005 년부터 업데이트되지 않았거나 버려진) 경향이있는 것으로 보입니다. 필자는 자세히 보지 않았지만 도표 작성 애플리케이션이 내 문서를 생성 할만큼 충분히 융통성이 없다는 것이 내 감각입니다.
내가 만난 세 번째 옵션은 svg을 출력하도록 확신 할 수있는 다른 드로잉 도구 (예 : 카이로)를 사용하는 것입니다. 이것은 내게 너무 중요한 절대적인 요소 크기를 기본적으로 지원하지 않는 (잠재적 인) 단점이 있지만 PDF를 출력하는 기능을 포함 할 수 있습니다. 이는 편리 할 것입니다.
나는 이미 인터넷 검색을 했으므로 언급 된 방법 중 하나를 사용하거나 다른 접근법을 알고있는 사람들로부터 의견을 찾고 있습니다. 어떤 솔루션을 선택하든 장기간 안정성이 중요합니다 (일러스트 레이터를 사용하는 대신 손으로 코딩하는 원래의 이유였습니다).
이 시점에서 필자는 첫 번째 해결책에 기대고 있습니다. 따라서 Python을 사용하여 XML 파일의 변수를 구문 분석하고 바꿔 사용하는 것이 좋습니다.
좋은 지적입니다. XSLT는 여전히 나를 떨리게 만든다. SVG 문서의 경우 Genshi에서 테스트 값을 사용하여 개발 한 다음 편리하게 대체 할 수 있어야합니다. 내가 일하는 동안 내 브라우저에 템플릿을 열어 둘 수 있습니다. –