[pyar] Leer archivos doc y odt

344 views
Skip to first unread message

N Cis

unread,
Oct 4, 2010, 12:07:51 AM10/4/10
to py...@python.org.ar
Hola Lista!.
(Primero perdonen por el otro mensaje en blanco, accidentalmente toque enviar cuando copiaba el e-mail de la lista xD)
Bueno, hace poco quise empezar a desarrollar un mini procesador de texto en Python.
Tuve la idea de usar pyGtk, y para ahorrarme un poco de laburo en lo que es mostrar el contenido, decidi usar htmltextview para mostrar el contenido.
Decidi que los archivos de texto usado sean html, ya que al ponerles la extension de archivo ".doc", openoffice y MS Word, los leeran como un archivo de texto normal.
Por ahora lo que hice fue una mini intefaz (solo un bosquejo) y correji ciertas cosas del htmltextview.
El problema que tengo es leer archivos .doc y .odt.
Alguno tuvo experiencia en convertir este tipo de archivos a html?.

Desde ya muchas gracias.

Gustavo Campanelli

unread,
Oct 4, 2010, 6:18:54 AM10/4/10
to Python Argentina
No hice nada parecido, y aunque no lo verifiqué creo que este programa
te puede ayudar. Al menos yo comenzaría investigando como funciona
algo así.

DocumentConverter.py
http://gnulinux.posterous.com/convertir-doc-a-odt

Gedece

2010/10/4 N Cis <n.ci...@hotmail.com>:

> _______________________________________________
> pyar mailing list py...@python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
_______________________________________________
pyar mailing list py...@python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

Rodolfo Hugo González

unread,
Oct 4, 2010, 10:43:08 AM10/4/10
to py...@python.org.ar
El 04/10/10 07:18, Gustavo Campanelli escribió:

> No hice nada parecido, y aunque no lo verifiqué creo que este programa
> te puede ayudar. Al menos yo comenzaría investigando como funciona
> algo así.
>
> DocumentConverter.py
> http://gnulinux.posterous.com/convertir-doc-a-odt
>
> Gedece
>
Me interesó el tema, para convertir archivos en serie. Estuve mirando
ese link. Hice lo que dice que hay que hacer... pero...

AL correr la orden de soffice me dice que no encuentra "urp".
Si lo corro sin eso, no encuentra el puerto "8100".

Alguien más probó el sistema?

Saludos y éxito

--
*** Rodolfo H. González - Pigüé ***
*** Usuario Full Software Libre ***
** Desarrollos de Software Libre **
** Clave GPG: en servidores **


signature.asc

Mariano Guerra

unread,
Oct 4, 2010, 1:03:13 PM10/4/10
to Python Argentina
2010/10/4 N Cis <n.ci...@hotmail.com>:

buenas, no puedo ayudarte con el tema de leer .doc y .odt (solo puedo
decirte que son un zip con el contenido adentro en carpetas).

lo que si puedo decirte es que use htmltextview y que se hace muy
complicado de "extender", si tenes ganas te recomendaria que mires los
bindings de webkit para gtk que te van a permitir hacer las cosas de
manera mucho mas facil y vas a poder llegar mas lejos. Ya que
htmltextview es solo un textview de gtk que simula algunas cosas de
html y no son muchas.

saludos.

N Cis

unread,
Oct 5, 2010, 12:13:04 AM10/5/10
to py...@python.org.ar
> buenas, no puedo ayudarte con el tema de leer .doc y .odt (solo puedo
> decirte que son un zip con el contenido adentro en carpetas).
>
> lo que si puedo decirte es que use htmltextview y que se hace muy
> complicado de "extender", si tenes ganas te recomendaria que mires los
> bindings de webkit para gtk que te van a permitir hacer las cosas de
> manera mucho mas facil y vas a poder llegar mas lejos. Ya que
> htmltextview es solo un textview de gtk que simula algunas cosas de
> html y no son muchas.
>
> saludos.

Gracias por los links, por ahora no tuve tiempo de mirarlos.
Yo elegi el textview, por qe ademas de mostrar el texto nececito editarlo, cosa que si es una pantalla de html estilo los webkits qe me decis, creo que no se puede (no se puede o solo es una suposicion mia?, xD jaja). Ademas, son archivos de texto estilo word/OOo, no creo que nececite mucho html especial, osea lo que nececito esta (tipos, tamaños, colores de letra, resaltado, indent, listas ordenadas y no ordenadas, parrafos, etc,etc). (Ademas no es mucho mas liviano usar el textview que el motor webkit?). Tenes en mente que imposibilidad crucial me puede llegar a causar el uso del textview?

Aunque, estoy abierto a cualquier idea que sugieran, si tenes algo de info acerca del webkit te agradezco =P 

