Thread View: pl.comp.lang.python
3 messages
3 total messages
Started by serek
Thu, 10 Mar 2011 11:12
linux,OOo3.3,pyuno i brak loadComponentFromURL
Author: serek
Date: Thu, 10 Mar 2011 11:12
Date: Thu, 10 Mar 2011 11:12
60 lines
3386 bytes
3386 bytes
Cześć
Postanowilem wreszcie coś zrobić z ręcznym drukowaniem tony .XLS-ów.
Chce wykorzystać OpenOffice w roli servera druku tych plików (docelowo chyba
bedą wysyłane pliki z Py3k po TCP do maszyny robiącej za ogólny print
server, coś w ten deseń).
Rozejrzałem się po necie i skleciłem coś tak na próbe (lokanie odpalane).
Niestety loadComponentFromURL() generuje AttributeError
- faktycznie, nie widać takiej metody w obiekcie desktop.
Google daje troche wyników lecz nie udało mi się tego rozwiązać.
W OOo nie widzę jakiejś instalacji pythona. Używam standardowej instalacji.
Programik odpalam w /usr/lib/openoffice.org/program/ - tak dla większej
pewności, odpalany z jakiegoś /tmp tez tak działa ( ". ./_aaa.py" czy
python2 ./_aaa.py), środowiskowe niby ustawione.
Nie mam pomysłu. Działa do tego momentu.
Może ktoś przerabiał temat? Niekompatybilność pythona z bibliotekami ooo?
#!/usr/bin/python2
#
# Archlinux -current (~2011.03.02), python2 - 2.7.1
#
#/usr/bin/openoffice -accept="socket,
host=localhost,port=2002;urp;StarOffice.ServiceManager" -norestore -
nofirstwizard -nologo -headless &
#
import uno
local = uno.getComponentContext()
resolver =
local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver",
local)
context =
resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
desktop =
context.ServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop",
context)
print(dir(desktop))
document = desktop.loadComponentFromURL("file:///tmp/ptest.ods" ,"_blank",
0, ())
printOpts = self._toProperties(FileName=outputUrl + '.ps')
#document.print(printOpts)
uno.invoce(document, "print", (printOpts,))
document.dispose()
# set >>
#LD_LIBRARY_PATH=:/usr/lib/openoffice.org/ure/lib:/usr/lib/openoffice.org/basis3.3/program
#PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/core_perl:/root/bin:/root/bin
#PYTHONPATH=:/usr/lib/openoffice.org3/basis-link/program/
#UNO_PATH=/usr/lib/openoffice.org/basis3.3/program
#URE_BOOTSTRAP=vnd.sun.star.pathname:/usr/lib/openoffice.org/basis3.3/program/fundamentalbasisrc
#
# OOo v 3.3 (330m20)
#/usr/lib/openoffice.org/ure/lib/ <= urerc,*.uno.so
#/usr/lib/openoffice.org/basis3.3/ure-link -> ../ure
#/usr/lib/openoffice.org/basis3.3/program/ <=
unorc,uno.py,lib*.so,fundamentalbasisrc
#/usr/lib/openoffice.org3/program/ <= soffice.bin,swriter,scalc
#/usr/lib/openoffice.org3/basis-link -> ../openoffice.org/basis3.3
#
Re: linux,OOo3.3,pyuno i brak loadComponentFromURL
Author: kenubi
Date: Thu, 10 Mar 2011 23:00
Date: Thu, 10 Mar 2011 23:00
25 lines
1715 bytes
1715 bytes
serek wrote: > Niestety loadComponentFromURL() generuje AttributeError > - faktycznie, nie widać takiej metody w obiekcie desktop. > OK. sam sobie odpowiem. Po przeszukaniu # grep -r 'loadComponentFromURL' * i ogólnym grzebaniu nie wiadomo w czym postanowiłem spróbować ustawic srodowiskową: export URE_MORE_TYPES=path_to_base_dir/basis-link/program/offapi.rdb patrz -> ../fundamentalbasisrc <- nie wiem czemu to sie jakos tam nie wykonuje najwyraźniej Tak do końca nie wiem czy zadziała z OOo bo przekompilowałem sobie w międzyczasie libreoffice 3.3.1 z opcja --with-system-python (jeno 12G zabrała kompilacja na dysku :P) - raczej nic to nie zmieniło standardowo. OK. metoda: loadComponentFromURL juz jest (nie zadziałało to dalej ale dziś juz nie mam siły walczyć) pozdro
Re: linux,OOo3.3,pyuno i brak loadComponentFromURL
Author: serek
Date: Thu, 10 Mar 2011 23:04
Date: Thu, 10 Mar 2011 23:04
26 lines
1765 bytes
1765 bytes
serek wrote: > > Niestety loadComponentFromURL() generuje AttributeError > - faktycznie, nie widać takiej metody w obiekcie desktop. > OK. sam sobie odpowiem. Po przeszukaniu # grep -r 'loadComponentFromURL' * i ogólnym grzebaniu nie wiadomo w czym postanowiłem spróbować ustawic srodowiskową: export URE_MORE_TYPES=path_to_base_dir/basis-link/program/offapi.rdb patrz -> ../fundamentalbasisrc <- nie wiem czemu to sie jakos tam nie wykonuje najwyraźniej Tak do końca nie wiem czy zadziała z OOo bo przekompilowałem sobie w międzyczasie libreoffice 3.3.1 z opcja --with-system-python (jeno 12G zabrała kompilacja na dysku :P) - raczej nic to nie zmieniło standardowo. OK. metoda: loadComponentFromURL juz jest (nie zadziałało to dalej ale dziś juz nie mam siły walczyć) pozdro p.s. coś mi się chrzani KNode :(
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads