Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

244
Vistas
La descarga de SVG da como resultado un archivo con "Código SVG no válido"

Estoy creando un sitio donde las personas pueden personalizar el color SVG y luego descargarlo para que tengan ilustraciones que coincidan con los colores de su marca (sin usar un programa de arte). En este momento estoy tratando de implementar la función de descarga para que cuando un usuario haga clic en el ícono, descargue el SVG a su computadora.

Tengo el siguiente código de navegar por otros temas:

 $('.item-download-icon').on('click', function() { let imageToDownload = $(this).parent().siblings('.item-code').find('svg'); var svg_data = imageToDownload[0].innerHTML; console.log(svg_data); var head = '<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 800 800" style="enable-background:new 0 0 800 800;" xml:space="preserve">' var full_svg = head + svg_data + "</svg>" var blob = new Blob([full_svg], {type: "image/svg+xml"}); saveAs(blob, "test.svg"); //console.log(imageToDownload); });

Utiliza la biblioteca FileSaver.js. Sin embargo, cuando descargo el archivo, aparece el error "SVG no válido" al intentar abrirlo con Illustrator. Cuando lo arrastro a Chrome dice:

 error on line 11 at column 430: Namespace prefix inkscape for current-layer on namedview is not defined

¿Alguna idea de lo que estoy haciendo mal? ¡Gracias! El texto del SVG completo está aquí: https://docs.google.com/document/d/19gOZ7NGjSDP4VrEPgpRuc4Di_4IffuKglkXB4YYGbcU/edit?usp=sharing

¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Su SVG contieneatributos específicos de Inkscape , pero no ha definido el espacio de nombres de inkscape ( http://www.inkscape.org/namespaces/inkscape ).

Incluirlo en su elemento raíz probablemente solucionará esto, aunque es posible que tenga otros espacios de nombres faltantes como sodipodi ( http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd ):

 var head = '<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 800 800" style="enable-background:new 0 0 800 800;" xml:space="preserve">'

También puede optar por limpiar su SVG de origen para eliminar todos los elementos y atributos que pertenecen a estos espacios de nombres, pero esto limitará su capacidad para seguir editando el SVG en Inkscape u otro software.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda