Article View: pl.comp.lang.python
Article #27901linux,OOo3.3,pyuno i brak loadComponentFromURL
From: 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
#
Technical Details
Message-ID:
<4d78b23b$0$2493$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.internetia.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.internetia.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: serek <nospam@shdhdsgfd.pl> Date: Thu, 10 Mar 2011 12:12:21 +0100 User-Agent: KNode/4.4.10 Newsgroups: pl.comp.lang.python Subject: linux,OOo3.3,pyuno i brak loadComponentFromURL Followup-To: pl.comp.lang.python MIME-Version: 1.0 Lines: 65 Message-ID: <4d78b23b$0$2493$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.17.40.134 X-Trace: 1299755579 unt-rea-a-02.news.neostrada.pl 2493 83.17.40.134:59401 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit