doc -> pdf?

Status
Nicht offen für weitere Antworten.

Verjigorm

Top Contributor
Hallo,

wie lässt sich denn am schnellsten mit geringstem Aufwand eine doc-Datei ins PDF-Format konvertieren? :D
Hab jetzt mal bissl gesucht, lese da ständig was von iText und FOP.
Bin ich da richtig?

mfg Verjigorm
 

Wildcard

Top Contributor
Du kannst über Java OpenOffice ansprechen.
OpenOffice das .doc laden lassen und anschließend als PDF exportieren. Simple as Hell...
 

lhein

Top Contributor
Jepp...und es gibt sogar mind. 2 freie JavaBindings für OpenOffice, mit denen Du dann per Java dein Doc2PDF machen kannst. Such mal im Forum. Das Thema gabs schon oft.

lhein
 

Verjigorm

Top Contributor
also ich brauch was, was ich mein eigenes Programm integrieren kann

Hintergrund:

Vorliegende .doc-Dateien werden "befüllt" über eine Eingabemaske in der GUI.
Diese doc-Datei soll möglichst vom Benutzer nichtmehr leicht editierbar sein.

Lösung 1) intern doc -> pdf wandeln und dem Benutzer die pdf präsentieren

Lösung 2) doc direkt an Drucker schicken (?)
Keine Ahnung, hab ich nur schlechtes zu gefunden im Web, würde sämtliche Formatierungen etc. kaputt machen

Andere Vorschläge?
 

lhein

Top Contributor
Wie schon gesagt. Es gibt Bindings, mit denen Du deine Doc nach PDF wandeln kannst indem Du z.B. OpenOffice ansprichst.

OpenOffice API
NOA
JODConverter

evtl. auch als Alternative...
Apache POI
 

Wildcard

Top Contributor
Es gibt übrigens auch portable Versionen von OpenOffice die man ohne Installation beim Kunden ausliefern kann.
Weiterhin lässt sich OpenOffice auch Remote verwenden. Wenn du also einen Server bereitstellst, können sich Clients zur OOo Instanz verbinden und sich Dokumente erstellen/konvertieren lassen.
 

HoaX

Top Contributor
muss dann das dokument vom remote server aus erreichbar sein oder sendet das der client dann auch mit?
brauch so ne konvertierung auch bald ...
 

Verjigorm

Top Contributor
mich schockt irgendwie die Tatsache, dass es doc->pdf Konverter als Freeware gibt, die 1-2MB groß sind, aber es dazu wohl keine einfache java-lib existiert
 

lhein

Top Contributor
:autsch:
Was willst Du denn noch? URL's ? Fertige Programme?
Es ist alles da, Du musst nur mal zugreifen und die Libs auch verwenden.
:bahnhof:



Beispiel für JODConverter:
Code:
        // connect to an OpenOffice.org instance 
        OpenOfficeConnection connection = new SocketOpenOfficeConnection(this.officePort);
        connection.connect();
         
        // convert
        DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
        converter.convert(inputFile, outputFile);
        
        // close the connection
        connection.disconnect();

Das ganze kann man auch mit Streams machen anstelle von Files.
 

Wildcard

Top Contributor
HoaX hat gesagt.:
muss dann das dokument vom remote server aus erreichbar sein oder sendet das der client dann auch mit?
brauch so ne konvertierung auch bald ...
OOo kann mit InputStreams arbeiten, also lässt sich alles Socket basiert verschicken.
 

Verjigorm

Top Contributor
bei JJODConverter steht dabei:

Requirements: OpenOffice.org v2.0.3 or higher; the latest stable version is usually recommended. (StarOffice 8, NeoOffice being based on OpenOffice.org should also work.)

OpenOffice is locker > 100MB groß ...
Und einen Server kann ich dafür nicht bereitstellen, für Remote-Zugriffe



lhein hat gesagt.:
:autsch:
Was willst Du denn noch? URL's ? Fertige Programme?
Es ist alles da, Du musst nur mal zugreifen und die Libs auch verwenden.
:bahnhof:



Beispiel für JODConverter:
Code:
        // connect to an OpenOffice.org instance 
        OpenOfficeConnection connection = new SocketOpenOfficeConnection(this.officePort);
        connection.connect();
         
        // convert
        DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
        converter.convert(inputFile, outputFile);
        
        // close the connection
        connection.disconnect();

Das ganze kann man auch mit Streams machen anstelle von Files.
 

Wildcard

Top Contributor
Verjigorm hat gesagt.:
mich schockt irgendwie die Tatsache, dass es doc->pdf Konverter als Freeware gibt, die 1-2MB groß sind, aber es dazu wohl keine einfache java-lib existiert
Was erwartest du denn? .doc ist ein unglaublich schlechtes Dateiformat das sich von Version zu Version unterscheidet und niemals offen gelegt wurde.
Macht keinen Spaß eine solche Bibliothek zu schreiben, ausserdem ist OpenOffice einfach besser darin.
 

byte

Top Contributor
Wenn man so eine Konvertierung in eine Anwendung bauen will, kann man aber schlecht erwarten, dass der User zwangsweise Open Office installiert. Insofern kann ich die Bedenken schon verstehen.

DOC -> PDF sollte aber auch ohne Open Office gehen:
1. Mittels Apache POI aus der Worddatei XSL-FO erzeugen.
2. Mittels Apache FOP aus XSL-FO ein PDF generieren.
 

Wildcard

Top Contributor
byto hat gesagt.:
Wenn man so eine Konvertierung in eine Anwendung bauen will, kann man aber schlecht erwarten, dass der User zwangsweise Open Office installiert. Insofern kann ich die Bedenken schon verstehen.
Installieren muss man dank der portable ja nicht, aber die Bedenken verstehe ich durchaus, weil OOo recht groß ist.
Allerdings kann man nunmal keine Wunder erwarten wenn man nach freien Bibliotheken für proprietäre Formate sucht.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben