Foros del Web » Creando para Internet » Diseño web »

[SOLUCIONADO] Insertando un SVG en PHP

Estas en el tema de Insertando un SVG en PHP en el foro de Diseño web en Foros del Web. Saludos cordiales, chicos tengo el siguiente caso espero que puedan ayudarme: Poseo un archivo PHP donde tengo incluido una etiqueta SVG Parte de la etiqueta ...
  #1 (permalink)  
Antiguo 02/02/2017, 22:30
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Ubicación: Maracay edo Aragua Venezuela
Mensajes: 48
Antigüedad: 15 años, 7 meses
Puntos: 3
Pregunta Insertando un SVG en PHP

Saludos cordiales,
chicos tengo el siguiente caso espero que puedan ayudarme:

Poseo un archivo PHP donde tengo incluido una etiqueta SVG

Parte de la etiqueta SVG es:

Código PHP:
    <g
       id
="g4125">
      <
rect
         ry
="10.606602"
         
rx="10.859617"
         
y="243.71503"
         
x="51.147934"
         
height="61.284992"
         
width="693.70422"
         
id="rect4610"
         
style="fill:#ffffff;fill-opacity:1;stroke:none;opacity:1" />
      <
text
         sodipodi
:linespacing="125%"
         
id="NOMBRE PARTICIPANTE"
         
y="282.4874"
         
x="149.45268"
         
style="font-size:27.87268639px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
         
xml:space="preserve"><tspan
           style
="font-size:30px;font-weight:bold;-inkscape-font-specification:Sans Bold"
           
y="282.4874"
           
x="149.45268"
           
id="tspan4614"
           
sodipodi:role="line">PEDRO JOSE PEREZ MIRANDA</tspan></text>
    </
g
Y he hecho esto:

Código PHP:
    <g
       id="g4125">
      <rect
         ry="10.606602"
         rx="10.859617"
         y="243.71503"
         x="51.147934"
         height="61.284992"
         width="693.70422"
         id="rect4610"
         style="fill:#ffffff;fill-opacity:1;stroke:none;opacity:1" />
      <text
         sodipodi:linespacing="125%"
         id="NOMBRE PARTICIPANTE"
         y="282.4874"
         x="149.45268"
         style="font-size:27.87268639px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
         xml:space="preserve"><tspan
           style="font-size:30px;font-weight:bold;-inkscape-font-specification:Sans Bold"
           y="282.4874"
           x="149.45268"
           id="tspan4614"
           sodipodi:role="line"><?PHP echo $nombre?></tspan></text>
    </g>
Pero cuando la variable cambia tambien lo hace la alineacion horizontal del texto.

Mi consulta es, saber si existe la posibilidad de que el nombre que adquiera la variable $nombre la posicion horizontal del SVG se mantenga centrado, no se como tratar el texto como un parrafo, o si alguien tiene una mejor idea estare atento.

Muchas Gracias de Antemano.
  #2 (permalink)  
Antiguo 03/02/2017, 00:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Insertando un SVG en PHP

Hola:

No entiendo el anidamiento de un tspan dentro de un text... seguramente ha sido idea del editor (supongo que inkscape)...

El atributo text-anchor con el valor middle suele usarse para centrar el texto.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 15/03/2017 a las 00:24 Razón: ortografía
  #3 (permalink)  
Antiguo 03/02/2017, 17:48
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Ubicación: Maracay edo Aragua Venezuela
Mensajes: 48
Antigüedad: 15 años, 7 meses
Puntos: 3
Pregunta Respuesta: Insertando un SVG en PHP

Saludos, logre como tratar a los textos en Inkscape como párrafos ahora no importa el largo del texto este siempre estará centrado, pero, el GRAN PERO.. ahora no muestra el texto en la salida del PHP

Hice una imagen que consiste en un rectángulo color amarillo con un texto color negro que esta sobre el rectangulo con la palabra NOMBRE DE PRUEBA de color negro, esto lo hice para simplificar el codigo buscando la solucion a mi conflicto.


