https://foro.gambas-es.org/viewtopic.php?f=5&t=6684&p=40371#p40371
-----------------------------------
calcena
Lunes, 16 Octobre 2017, 14:26

Re: Dia O Inkscape Como Editor De Plantillas?
-----------------------------------
[quote user="tincho" post="40346"]He creado esta pequeña función que edita los .svg pero con el método del TAG no del texto.

[code linenumbers=false syntax=gambas]

Public Function EditXml(strPath As String) As Integer ''Edicion de un archivo xml.
  Dim document As New XmlDocument
  Dim element As New XmlElement
  Dim node As XmlNode
  Dim strSave As String
  Dim int As Integer
  Dim str As String
  Dim stx As New String[]

  strSave = File.Dir(strPath) &/ File.BaseName(strPath) & "-prod." & File.Ext(strPath)
  document.Open(strPath)

  For Each element In document.GetElementsByTagName("text", gb.IgnoreCase)
    For Each node In element.Attributes
      Select node.Name
        Case "id"
          'If node.Value = "dvariety"
            element.Value = "variedad"
            For Each node In element.Attributes
              Select node.Name
                Case "style"
                  stx = Split(node.Value, ";")
                  For int = 0 To stx.max
                    Select Split(stx[int], ":")[0]
                      Case "fill"
                        stx[int] = "fill:#FF0000"
                    End Select
                  Next
                  node.Value = stx.Join(";")
              End Select
            Next
          'Endif
      End Select
    Next
  Next
  document.Save(strSave)
  Return 1
End
[/code]

Saludos.[/quote]

Tremendo lo que has montado, super útil, yo me guie con tu ejemplo si no recuerdo mal para montar mi programa con DIa, y efectivamente una de las diferencias a priori es que a la hora de maquetar DIA el texto es el que tienes que buscar y recorrer, por contra Inkscape tiene un identificador no visible que según para que casos (tipografías pequeñas o maquetación muy limitada) va genial porque no el contenido que puede ser un solo carácter a nivel visual.

Saludos.


