SVG에서 PNG로 래스터 화하는 데 Cairo/RSVG 기반 솔루션을 사용하고 있습니다. 그것은 이미 Convert SVG to PNG in Python에서 StackOverflow에 설명 된 beeb입니다. 그러나이 솔루션은 사용자 지정 글꼴과 작동하지 않습니다.Python에서 사용자 지정 글꼴이있는 SVG에
나는 this page describing embedding SVG fonts을 찾았습니다.
예제에서 설명한대로 XLink를 통해 외부 SVG에서 포함하려고했습니다. 동일한 SVG 파일에 글꼴을 직접 포함 시키려고했습니다. CSS Web Fonts 구문을 사용해 보았습니다. 세 가지 방법 중 어느 것도 Cairo로 렌더링 할 때 작동하지 않습니다 (우분투의 기본 뷰어 인 GNOME의 Eye에서도 작동하지 않습니다).
카이로와 똑같은 결과로 ImageMagick을 사용해 보았습니다.
반면에 3 가지 글꼴 삽입 방법을 사용하면 Google 크롬 또는 webkit2png.py을 사용하여 WebKit에서 글꼴이 잘 렌더링됩니다. 그러나 가능하다면 QV WebKit을 서버에서 사용하는 것을 피하고 싶습니다. (xvfb 등을 포함하여) 사소한 설정이기 때문에 매우 효율적이거나 안정적이지 않을 수 있습니다.
파이썬에서 SVG를 PNG로 렌더링하는 다른 방법이 있습니까?
서버에 설치하고 싶은 소프트웨어가 확실하지 않습니다. – vartec
@vartec : 적어도 * 일부 타사 제품이 필요합니다. 왜 inkscape가 다른 해결책보다 어느 정도 신뢰성이 있어야하는지 모릅니다. Windows의 경우, 휴대용 버전 인 http://portableapps.com/apps/graphics_pictures/inkscape_portable도 있습니다. 설치하지 않으려는 경우, 관리자 권한없이 사용하지 않고 즉시 사용할 수 있습니다. 시스템에 자체 통합. –
방금 시도했지만 전혀 작동하지 않습니다. 사용자 정의 글꼴을 렌더링 할뿐만 아니라 XLink를 사용하여 삽입 한 외부 이미지도 처리하지 않습니다. – vartec