mit Java ein Office 2007 to PDF realisieren

Status
Nicht offen für weitere Antworten.

dor_neue

Mitglied
Hallo,

ich habe als Prakikant die Aufgabe bekommen einen Office to PDF Konverter zu programmieren.
Soweit nicht schwer. Erste Lösungen mit Python und OpenOffice hat dem Chef nicht gefallen, denn es soll mit Java realisiert werden. Außerdem soll auf OpenOffice verzichtet werden und Office 2007 genutzt werden.
Das sind 2 schwere Einschränkungen.

Ein Ausbilder zeigt dann kurz, dass ein zugriff auf Office mittels COM-Schnittstelle ganz einfach ist und klickte mir in 5 min ein Beispielprogramm in VB.Net zusammen, mit dem er eine Datei öffnen konnte und diese als PDF abspeichern. Dabei nutzt er das kostenlose "Save as PDF"-Plugin von MS.
OK, aber VB.Net ist nicht Java - meine Aufgabe jetzt das in Java umzusetzen.

Nur hab ich keine Ahnung wo ich da anfangen soll.

Zuerst gesucht nach API-Schnittstellen von Office - außer COM bzw. DCOM hab ich noch ActiveX gefunden.
Gefunden hab ich auch POI von Apache.org - aber helfen tut das nicht so richtig.

Ziel soll es sein, es gibt einen Ordner, sobald dort Dateien reinkopiert werden, soll die PDF-Konvertierung stattfinden.

Hat von Euch jemand sowas mit Java und Office2007 realisiert?
Wo seht Ihr Probleme (hab z.B. das hier gefunden: )?
Wie kann ich COM, DCOM oder ActiveX mit Java nutzen? Ist JCOM der richtige Weg?
Wer hat schon Erfahrungen mit solch einer Aufgabe gemacht?


Ich bin Euch für jede hilfe dankbar, da ich bei Java noch nicht so den super Durchstieg hab...



PS: wichtig ist noch, es sollen Word, Excel, Powerpoint und Visio Dateien konvertiert werden können (bis Office2007).
 
G

Gast2

Gast
Moin,

die eigentlich wichtigste Frage ... auf dem Rechner wo Dein Programm laufen soll - läuft da auch Office? ... das wirst Du benötigen ... wenn nicht kannst Du ganze 5500 Seiten OOXML implementieren - wobei Dir das aber einen Arbeitsplatz sichert für die nächsten Jahre :bae:

Google - Doc2Pdf ... schau mal ob Du was brauchbares findes ... da ist selbst Shareware für 15€ mit bei gewesen ... dann bastelst Du Dir noch einen FileSystemWatcher (Google foltern) für das Verzeichnis und gut ist

Ein Ausbilder zeigt dann kurz, dass ein zugriff auf Office mittels COM-Schnittstelle ganz einfach ist und klickte mir in 5 min ein Beispielprogramm in VB.Net zusammen, mit dem er eine Datei öffnen konnte und diese als PDF abspeichern. Dabei nutzt er das kostenlose "Save as PDF"-Plugin von MS.
gut er kann mit der Maus klicken ... gibt ihm somit das Recht als Ausbilder zu arbeiten ... .NET rüm sich regelrecht damit mit den Office-Komponenten arbeiten zu können (wen wunderts) ... also war das keine große Leistung - und dann noch ein Plugin verwendet :toll:

VB.Net ist nicht Java
irgendwo schon ... bei Beiden hast Du das Problem die native API des BS einbinden zu müssen ... das macht Dir aber .NET etwas leichter ... und beide laufen auf allen (gängigen) Betriebsystemen (gut .NET kennt nur alle Windows-Betriebsysteme)

hand, mogel
 

dor_neue

Mitglied
Office2007 ist auf dem Rechner natürlich auch installiert... das hab ich vergessen zu erwähnen.

Die Tools die ich gefunden habe sind größtenteils keine Lösung und der Rest der halbwegs zu gebrauchen wäre, sind ja eh nur Vorbilder.
Wie gesagt, es soll ja auch ein Lerneffekt mit dabei sein und ich soll sowas in Java realisieren.
Ich such ja auch keine fertige Lösung (dazu kommt ja denn eh noch FileSystemWatcher, Log-File schreiben, ...) sondern Ansätze an den ich weiterarbeiten kann.
So z.B. der Name von der API für Office2007 die ich mit Java ansprechen kann...
Das kann doch nicht so schwer sein - komm ich vielleicht besser wenn ich DCOM-Server laufen lassen und auf diesen mit Java zugreife? Denn bei Netzwerkverbindungen ist es ja egal welche Programmiersprache das Signal absendet - oder?
Am liebsten wäre mir sowas wie XML-RPC für Office2007 - aber das gibt es ja leider nicht - oder?



Und Mono ist eine super Sache wenn es darum geht Net auf Linux zu nutzen - is doch aber für die Aufgabe uninteressant - oder hab ich was übersehen?
 

