Tengo imágenes SVG producidas por PlantUML, que tiene algunas partes de dibujo fuera del lienzo. Hace que sea difícil usar esas imágenes y necesito recortar el dibujo al tamaño del lienzo. Como produzco diagramas UML con script de todos modos, sería realmente eficiente realizar un recorte allí también.
Hasta ahora he intentado dos cosas: a) cambiar el tamaño del lienzo para dibujar con Inkscape
inkscape --verb=FitCanvasToDrawing --verb=FileSave --verb=FileClose *.svg
Esto funciona bien, pero necesito recortar el dibujo al tamaño del lienzo y esta operación parece no estar disponible.
b) cambiar el tamaño con rsvg-convert
rsvg-convert image.svg -w 1870 -h 1195 -f svg -o image.svg
Esto hace exactamente el recorte al tamaño deseado, pero el tamaño de la imagen aumenta ~ 10 veces ya que ahora hay algunas imágenes binarias incrustadas en SVG. Esto no es aceptable para mi.
svg
format es un formato ascii basado en xml, por lo que la forma más fácil debería ser usarsed
su herramienta de manipulación de texto favorita para insertar o modificar una línea que establece el cuadro delimitador. Esto ni siquiera tocaría los otros contenidos del archivo. Intente hacerlo manualmente una vez en un archivo svg de ejemplo (en un editor de texto) y luego traduzca sus acciones en un script.