Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

247
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda