🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27901

linux,OOo3.3,pyuno i brak loadComponentFromURL

#27901
From: 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
#
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-mail

Show 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