Código HTML:
Ver original
  1. <html lang="es">
  2.     <title>CERTIFICADO</title>
  3.     <meta http-equiv="content-type" content="text/html; charset=UTF-8" >
  4.     <link rel="stylesheet" type="text/css" href="../../../../admin/config/css/estilos_certificado.css">
  5. </head>
  6. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  7. <!-- Created with Inkscape (http://www.inkscape.org/) -->
  8.  
  9. <svg
  10.   xmlns:dc="http://purl.org/dc/elements/1.1/"
  11.   xmlns:cc="http://creativecommons.org/ns#"
  12.   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  13.   xmlns:svg="http://www.w3.org/2000/svg"
  14.   xmlns="http://www.w3.org/2000/svg"
  15.   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  16.   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  17.   width="210mm"
  18.   height="297mm"
  19.   id="svg3370"
  20.   version="1.1"
  21.   inkscape:version="0.48.5 r10040"
  22.   sodipodi:docname="dibujo.svg">
  23.   <defs
  24.     id="defs3372" />
  25.   <sodipodi:namedview
  26.     id="base"
  27.     pagecolor="#ffffff"
  28.     bordercolor="#666666"
  29.     borderopacity="1.0"
  30.     inkscape:pageopacity="0.0"
  31.     inkscape:pageshadow="2"
  32.     inkscape:zoom="0.7"
  33.     inkscape:cx="227.34766"
  34.     inkscape:cy="724.82534"
  35.     inkscape:document-units="px"
  36.     inkscape:current-layer="layer1"
  37.     showgrid="false"
  38.     inkscape:window-width="1024"
  39.     inkscape:window-height="715"
  40.     inkscape:window-x="0"
  41.     inkscape:window-y="31"
  42.     inkscape:window-maximized="1" />
  43.   <metadata
  44.     id="metadata3375">
  45.     <rdf:RDF>
  46.       <cc:Work
  47.         rdf:about="">
  48.         <dc:format>image/svg+xml</dc:format>
  49.         <dc:type
  50.           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  51.         <dc:title></dc:title>
  52.       </cc:Work>
  53.     </rdf:RDF>
  54.   </metadata>
  55.   <g
  56.     inkscape:label="Capa 1"
  57.     inkscape:groupmode="layer"
  58.     id="layer1">
  59.     <rect
  60.       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:none"
  61.       id="rect3378"
  62.       width="474.28571"
  63.       height="194.28572"
  64.       x="128.57144"
  65.       y="89.505035"
  66.       rx="10.859617"
  67.       ry="10.606602" />
  68.   </g>
  69.   <flowRoot
  70.     xml:space="preserve"
  71.     id="flowRoot3380"
  72.     style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;text-anchor:middle;text-align:center"
  73.     transform="translate(-20,0)"><flowRegion
  74.       id="flowRegion3382"><rect
  75.         id="rect3384"
  76.         width="441.43668"
  77.         height="67.680222"
  78.         x="162.63457"
  79.         y="161.40764"
  80.         style="text-anchor:middle;text-align:center" /></flowRegion><flowPara
  81.       id="flowPara3386">NOMBRE DE PRUEBA</flowPara></flowRoot></svg>
  82. </body>
  83. </html>

Utilizando el ejemplo no se imprime la palabra NOMBRE DE PRUEBA pero en la imagen SVG desde Inkscape si se ve la palabra

He utilizado una sola capa sin transparencias ni efectos de ningun tipo y el texto esta arriba en el diseño esta sobre el rectángulo que es color amarillo.
  #4 (permalink)  
Antiguo 04/02/2017, 01:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Insertando un SVG en PHP

Hola:

Tal vez te interese no usar el editor porque añade mucho código innecesario...

Si solo quieres el texto centrado en un A4... el código podría ser:

Código:
<svg xmlns='http://www.w3.org/2000/svg' width='210mm' height='297mm' x='0' y='0'>
	<rect x="0" y="0" width="210mm" height="297mm" stroke="pink" fill="transparent"/>
	<text x='105mm' y='148.5mm' style='font: bold 36px arial; dominant-baseline: middle; fill: red; text-anchor: middle;' >
		pepemolina.com
	</text>
</svg>
En mi página puedes encontrar muchos ejemplos.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 03/04/2017 a las 15:34 Razón: ortografía
  #5 (permalink)  
Antiguo 05/02/2017, 00:04
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Ubicación: Maracay edo Aragua Venezuela
Mensajes: 48
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Insertando un SVG en PHP

He limpiado el código y ahora funciona perfectamente..! ahora trabajo en insertar un codigo QR sobre el SVG estoy buscando información sobre ello. marcare como solucionado y si no logro encontrar información abriré otro post. Gracias por sus amables respuestas.

Etiquetas: inkscape, php, svg
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:07.