Wildcard

Top Contributor
Ich fände OpenOffice + Java zwar sinnvoller, aber theoretisch kannst du natürlich über com/ole mit MS-Word kommunizieren (sofern es denn installiert ist). Für die Benachrichtigung über neue Dateien schau dir JNotify an.
 

lhein

Top Contributor
dor_neue hat gesagt.:
Und Mono ist eine super Sache wenn es darum geht Net auf Linux zu nutzen - is doch aber für die Aufgabe uninteressant - oder hab ich was übersehen?

Das war auch nicht als Antwort zu Deiner Frage gedacht. Siehe auch wen ich da zitiert habe.
 

dor_neue

Mitglied
Wildcard hat gesagt.:
... aber theoretisch kannst du natürlich über com/ole mit MS-Word kommunizieren

Genau das ist mein problem - dafür brauch ich Hilfe oder ein passendes Schlagwort oder sonst was...

Manchmal sucht man verzweifelt und findet es nicht, weil man nicht die richtigen Schlagwörter benutzt...
 
T

tuxedo

Gast
SWT bietet dir eine Ole Schnittstelle zu Com/ActiveX an. Damit kannst du prinzipiell Office in Java "benutzen". Musst nur die entsprechenden Ole-Schnittstellen von MS Office kennen.

- Alex
 

dor_neue

Mitglied
tuxedo hat gesagt.:
SWT bietet dir eine Ole Schnittstelle zu Com/ActiveX an. Damit kannst du prinzipiell Office in Java "benutzen". Musst nur die entsprechenden Ole-Schnittstellen von MS Office kennen.

- Alex

Wenn Du mit SWT das hier meinst:
http://de.wikipedia.org/wiki/Standard_Widget_Toolkit
dann geht es da ja eher darum ein "Excel" nachzuprogrammieren.
Ich benötige aber eine Anwendung die das ganze ohne GUI als Daemon/Service erledigen kann...
Wenn ich mich verlesen habe, dann sag es mir bitte - ich glaub ich brauch heute wieder nen bisschen länger :D
 

DocRandom

Top Contributor
Wildcard hat gesagt.:
Funktioniert Office denn überhaupt wie OpenOffice Headless als Batch Konverter?
NEIN!
Das geht bei M$ ned!
Zumindest bei den alten Versionen ging´s nicht, wie es bei Office > 2003 ist weiß ich nicht da ich seit geraumer Zeit nur noch mit OO arbeite.

@dor_neue
Die einzige Möglichkeit in der M$-Umgebung auf die Dokumente zu zugreifen, ohne horrende Lizenzgebühren zu bezahlen, bleibt nun mal POI!
Am besten guckst Du Dir mal Opening Microsoft File Formats to Java von O´Reily an!

lg
DocRandom
 
T

tuxedo

Gast
>> dann geht es da ja eher darum ein "Excel" nachzuprogrammieren.

Totaler quatsch. SWT hat nix mit Excel zu tun. SWT bietet dir native UserInterfaces gemäß Betriebssystem Look'and'Feel. Und im Falle von Windows hast du noch als "extra" die Ole-Schnittstelle für Com/Active-X.

Erst lesen, dann denken, dann tippen

- Alex
 

dor_neue

Mitglied
Mal ne ganz neue Idee,

was ist wenn ich einen Schnittstellen-Konverter programmiere und darüber mit Java die Office-Anwendungen steuern kann?
So könnte man doch z.B. mit C#.Net einen Server realisieren, der z.B. XML-RPC-Requests entgegennimmt und diese Anforderungen auf die COM-Schnittstelle weiterleitet. Der Vorteil wäre, dass die "neue" Schnittstelle aus "allen" Programmiersprachen ansprechbar wäre. Außerdem dürfte die Realisierung ja nicht so extrem komplex werden - oder sehe ich das falsch?
Java dürfte doch keine Probleme mit XML-RPC haben - ansonsten realisiert man eben eine für Java bessere Schnittstelle...
 

Wildcard

Top Contributor
Oder du erklärst deinem Chef das OOo tatsächlich die bessere Wahl ist, da es Headless arbeiten kann, Programmiersprachen und Betriebssystem unabhängig ist und auch über Sockets und Webservices gesteuert werden kann.
 

dor_neue

Mitglied
Wildcard hat gesagt.:
Oder du erklärst deinem Chef das OOo tatsächlich die bessere Wahl ist, da es Headless arbeiten kann, Programmiersprachen und Betriebssystem unabhängig ist und auch über Sockets und Webservices gesteuert werden kann.

Würde ich gern - aber 0 Chance - es wird Microsoft Office eingesetzt - das ist fest - leider...
 
G

Gast2

Gast
Moin,

Wildcard hat gesagt.:
Oder du erklärst deinem Chef das OOo tatsächlich die bessere Wahl ist, da es Headless arbeiten kann, Programmiersprachen und Betriebssystem unabhängig ist und auch über Sockets und Webservices gesteuert werden kann.

