Entwickler-Ecke

Sonstiges (Delphi) - MS Word Datei nach PDF konvertieren


dirkil2 - Mi 07.11.07 13:30
Titel: MS Word Datei nach PDF konvertieren
Ich möchte von meinem Delphi Programm aus eine Microsoft Word Datei einlesen und nach PDF konvertieren. Gibt es dafür eine Komponente (kann auch kommerziell sein)?


Reinhard Kern - Mi 07.11.07 19:45
Titel: Re: MS Word Datei nach PDF konvertieren
user profile icondirkil2 hat folgendes geschrieben:
Ich möchte von meinem Delphi Programm aus eine Microsoft Word Datei einlesen und nach PDF konvertieren. Gibt es dafür eine Komponente (kann auch kommerziell sein)?


z.B. Adobe Acrobat. Dabei (und auch bei Alternativen) werden Word-Macros verwendet, MS Word muss also laufen. Andernfalls werden Links nicht übernommen.

Gruss Reinhard


dirkil2 - Mi 07.11.07 20:46

@Reinhard

Das würde ja bedeuten, alle meine Kunden müßten Adobe Acrobat installiert haben. Das ist ein bißchen aufwendig. Ich hatte mehr an eine DLL gedacht, die Funktionen enthält, die ich von Delphi aus aufrufen kann.


Reinhard Kern - Do 08.11.07 03:04

user profile icondirkil2 hat folgendes geschrieben:
@Reinhard

Das würde ja bedeuten, alle meine Kunden müßten Adobe Acrobat installiert haben. Das ist ein bißchen aufwendig. Ich hatte mehr an eine DLL gedacht, die Funktionen enthält, die ich von Delphi aus aufrufen kann.


Das gibt es meines Wissens nicht - auch die Alternativen zu Acrobat arbeiten auf die gleiche Weise, also mit der Installation von Word Macros, das ist also gehupft wie gehopst.

So wie du dir das vorstellst, müsstest du ja das DOC-Format in allen Details selbst interpretieren, das ist aber überhaupt nicht dokumentiert. Deshalb ja die erwähnten Macros. Um genau zu sein: nach dem Stand der Technik musst du Word aufrufen und die Datei laden und dann das von Acrobat oder sonstwem installierte Macro aufrufen, um PDF zu erzeugen. Das ist von MS so kompliziert gewollt um PDF als Standard zu bekämpfen.

Gruss Reinhard


mkinzler - Do 08.11.07 08:54

Man könnte auch OpenOffice verwenden. dies kann Worddateien laden direkt PDFs ausgeben.


kalmi01 - Do 08.11.07 09:49

Wenn das Hauptproblem das PDF-Erzeugen ist, kann Dir da http://www.gnostice.com geholfen werden.


uranop - Sa 06.09.08 12:18

*ausgrab*

das pdftoolkit ist zumindest laut funktions beschreibung nicht schlecht.

allerdings, das was ich rausgefunden habe, is das man da nur pdf manipulieren kann etc ...

wie ich doc 2 pdf oder xls 2 pdf mache kA
find einfach kein weg


mkinzler - Sa 06.09.08 12:52

Installiere einen PDF-Druckertreiber


uranop - Sa 06.09.08 13:39

das muss ohne externe vorinstallierte komponenten gehen ...

zudem habe ich hier mehr als genug, OO, Staroffice, Adobe und pdfcreator


elundril - Sa 06.09.08 13:41

*sry hab mich verlesen*


uranop - Sa 06.09.08 13:58

erst guggn dann denken und evtl posten : P

ich will aus meinem programm direkt word in pdf und xls in pdf pipen ohne das diejenigen,
welche das teil spaeter anwenden erst noch openoffice pdfcreator oder so nen kram installieren muessen ...

das muss doch irgendwie hinhaun ...


Timosch - Sa 06.09.08 14:14

user profile iconuranop hat folgendes geschrieben:
erst guggn dann denken und evtl posten : P

ich will aus meinem programm direkt word in pdf und xls in pdf pipen ohne das diejenigen,
welche das teil spaeter anwenden erst noch openoffice pdfcreator oder so nen kram installieren muessen ...

das muss doch irgendwie hinhaun ...

AFAIK gibt es keine Komponente, die DOC ohne OLE (also auch ohne vorinstalliertes Word o.ä.) versteht.
Wundert mich aber auch immer, denn:


user profile iconReinhard Kern hat folgendes geschrieben:

So wie du dir das vorstellst, müsstest du ja das DOC-Format in allen Details selbst interpretieren, das ist aber überhaupt nicht dokumentiert. Deshalb ja die erwähnten Macros. Um genau zu sein: nach dem Stand der Technik musst du Word aufrufen und die Datei laden und dann das von Acrobat oder sonstwem installierte Macro aufrufen, um PDF zu erzeugen. Das ist von MS so kompliziert gewollt um PDF als Standard zu bekämpfen.

AFAIK ist DOC dokumentiert; man muss lediglich ein Verschwiegenheitsabkommen unterzeichnen, um die Standards zu bekommen. Letztens (schon über zwei Monate würd ich sagen) kam allerdings eine Meldung bei Heise, man wolle sie komplett öffentlich machen. Keine Ahnung, was daraus wurde.


uranop - Sa 06.09.08 15:23

naja also das stink normale officepaket hat jeder drauf, das ist nicht das problem ...
mir geht es nur um das convertieren von doc nach pdf etc ...


mkinzler - Sa 06.09.08 16:12

GhostScript


uranop - Sa 06.09.08 16:45

jau nicht schlecht
geht das ganze noch irgendwo als VCL her ?


starbak77 - Mi 08.10.08 12:48

Wer nach einer kommerziellen Lösung sucht um ohne separater Installationen von PDF-Druckertreibern und dergleichen direkt aus aktuell 45 unterschiedlichen Eingangsformaten ein PDF zu erzeugen, könnte sich an doc2pdf.org, Germany wenden...

Der Softwarehersteller doc2pdf.org hat eine WSDL - API zur Ansprache eines PDF Converter Webservice entwickelt, mit dem man so eine gewünschte Funktionalität mit Delphi recht einfach realisieren könnte. WSDL ist ja Standard unter aktuellen Delphi - Versionen...

Über WSDL wird ein in JAVA entwickelter PDF - Server über SSL (Remote) oder im LAN angesprochen, der die Konvertierung zentralisiert durchführt und das Eingangsdokument als PDF an das Delphiprogramm zurückliefert.

Die auf doc2pdf.org herunterladbaren Windowsprogramme sind beispielsweise in Delphi entwickelt. Der als Demo downloadbare CLIENT Converter nutzt bereits die oben beschriebene Technologie und WSDL - API des PDF Servers.

Das Ganze geht natürlich neben Delphi auch beispielweise mit JAVA oder auch .NET

Vielleicht ist das für den ein oder anderen hier im Forum interessant...


alzaimar - Mi 08.10.08 13:30

Kann man auch ohne Probleme selbst schreiben, wenn man C# kann. Würde mich interessieren, wie viele bereit sind, ihre Dateien an einen Wildfremden zu schicken.

Dessenungeachtet ist gegen eine Silent-Installation von PDFCreator o.ä. nichts einzuwenden, oder?


starbak77 - Mi 08.10.08 13:44

Natürlich gibt es weitere Ansätze um soetwas zu realisieren...
Es geht doch vielmehr darum für jeden Bedarf die evtl. richtige Lösung zu finden...

Man kann neben der Remoteübermittlung ja auch eine Installation im sicheren LAN durchführen wenn man so etwas auf Client/Server Basis realisieren möchte. Sicherlich dann nur interessant für das professionelle Business-Segment...


alzaimar - Mi 08.10.08 14:52

Die Idee mit einem Webservice an sich finde ich schon richtig, da dann etwaige Treiber und was man sonst so benötigt nur an einer Stelle installiert werden muss.


Delete - Mi 08.10.08 14:57

Aber man ist vom Internet abhängig. Als ich umgezogen nbin hatte ich drei Wochen kein Internet. Ich hätte die Software also nicht nutzen können. Und gegen eine silent-Installation ist sehr wohl was einzuwenden, da ich schon ganz gerne wüsste, wer was wie und wo auf meinem Rechner installiert.


starbak77 - Mi 08.10.08 15:08

wenn man genau nachsieht, gibt es auch eine "offline" alternative. Die sicherlich auch dahingehend modifiziert werden könnte. das weiss ich aber jetzt nicht genau. sicherlich bietet die jeweilige variante den ein oder anderen lösungsansatz. zumindest ist die technologie interessant. der druckdialog oder das print-Event und die immer dazu passende anwendung auf dem rechner zu haben ist nicht mehr von nöten...

egal - jeder muss jeweils nach der für ihn passenden lösung suchen...so ist das doch immer...


uranop - So 30.11.08 13:50

hmm also ich denke mal ich gehe das anders an...
da bis auf abgerootete vlan netzte 95% aller Rechner im Werk erreichbar sind
kann ich damit leben beim Techniker pdf creator drauf zu knallen ...

dann muss mein prog lediglich ab fragen .
wenn pdfcreator installiert -> ok
drucken in pdfcreator mit creatorname, timestamp und path

wenn nicht installiert, denn mach rote meckerlampe an : )


MSCH - So 30.11.08 17:40

versuchs doch mal so:
benutzte ein Rave-Report der eine einzige RTFMemoKomponente printed. Autosize und sowas alles einstellen.
Dann word via COM einfach dazu bringen, das Word-Doc als temp. RTF Doku zu speichern.
Dann nimm dir das rtf - poste es in dein RTF-Memofeld vom Report und printe das aus. Rave kann nativ pdf -
sollte also kein Problem sein.
:-)msch


alzaimar - So 30.11.08 19:34

Oder einen freien WORD-Viewer (z.B. von MS) zusammen mit PDFCreator installieren. Dort implementierst Du einen kleinen Webservice (oder DCOM oder oder oder) und fertig ist das.

PS: wieso ist auf Rechnern, die mit DOCs umgehen, kein Word installiert?