Solución Actualizada: Si tienes instalado Inkscape 1.0 la extensión TexText se puede instalar muy fácilmente. Durante un tiempo hubo grandes problemas de compatibilidad con las versiones de la 0.48 a la 0.92, incluso en la versión 0.48 era muy tedioso conseguir una instalación correcta. Pero el proyecto TexText ha sido recuperado por otros desarrolladores y funciona perfectamente en Inkscape 1.0. Así, solo debes seguir los pasos indicados aquí: https://textext.github.io/textext/install/windows.html
Mantengo la solución original por si alguien se ve obligado a utilizar TexText con una versión anterior (la última en la que conseguí que funcionara es la 0.48):
Esta entrada la hago a modo de chuleta para futuras instalaciones pesonales de textext en inkscape. Esta vez he tenido varios problemas y ha sido un "dolor" instalarlo y hacerlo funcionar... Espero queotras personas no pierdan el mismo tiempo que yo... Describiré los pasos que a mí me han funcionado, no doy demasiados detalles porque esto se alargaría mucho:
Se supone que ya tenemos Miktex en nuestro ordenador
Se supone que ya tenemos Miktex en nuestro ordenador
- Instalar inkscape (versión 0.48)
- instalar http://www.graphicsmagick.org/
- Instalar Pstoedit
- Instalar Ghostscript
- Verificar que podemos ejecutar pstoedit.exe desde la línea de comandos (cmd.exe). Sino, añadir el directorio a las variables de entorno de Windows:
- Panel de control -> Sistema y seguridad -> Sistema -> Opciones avanzadas -> Click en variables de entorno -> buscamos la variable PATH y añadimos el directorio de pstoedit separado del último directorio que haya en la lista con un punto y coma (;)
- Instalar textext https://pav.iki.fi/software/textext/
- Instalar python, una versión 2.X (usé la 2.7). No usar versión 3.X https://www.python.org/
- Instalar lxml. Si hemos instalado python 64bits habrá que usar la versión 64 de lxml, sino la 32 (a mí me funcionó con la 32) http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
- Copiamos el contenido de la instalación de python (que ha sido modificada por la instalación de lxml) en el directorio python dentro de inkscape (que habremos borrado 100% previamente).
- Instalar un editor de python por ejemplo http://www.gedit.org
- Localizar textext.py en el directorio Inkscape-0.48\share\extensions y abrirlo con el editor de pyton
- Modificarlo así:
54 import inkex
55 import os, sys, tempfile, traceback, glob, re, md5, copy
56 from lxml import etree
y reemplazarlo por
import inkex
import os, sys, tempfile, traceback, glob, re, copy
import hashlib
from lxml import etree
- Buscar luego esto:
868 def __init__(self, document):
869 PdfConverterBase.__init__(self, document)
870 self.hash = None
871 def convert(self, *a, **kw):
872 # compute hash for generating unique ids for sub-elements
873 self.hash = md5.new('%s%s' % (a, kw)).hexdigest()[:8]
874 return PdfConverterBase.convert(self, *a, **kw)
875 def pdf_to_svg(self):
876 exec_command(['pdf2svg', self.tmp('pdf'), self.tmp('svg'), '1'])
- y reemplazarlo por:
def __init__(self, document):
PdfConverterBase.__init__(self, document)
self.hash = None
USE_GTK = False
def convert(self, *a, **kw):
# compute hash for generating unique ids for sub-elements
m = hashlib.md5()
m.update('%s%s' % (a, kw))
self.hash = m.hexdigest()[:8]
return PdfConverterBase.convert(self, *a, **kw)
def pdf_to_svg(self):
exec_command(['pdf2svg', self.tmp('pdf'), self.tmp('svg'), '1'])
Por favor, no uses adblockers en esta página, se mantiene gracias a ellos. Los anuncios no son invasivos y quizá veas algo que te interese. Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias!
Hola, no encuentro textext.py en el directorio Inkscape-0.48\share\extensions
ResponderEliminarHola, esto puede ser por varios motivos:
Eliminar1) Si tu versión de Inkscape no es la 0.48, simplemente busca en la carpeta de Inkscape con el nombre que se te haya creado en la instalación. Supongo que esto ya lo has confirmado.
2) No has instalado textext. Recuerda que no es una extensión que viene por defecto, hay que instalarla. La puedes descargar de aquí: https://pav.iki.fi/software/textext/
3) Quizá sí habías instalado la extensión, pero al hacerlo, le indicaste incorrectamente en que path tienes inkscape. Para estar segura, vuelve a instalar textext y presta mucha atención al directorio en el que se te dice que está inkscape, quizá lo que aparece allí escrito por defecto no sea idéntico a tu directorio. Simplemente, escribe correctamente dónde lo tienes instalado para que textext se pueda instalar bien.
Hola,
ResponderEliminarDespués de realizar todos los pasos indicados, me aparece el siguiente mensaje al tratar de habilitar la extension TexText en Inkscape:
'import site' failed; use -v for traceback
Traceback (most recent call last):
File "textext.py", line 49, in
import sys, os, glob, traceback, platform
File "C:\Program Files (x86)\Inkscape\python\Lib\os.py", line 400, in
import UserDict
File "C:\Program Files (x86)\Inkscape\python\Lib\UserDict.py", line 116, in
import _abcoll
File "C:\Program Files (x86)\Inkscape\python\Lib\_abcoll.py", line 456, in
KeysView.register(type({}.viewkeys()))
AttributeError: 'dict' object has no attribute 'viewkeys'
Hola, creo que no has seguido bien los pasos. En la versión de python 2.7 en la línea 456 de _abcoll.py (que es donde te falla) no hay ninguna llamada a KeysView.register(), de hecho no aparece esa llamada en todo el documento, por tanto, es seguro que estás usando otra versión. Te aconsejo volver a empezar desde cero prestando atención a las versiones exactas que marca la solución. Si no lo consigues, puedes explorar otros mecanismos para añadir texto Latex en Inkscape. Se explican en esta otra entrada: https://cajondesoluciones.blogspot.com.es/2017/01/como-generar-imagenes-pdf-con-texto.html
EliminarHola,
EliminarHe vuelto a hacerlo todo hasta el paso de tratar de ejecutar pstoedit.exe desde la línea de comandos y me indica que tiene un problema abriendo el driver dvrmagick.dll. He añadido al PATH la dirección de la instalación del pstoedit y sigue sin funcionar la ejecución a través de la línea de comandos del pstoedit.exe
Vale, este problema ya es algo nuevo. Hay algún problema con graphicsmagick y una de las librerías que instala. Esa librería yo no la tengo en mi ordenador (?) no sé por qué se te quejará si todo lo has hecho idéntico. Pero intuyo que no se necesita así que seguramente textext ya te funcionará pero saltará el error todo el rato. Lo que puedes hacer es buscarla y borrarla (dvrmagick.dll). Si no consigues que funcione, entonces te recomiendo que desinstales graphicsmagick y que pruebes instalando imagemagick. Instalalo en "c:\Imagemagick" que no haya espacios. Lo puedes descargar aquí: http://www.imagemagick.org/script/binary-releases.php
EliminarA ver si hay suerte.
Gracias por tu implicación y ayuda.
EliminarHe conseguido completar la instalación, pero aún hay algo más que está fallando: cuando ejecuto la extensión textex en Inkscape debería mostrarme la opción para seleccionar un fichero de preámbulo, pero no aparece el típico icono de buscar (sólo aparece la barra en blanco) y por tanto no me permite indicarle las opciones de LaTex para escribir el texto en la parte de texto.
Hola,
ResponderEliminarMuchas gracias por tu ayuda.
He conseguido completar la instalación obviando el problema del pstoedit, y que se habilite la extensión Textext, sin embargo, el problema que tengo es que al ejecutar la extensión, en la barra del preámbulo, no me aparece la opción para seleccionar un fichero.
Hola Juan, me temo que ahí ya no puedo ayudarte ya que yo sólo he usado textext para introductir texto Latex directamente, sin utilizar preámbulos. Pero se me ocurre que si copias y pegas todo el path hasta el fichero donde tienes el preámbulo en el edit box (cópialo del explorador de windows, incluyendo el nombre del fichero y su extensión), te debería funcionar. Existe un foro de inkscape donde a veces se hacen preguntas de textext quizá puedes encontrar este asunto allí o preguntarlo: http://www.inkscapeforum.com/index.php
EliminarUn saludo!
Y si eso no te funciona, prueba con lo que te decía de imagemagick. El problema de pstoedit no debería aparecer, ese tema sigue siendo raro y quizá no se te carga bien la GUI de textext.
EliminarMuchas gracias.
EliminarEstoy tratando de hacerlo todo de nuevo desde cero habiendo eliminado todos los archivos y carpetas de C:\. Me queda la duda de qué archivos son los que hay que copiar de la instalación de Python2.7 a la carpeta de python de Inkscape.
Primero borras todo lo que hay dentro de la carpeta python de Inkscape. Que quede vacía, pero no elimines la carpeta. Luego copias todo el contenido de python 2.7 y lo metes en python.
Eliminar