Subire el codigo cuando este mas armadito =P..

Muchas gracias!, Saludos.

Mariano Guerra

unread,
Oct 5, 2010, 11:13:23 AM10/5/10
to Python Argentina
2010/10/5 N Cis <n.ci...@hotmail.com>:

mi recomendacion es porque en un momento htmltextview me quedo corto y
cuando tuve que ir a hacer modificaciones/arreglos/mejoras se me
complico mucho, asi que trato de evitar que te pase lo mismo ;)

aca tenes un ejemplo en el recetario[1] para hacer un editor de HTML
con webkit y gtk:

http://python.org.ar/pyar/Recetario/GtkWebkitEditor

[1] adivinen que? tenemos un recetario donde ponemos pequeñas
aplicaciones que muestran algo interesante y/o util, estas invitado a
aportar tus recetas con la comunidad mas cocinera de python.

saludos

Marcelo Fernandez

unread,
Oct 5, 2010, 9:59:40 PM10/5/10
to Python Argentina
El día 5 de octubre de 2010 12:13, Mariano Guerra
<luismari...@gmail.com> escribió:

>
> aca tenes un ejemplo en el recetario[1] para hacer un editor de HTML
> con webkit y gtk:
>
> http://python.org.ar/pyar/Recetario/GtkWebkitEditor
>

Hola Mariano,

Hace poquito que estoy haciendo cositas con webkit y me enteré que
existe el método set_editable() en el WebView para hacer lo mismo que
hacés ahí, pero más limpito ;-)

http://webkitgtk.org/reference/webkitgtk-webkitwebview.html#webkit-web-view-set-editable

Me tomé el atrevimiento de meter esto en la receta. :-)

Saludos
--
Marcelo F. Fernández
Buenos Aires, Argentina
Licenciado en Sistemas - CCNA

E-Mail: marcelo.fid...@gmail.com
Blog: http://blog.marcelofernandez.info
Twitter: http://twitter.com/fidelfernandez

N Cis

unread,
Oct 5, 2010, 10:36:29 PM10/5/10
to py...@python.org.ar
Muchas gracias por la info.. Pero una pequeña pregunta,, introducir el Motor Webkit al programa, no me lo haria muy pesado?..
Una de mis ideas originales era hacer un mini procesador de texto que andara fluido en una pc donde Abyword no,, Osea,, Gastar lo minimo de lo minimo,, xD

Saludos.

Marcelo Fernandez

unread,
Oct 6, 2010, 8:29:49 AM10/6/10
to Python Argentina
2010/10/5 N Cis <n.ci...@hotmail.com>:

> Muchas gracias por la info.. Pero una pequeña pregunta,, introducir el Motor
> Webkit al programa, no me lo haria muy pesado?..

Generalmente no, webkit corre en celulares y es mucho más potente,
flexible y mantenido por la comunidad que el GtkHtml. Casi todos los
componente Gnome ya lo adoptaron: Evolution, Epiphany, etc... [1]

> Una de mis ideas originales era hacer un mini procesador de texto que andara
> fluido en una pc donde Abyword no,, Osea,, Gastar lo minimo de lo minimo,,
> xD
>
> Saludos.

Ja, me hiciste acordar que existen bindings python para embeber
Abiword mismo en tu aplicación PyGTK:

http://www.abisource.com/wiki/PyAbiWord

En Ubuntu el paquete se llama python-abiword. Quizás te sirva más que
webkit. :-)

[1] http://trac.webkit.org/wiki/ApplicationsGtk

N Cis

unread,
Oct 6, 2010, 11:30:14 PM10/6/10
to py...@python.org.ar
 
> Ja, me hiciste acordar que existen bindings python para embeber
> Abiword mismo en tu aplicación PyGTK:
>
> http://www.abisource.com/wiki/PyAbiWord
>
> En Ubuntu el paquete se llama python-abiword. Quizás te sirva más que
> webkit. :-)
>
> [1] http://trac.webkit.org/wiki/ApplicationsGtk
>
> Saludos
> --
> Marcelo F. Fernández
> Buenos Aires, Argentina
> Licenciado en Sistemas - CCNA
>
> E-Mail: marcelo.fid...@gmail.com
> Blog: http://blog.marcelofernandez.info
> Twitter: http://twitter.com/fidelfernandez

