Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

239
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!