Du kannst keinen Bekehren wenn er schon seinen Gott gefunden hat ... das funktioniert nur bei der Entscheidungsfindung

mal abgesehen davon ... Office-Dokumente sehen unter 2.4 grausam aus nach dem öffnen ... (Bilder verschoben, etc.) ... in wie weit verbessert wurde in 3.0, kann ich nicht sagen

dor_neue hat gesagt.:
was ist wenn ich einen Schnittstellen-Konverter programmiere und darüber mit Java die Office-Anwendungen steuern kann?
So könnte man doch z.B. mit C#.Net einen Server realisieren, der z.B. XML-RPC-Requests entgegennimmt und diese Anforderungen auf die COM-Schnittstelle weiterleitet. Der Vorteil wäre, dass die "neue" Schnittstelle aus "allen" Programmiersprachen ansprechbar wäre. Außerdem dürfte die Realisierung ja nicht so extrem komplex werden - oder sehe ich das falsch?
nein ... eigentlich eine gute Idee ... dann brauchst Du nur mit .NET auf Office zugreifen ... mit Java über RPC auf die Schnittstelle

Java dürfte doch keine Probleme mit XML-RPC haben - ansonsten realisiert man eben eine für Java bessere Schnittstelle...
wenn nicht definierst Du einfach ein eigenes XML-Protokoll zum Steuern der Schnittstelle

hand, mogel
 
T

tuxedo

Gast
>> So könnte man doch z.B. mit C#.Net einen Server realisieren, der z.B. XML-RPC-Requests entgegennimmt und diese Anforderungen auf die COM-Schnittstelle weiterleitet.

Ich sags nur ungern, aber nimm doch einfach SWT um auf COM zuzugreifen. Dann sparst du dir C# und kannst direct auf Office losgehen.

- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Druckvorgang mit Java beenden (Open Office) Allgemeine Java-Themen 3
1 Java <-> Open Office Allgemeine Java-Themen 5
X Office von Java aus starten Allgemeine Java-Themen 5
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
lalex1491 Java Aktienkurse nachfragen Allgemeine Java-Themen 4
J Class to link Java Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
mrStudent Inferenz JAVA Allgemeine Java-Themen 6
U URI Rechner (Java Script) Allgemeine Java-Themen 7
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
mihe7 Java 19 JavaDocs: Browserintegration Allgemeine Java-Themen 0
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
C Fußnoten von DocX mit Java Allgemeine Java-Themen 2
C Fußnoten in DocX mit Java Allgemeine Java-Themen 1
M Aussagenlogik in Java Programmieren Allgemeine Java-Themen 22
B Per Java Word Dokument schreiben? Allgemeine Java-Themen 8
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
KonradN Oracle übergibt (Java Teile der) GraalVM Community Edition an OpenJDK Community Allgemeine Java-Themen 2
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11
K Nachhilfe Java Allgemeine Java-Themen 11
KonradN Java 19 Allgemeine Java-Themen 11
F IDEA IntelliJ Java Songliste erstellen Allgemeine Java-Themen 6
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
Sachinbhatt Sind alle Methoden in Java implizit virtuell Allgemeine Java-Themen 2
E Java und integrierte Grafikkarten Allgemeine Java-Themen 18
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
A Java unter Win 10 Allgemeine Java-Themen 1
B Woher kommen die Bildschirmkoordinaten beim java Robot? Allgemeine Java-Themen 14
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
T Java Robot Class - Bot Allgemeine Java-Themen 3
E Wie Java Heap Space vergrößern? Allgemeine Java-Themen 3
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
izoards Java Home Pfad unabhängig von der Version Allgemeine Java-Themen 7
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
KonradN CVE-2022-21449: Fehler in Java bei Signaturprüfung Allgemeine Java-Themen 20
berserkerdq2 Java sql Allgemeine Java-Themen 15
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
LimDul XSD To Java - Überschreiben von Assoziationen Allgemeine Java-Themen 1
Aartiyadav Comparisons and Swapa in Bubble-sort Java Allgemeine Java-Themen 6
KonradN Java 18 Allgemeine Java-Themen 8
N Statistische Auswertung von Logfiles (Einlesen, auswerten und grafische Aufbereitung von logfiles) mit Java Allgemeine Java-Themen 9
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
Z Mit Java 8+ Streams Zeilen nummern zu Zeilen hinzufügen Allgemeine Java-Themen 17
M Verständnisfrage java.util.TimerTask Allgemeine Java-Themen 2
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4
O Newton Algorithmus Java Allgemeine Java-Themen 1
P Java Quellen finden Allgemeine Java-Themen 3
M Java Analyse/ SWOT-Analyse Allgemeine Java-Themen 13
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
Atten007 Java-Klasse auf macOS entpacken? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben