Din AX Format in der PDF Ausgabe verändern

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

danielandross
**
Beiträge: 24
Registriert: Do, 26.04.2007 16:07

Din AX Format in der PDF Ausgabe verändern

Beitrag von danielandross »

Hallo,
ich möchte in Java ein makro das ich bereits erstellt habe ausführen. Das Makro soll ein bestimmtes dokument öffnen(das dokument sollte am besten in java bestimmt werden wenn das möglich ist) und dieses dokument dann mit einem TIFF Drucker-treiber drucken. Wie gesagt das makro steht aber ich weiß nicht wie man in java die oo makros ausführt bzw wie man OO über die jacob schnittstelle startet(mit der ich ein paar erfahrungen in word und excel gemacht habe). Freue mich über jede Hilfe.

edit: ich wäre auch für ganz andere wege offen hauptsache ich kann aus java heraus ein bestimmtes oo-writer-dokument drucken und natürlich den drucker wählen.
Zuletzt geändert von danielandross am Mi, 09.05.2007 15:04, insgesamt 1-mal geändert.
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: makro in java ausführen

Beitrag von hol.sten »

danielandross hat geschrieben:ich möchte in Java ein makro das ich bereits erstellt habe ausführen.
Ich weiß nicht, ob dir einer der folgenden englischsprachigen Links weiter hilft. Immerhin drehen sie sich um das Thema OOoBasic/StarBasic und Java:
- http://www.oooforum.org/forum/viewtopic.phtml?t=25757
- http://www.oooforum.org/forum/viewtopic.phtml?t=22530
- http://www.oooforum.org/forum/viewtopic.phtml?t=19406
- http://www.oooforum.org/forum/viewtopic.phtml?t=765

Regards
hol.sten
danielandross
**
Beiträge: 24
Registriert: Do, 26.04.2007 16:07

Beitrag von danielandross »

Hm ich hab mich entschieden das über die kommandozeile zu lösen, sodass ich in java per

Code: Alles auswählen

Runtime.getRuntime().exec(pathAndArguments);
einen Kommandozeilenaufruf starte. hab dasselbe schonmal mit acrobat reader gemacht. Nur bekomme ich nichtmal das hin: hab bisher alles so gemacht, dass ich sage installpfadVonOO pfad zur datei
und das in den Versionen:
-leerzeichen
-leerzeichen,bindestrich
-leerzeichen und pfad in "" setzen

Jetzt startet zwar das OO lädt aber nicht das Dokument das ich ihm geben will. weiß jemand wie ich den dokumentpfad übergeben soll?
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Beitrag von hol.sten »

danielandross hat geschrieben:Hm ich hab mich entschieden das über die kommandozeile zu lösen
Warum? Taugen meine Links nix?
danielandross hat geschrieben:sodass ich in java per

Code: Alles auswählen

Runtime.getRuntime().exec(pathAndArguments);
einen Kommandozeilenaufruf starte...
Poste doch einfach direkt wie dein Aufruf aussieht. Aus deinen Ausführungen werde ich nicht schlau.
danielandross hat geschrieben:Jetzt startet zwar das OO lädt aber nicht das Dokument das ich ihm geben will. weiß jemand wie ich den dokumentpfad übergeben soll?
Wie wäre es mal mit einem Blick in den OOo Developer's Guide. Da gibt es jede Menge Beispiele in Java wie man eine Verbindung zu OOo herstellt, wie man Dokumente läd und wie man diese druckt:
- First Steps: http://api.openoffice.org/docs/Develope ... teps.xhtml
- Writer bzw. Text Documents: http://api.openoffice.org/docs/Develope ... Text.xhtml

Regards
hol.sten
danielandross
**
Beiträge: 24
Registriert: Do, 26.04.2007 16:07

Beitrag von danielandross »

Hi danke für deine Hilfe.
Ich hätte da noch ne Frage an dich. Ich soll das jetzt mit dem Open Office SDK machen. Mein Zeug läuft soweit (Das Tutorial taugt echt was). Jetzt soll ich jedoch es irgendwie realisieren dass ich das SeitenFormat von Spreadsheets ändern kann. Habe dann dieses Beispiel gefunden:

http://codesnippets.services.openoffice ... ToDin.snip
wollte das auch so machen. Es arbeitet jetzt auch immer schön dran herum nur die ausgabedateien die ich bekomme wenn ich meinen TIFF-Drucker ansteuere sind dann wieder im Din A4 Format. Drucken geht bei mir übrigens so:

Code: Alles auswählen

		XPrintable xPrintable = (XPrintable) UnoRuntime.queryInterface(
				XPrintable.class, openDocument);
		PropertyValue[] printerDesc = new PropertyValue[1];
		printerDesc[0] = new PropertyValue();
		printerDesc[0].Name = "Name";
		printerDesc[0].Value = "Microsoft Office Document Image Writer";

		xPrintable.setPrinter(printerDesc);

		PropertyValue[] printOpts = new PropertyValue[0];

		xPrintable.print(printOpts); // Print!!!
Ich habe mir daher gedacht, dass der Fehler wahrscheinlich daran liegt, dass beim drucken ein Default_Format gewählt wird. Deshalb dachte ich ich sollte in mein

Code: Alles auswählen

PropertyValue[] printOpts = new PropertyValue[0];
irgendwie die angabe einfügen : mach das mal in a3 oder whatever.

Jetzt zur Frage wo finde ich denn ne Liste an Eigenschaften die ich dem Array mitgeben darf? Ich finde da keine AUflistung oder sowas in der ich schauen könnte ob es das mit dem Format da einzustellen gibt.
Weißt du da was?[/url]
Antworten