🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#27901
Author: serek
Date: Thu, 10 Mar 2011 11:12
60 lines
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
#27902
Author: kenubi
Date: Thu, 10 Mar 2011 23:00
25 lines
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
#27903
Author: serek
Date: Thu, 10 Mar 2011 23:04
26 lines
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