Apa,, me estan dando todo en bandeja de plata,, xD jaja..
Pero volviendo al punto inicial, (Por que la verdad, con todos los procesadores de texto que hay, re-inventar uno me parece una perdida de tiempo, divertida, pero perdida de tiempo al fin xD) este mini proyecto me surgio al ver que en mi pc soporte (una maquina rescatada de mas de 10/11 años) andaba lento el abyword, tonces pense estoy aprendiendo python y pygtk, seria un re buen ejercicio hacer un mini procesador de texto. Si deseo reducir consumo de pc, osea, hacer que este mini procesador de texto ande relativamente bien hasta en una pc que abyword anda lento,, cual seria la mejor opcion?. No busco que soporte todas las caracteristicas de word / Open Office (En un principio ni corrector tendra),, Tampoco que muestre toda la gama de colores,, solo formatos basicos mas usados,, Ni siqiera busco que guarde en formato odt o doc,, solo en ese html que los dmas procesadores muestran sin problemas y que abra odt y doc. Poniendo en prioridad qe sea mas liviana la aplicacion, que me recomiendan?.

Preguntita del pyAbiWord, alguien lo uso alguna vez?.. Podes usar solo aprte de las funciones del mismo,, ej: con el podre abrir un archivo doc y que me de el texto en otro formato?, Usarlo para guardar en formato word/odt? Las preguntas apuntan a que si elijo la posibilidad de trabajar con el webkit o htmltextview usarlo para procesar el formato de word y openoffice

Marcelo Fernandez

unread,
Oct 7, 2010, 11:40:00 AM10/7/10
to Python Argentina
2010/10/7 N Cis <n.ci...@hotmail.com>:
[...]

> Ni siqiera busco que
> guarde en formato odt o doc,, solo en ese html que los dmas procesadores
> muestran sin problemas y que abra odt y doc. Poniendo en prioridad qe sea
> mas liviana la aplicacion, que me recomiendan?.

Ah, entonces Webkit. En el proyecto wxWebkit [1] hay un ejemplo como
lo que necesitás para Windows/Mac (compilado, los fuentes no los
encontré y se los pedí al autor, vamos a ver qué me contesta). Podés
probarlo en un Windows para ver qué tal funciona.

> Preguntita del pyAbiWord, alguien lo uso alguna vez?.. Podes usar solo aprte
> de las funciones del mismo,, ej: con el podre abrir un archivo doc y que me
> de el texto en otro formato?, Usarlo para guardar en formato word/odt? Las
> preguntas apuntan a que si elijo la posibilidad de trabajar con el webkit o
> htmltextview usarlo para procesar el formato de word y openoffice

Sí, se puede, aunque la documentación está un poco vieja. Quizás te
sirva ver el código fuente de la actividad "Write" de la OLPC, que usa
exclusivamente estos bindings Python de Abiword, acá tenés el método
"write_file" [3]. También podés abrir el ipython, hacer un "import
abiword" y empezar a hacer help() de los diferentes métodos y clases.

[1] http://wxwebkit.wxcommunity.com/
[2] http://wxwebkit.wxcommunity.com/index.php?n=Main.Downloads
[3] http://dev.laptop.org/git/projects/write/tree/AbiWordActivity.py#n312

Saludos
--
Marcelo F. Fernández
Buenos Aires, Argentina
Licenciado en Sistemas - CCNA

N Cis

unread,
Oct 12, 2010, 10:24:06 PM10/12/10
to py...@python.org.ar
Encontre un pequeño error en el Recetario/GtkWebkitEditor ( http://python.org.ar/pyar/Recetario/GtkWebkitEditor ) qe esta en la pagina de pyar.
Al parecer el webkit en gtk nececita SI o SI llamar a "threads_init()", si no tira error:
GLib-ERROR **: The thread system is not yet initialized.
aborting...
Cancelado

Hay que agregarle un:
gtk.gdk.threads_init()
en la linea 45.

Asi nos qedaria (desde linea 44 hasta final):
if __name__ == '__main__':
    gtk.gdk.threads_init()
    window = EditorWindow()
    window.show()
    window.entry.activate()
    gtk.main()

Mariano Guerra

unread,
Oct 13, 2010, 7:07:26 AM10/13/10
to Python Argentina
2010/10/12 N Cis <n.ci...@hotmail.com>:

reportado hace un buen tiempo por este humilde servidor:

https://bugs.launchpad.net/ubuntu/+source/pywebkitgtk/+bug/480398

estas usando 9.10 o menor? creo que en 10.04 esta arreglado.

saludos.

N Cis

unread,
Oct 14, 2010, 3:12:22 PM10/14/10
to py...@python.org.ar
> reportado hace un buen tiempo por este humilde servidor:
>
> https://bugs.launchpad.net/ubuntu/+source/pywebkitgtk/+bug/480398
>
> estas usando 9.10 o menor? creo que en 10.04 esta arreglado.
>
> saludos.
> _______________________________________________
> pyar mailing list py...@python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

Ah,, no sabia eso, estoy usando ubuntu 9.10 efectivamente. Agregue la aclaracion que me hiciste en el articulo de la wiki.
Muchas gracias =P
Reply all
Reply to author
Forward
0 new messages