OpenOffice stellt die Möglichkeit zur Verfügung, alle Funktionen über eine Schnittstelle von aussen zu benutzen. Man kann OpenOffice sogar als Dienst starten. Seit Version 2.3 ist das Hilfsprogramm xvfb nicht mehr nötig.
OOo headless:
Ansteuerung über Python:
Sprache:
Mit Jaunty scheinen die folgenden Pakete nicht mehr benötigt zu werden. (bzw. python-uno ist schon vorinstalliert)
apt-get install openoffice.org-headless apt-get install openoffice.org-java-common apt-get install openoffice.org-writer apt-get install python-uno
Starten:
/usr/bin/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -headless -nologo -norestore -nofirststartwizard
weitere Startparameter
-pt printer
Weitere nützliche Pakete:
apt-get install python-sqlalchemy apt-get install python-mysqldb
Problem: Bei Laufzeitfehlern kann es passieren, dass ein Dokument “geöffnet” bleibt, was zur Folge hat, dass dasselbe Dokument nicht mehr gespeichert werden kann (I/O Exception)
Lösung: OpenOffice beenden (kill) und neu starten
Quelle: http://lucasmanual.com/mywiki/OpenOffice
try: #Am I able to connect? context = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext") except Exception ,e : #If I got the error if 'connect to socket' in str(e): import os #Start it os.system('''/usr/bin/openoffice -accept="socket,host=localhost,port=2002;urp;"''') import time #Wait 3 seconds for openoffice to load. time.sleep(3) #See if we can connect again context = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
nötige Pakete:
Bis einschließlich Ubuntu 8.04 Hardy Heron heißen die Pakete:
apt-get install cupsys cupsys-client cupsys-bsd hplip hpijs apt-get install foomatic-filters cupsys-driver-gutenprint
Ob noch weitere Treiber erforderlich sind muss geschaut werden. Es stehen auf jedenfall mehr Treiber in der Desktopversion zur Auswahl.
Der Drucker kann über die CUPS-Admin Seite hinzugefügt werden. Es gibt aber auch Kommandozeilen Befehle dafür.
https://server:631/admin
Ich musste noch die Zugriffsrechte erhöhen, damit ich über die Webseite den Drucker hinzufügen konnte.
/etc/cups/cups.conf
...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
# AuthType Default
# Require user @SYSTEM
Order deny,allow
Allow all
</Limit>
...
# Druckerliste anzeigen lpstat -p -d -o # PDF drucken lp -d HP_LJ_2200 testen.pdf
lpoptions -l
Zeigt eine Liste aller möglicher Optionen für den Parameter -o.
Die verschiedenen Schächte sind unter dem Punkt InputSlot/Media Source aufgelistet.
Folgende Angaben wurden getestet mit einem HP LaserJet 2200 mit 250-Blatt Zusatzschacht:
# Manueller Einzug lp -d HP_LJ_2200 -o media=MultiPurpose testen.pdf # Oberer Papierschacht lp -d HP_LJ_2200 -o media=Upper testen.pdf # Unterer Zusatzschacht lp -d HP_LJ_2200 -o media=LargeCapacity testen.pdf
Weitere Informationen:
Unter der CUPS-Adminoberfläche (https://server:631/admin) kann der Standardschacht ausgewählt werden. Die Select-Box für die Schachtauswahl (→ HTML-Source!) gibt ebenfalls auskunft über die Namen der Schächte.