Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Dia O Inkscape Como Editor De Plantillas?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Dia O Inkscape Como Editor De Plantillas? 
 
Hola debido a otro hilo que se discutía el temam se me ocurro hacer un experimento para sopesar el uso de dia o inkscape como editor de plantillas.
Dentro del método plantilla-xml > PDF
Como saben Dia trabaja con archivos dia que es xml, y puede exportar .svg (que tambien es xml) y usa inkscape.

Con dia
Partiendo de un archivo .dia de 22 KiB para obtener un .pdf se hace en un solo paso mediante CLI
y el pdf obtenido es de 31 KiB
dia seeds.dia -e seeds.pdf


Con inkscape usando convert
Partiendo de un archivo .svg de 4.5 KiB para obtener un .pdf se hace en dos pasos mediante CLI
y el pdf obtenido es de 330,1 KiB (el png es de 258,8 KiB)
inkscape seeds.svg --export-png=seeds.png
convert seeds.png seeds-convert.pdf


Con inkscape sin usar otras herramientas
Partiendo de un archivo .svg de 4.5 KiB para obtener un .pdf se hace en un solo paso mediante CLI
y el pdf obtenido es de 24 KiB
inkscape seeds.svg --export-pdf=seeds.pdf


Luego como conclusion se obtiene que los archivos pdf generados con dia y con Inkscape directamente son casi iguales en tamaño, siendo Inkscape el que logra el pdf de menos "peso".

La opción que usa convert no la recomiendo ya que se obtienen archivos del orden de 10 veces mas tamaño innecesariamente.
Creo que el problema radica en que convert es un programa de pixeles y dia e Inkscape son programas vectoriales

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dia O Inkscape Como Editor De Plantillas? 
 
Tincho:
Citar:
--export-pdf

+1

Citar:
Creo que el problema radica en que convert es un programa de pixeles y dia e Inkscape son programas vectoriales

Si,  seguro que es eso.
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dia O Inkscape Como Editor De Plantillas? 
 
Otra ventaja que tiene el .svg que genera inkscape con respecto al .dia es que en el .svg el texto tiene un "id", un identificador.
Esto, si bien parece un dato sin importancia permitiría la edition del .svg con gb.xml y la ventaja que supone es que el documento se puede editar tantas veces se desee.
Para ponerlo mas claro, con el método plantilla > edición > guardado de archivo modificado, una vez que el archivo era modificado ya no se podía volver a modificar, había que generarlo desde cero.
La otra ventaja es que se podrían importar datos desde el .svg hacia nuestro programa/BBDD
Al ser el elemento TAG un valor constante al que se asocia texto tipografías colores etc. seria posible cambiar no solo el texto sino también el color, negrita, cursiva, subrayado etc.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dia O Inkscape Como Editor De Plantillas? 
 
He creado esta pequeña función que edita los .svg pero con el método del TAG no del texto.


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
 


Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dia O Inkscape Como Editor De Plantillas? 
 
tincho escribió: [Ver mensaje]
He creado esta pequeña función que edita los .svg pero con el método del TAG no del texto.


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
 


Saludos.


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.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Truco Para Rellenar Un Impreso Usando Inks... jsbsan Aplicaciones/Fragmentos de Código 0 Jueves, 20 Noviembre 2014, 10:31 Ver último mensaje
jsbsan
No hay nuevos mensajes ¿Como Se Trabajan Las Vistas Desde El Edi... jsbsan Bases de Datos 1 Lunes, 02 Marzo 2015, 09:14 Ver último mensaje
shordi
No hay nuevos mensajes Como Colorear Una Palabra En El Texto De U... v3ctor General 4 Lunes, 18 May 2015, 17:04 Ver último mensaje
vuott
No hay nuevos mensajes Editor En Spanishenglis Shell Instalación 7 Miercoles, 31 Octobre 2018, 10:12 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron