Kube: Word-Dokumente automatisch erzeugen

Hallo allerseits,

Ich suche nach einer Möglichkeit, Word-Dokumente automatisch zu erstellen (d.h. ohne dass jemand eine Wordinstanz aufmacht).
In dem Word sollen Texte und Bilder enthalten sein.
Hat jemand eine Idee oder nur einen Ansatz, wo ich nachsehen könnte?
Programmtechnisch kann ich jede Programmiersprache verwenden und ich habe auch vollen Zugriff auf den Server, auf dem der Spaß stattfinden soll.

thx,
Kube

  1. Hi,

    Programmtechnisch kann ich jede Programmiersprache verwenden und ich habe auch vollen Zugriff auf den Server, auf dem der Spaß stattfinden soll.

    Wenn du Perl verwenden willst würde ich mal Win32::OLE (mal im CPANnachschauen) ausprobieren/bzw in dessen Umfeld suchen. Ich weiß allerdings nicht ob man mit diesen Modulen auch schreiben kann. Aber sonst sind diese Begriffe auch das nach dem du suchen musst.

    Grüße Andres Freund

    --
    ss:) zu:) ls:} fo:) de:] va:) ch:| n4:& rl:° br:^ js:( ie:% fl:( mo:|
    1. Moin Moin !

      Win32::OLE

      ... braucht Word und macht ggf. auch wohl mal ein Word-Fenster auf.

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
      1. Hi,

        ... braucht Word und macht ggf. auch wohl mal ein Word-Fenster auf.

        Leider.

        Aber vielleicht könnte man die Dokumente in einem anderen Format erstellen, und dann mit einem Konverter in das MS-Word-Format bringen. Dazu müsste man natürlich wissen, wie komplex das im Endeffekt aussieht, Mit komplex meine ich, wie genau alles positioniert werden muss usw.

        Grüße Andres Freund

        --
        ss:) zu:) ls:} fo:) de:] va:) ch:| n4:& rl:° br:^ js:( ie:% fl:( mo:|
        1. ... braucht Word und macht ggf. auch wohl mal ein Word-Fenster auf.
          Leider.

          unschön, aber nicht wirklich schlimm.

          Aber vielleicht könnte man die Dokumente in einem anderen Format erstellen, und dann mit einem Konverter in das MS-Word-Format bringen.

          bis jetzt habe ich HTML erzeugt und dann nach PDF konvertiert.

          Dazu müsste man natürlich wissen, wie komplex das im Endeffekt aussieht, Mit komplex meine ich, wie genau alles positioniert werden muss usw.

          Positionierung ist eher irrelevant, problematisch ist das eingefügte Bild (ein Karte) das eine bestimmte Größe haben muss.

          Gruss,
          Kube

          1. Moin Moin !

            ... braucht Word und macht ggf. auch wohl mal ein Word-Fenster auf.
            Leider.
            unschön, aber nicht wirklich schlimm.

            Doch, doch, das kommt noch.

            Was passiert, wenn zwei Requests fast gleichzeitig kommen und beide "mit Word spielen" wollen? Im schlimmsten Fall ackern dann zwei Request-Handler parallel auf einer Word-Instanz rum und simulieren Tastatureingaben. Es gibt in Windows z.B. auch nur ein Clipboard ...

            Windows kann zwar mittlerweile halbwegs Multitasking (so lange kein Windows- oder Internet-Explorer auf ist, klappt das ganz gut), aber von Muli-User ist es noch Lichtjahre weg.

            Alexander

            --
            Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
  2. Hi Kube,

    Ich suche nach einer Möglichkeit, Word-Dokumente automatisch zu erstellen (d.h. ohne dass jemand eine Wordinstanz aufmacht).
    In dem Word sollen Texte und Bilder enthalten sein.

    Muss es unbedingt Word sein?

    Hat jemand eine Idee oder nur einen Ansatz, wo ich nachsehen könnte?

    Wie wäre es mit pdf? In welcher Form hast du die Daten?
    Vielleicht ist http://xml.apache.org/cocoon/ etwas für dich.

    HTH

    Maxx

  3. Moin Moin !

    Wie Maxx schon fragte: Muß es unbedingt Word sein? Wenn Du keinen zwingenden Grund für Word hast, bleib bei HTML oder PDF.

    Es gibt im WWW eine Doku des Word8-Formats, Google hilft. Es gibt vielleicht das eine oder andere Modul, um Word-Format zu schreiben, auch da hilft Google.

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
  4. Hallo,

    danke für Eure Antworten!
    zu den Fragen:

    @Alexander & Maxx
    ja, es muss .doc sein, normalerweise liefere ich ja PDF, aber der Kunde wollte gern ein Word-Dokument, um das Ergebnis in seine vorhandenen Dokumente einzufügen.

    @Andres
    also Perl ist schon ok. Ich schwanke noch zwischen Perl und Java. Zur Not ASP oder PHP. Ist das wirklich so, das bei OLE-Automatisierung die Word-Instanz in einem neuen Fenster aufgeht?

    Ausserdem habe ich gehört, dass es bei mehreren gleichzeitig geöffneten Wordinstanzen zu Abstürzen kommen kann... muss ich mal probieren.

    Gruss,
    Kube

  5. Hallo,

    wie wäre es mit RTF? Das RTF-Format ist frei verfügbar und von MS leidlich gut dokumentiert. Word kann RTF problemlos lesen und später als .doc abspeichern. Leider ist die Syntax von RTF ziemlich übel (Tokenbasiert, mega verschachtelt). Es gibt (halb)fertige XML/RTF-Konverter oder halt selber schreiben. Ich habe mal vor einiger Zeit sowas gemacht (RTF-->XML (via Java)-->HTML), war aber ein Halbjahresprojekt (und hat gekostet).

    Harry

    1. Hallo Harry,

      gute Idee... in diese Richtung habe ich auch schon geforscht.
      Das RTF-Format soll angeblich extrem Speicherintensiv sein, wenn das Dokument große Bilder enthält, egal, welche Bildkomprimierung man wählt.
      Und da mein Dokument hauptsächlich aus nem Bild plus etwas Text drumherum besteht, kommt RTF für mich nicht in Frage.

      Gruß,
      Kube

      1. Hi,

        gute Idee... in diese Richtung habe ich auch schon geforscht.
        Das RTF-Format soll angeblich extrem Speicherintensiv sein, wenn das Dokument große Bilder enthält, egal, welche Bildkomprimierung man wählt.

        Die RTF-Datei liegt halt im Quelltext vor, aber ohne aufblähende spaces oder so, macht es halt auch nicht so einfach lesbar. Inline Bilder werden im Binär-Format eingebunden, das macht das RTF-Dokument auch nicht grösser, wie bei einem vergleichbaren .doc-File.
        Ausserdem kannst du ja das Bild getrennt ausliefern und einen externen Verweis in's RTF-Dokument einbinden.

        Und da mein Dokument hauptsächlich aus nem Bild plus etwas Text drumherum besteht, kommt RTF für mich nicht in Frage.

        Na ja, ist zwar etwas einseitig ;-), aber kein Ausschlussgrund.
        Weitere Infos gibt es hier:
        http://msdn.microsoft.com/library/en-us/dnrtfspec/html/rtfspec.asp

        Gruss Harry

        1. Noch eine kleine Anmerkung zu deiner ursprünglichen Frage nach der Generierung von .doc-Files.
          Ich glaube nicht, dass das ein gangbarer Weg ist, zumindest nicht für normal sterbliche Programmierer. Das .doc-Format ist nicht von MS offen gelegt und liegt in einem nicht lesbaren Format vor. Es dürfte schwer sein, das mit webtauglichen Mitteln nachzubauen.
          Ich sehe als word-taugliche Formate nur RTF, HTML und in Grenzen XML und PDF.

          Gruss Harry

  6. Hi,

    Hat jemand eine Idee oder nur einen Ansatz, wo ich nachsehen könnte?

    Ja, ich habe noch eine Idee. die würde allerdings ein OpenOffice voraussetzten, was aber, wie ich denke, kein Problem sein sollte.
    Es gibt, so weit ich dass gesehen habe, bei OpenOffice Schnittstellen zu C++ und Java. Ich würde mal auf der OpenOffice Seite nach der API und dem SDK schauen. Allerdings gibt es das meiste, wie so oft, nur in Englisch.
    Siehe: http://api.openoffice.org/faq.html.
    Ich weiß nicht ob das gut geht, wäre aber IMHO eine Idee, der man nachgehen sollte.

    Grüße Andres Freund

    --
    ss:) zu:) ls:} fo:) de:] va:) ch:| n4:& rl:° br:^ js:( ie:% fl:( mo:|
    1. Hi,

      Siehe: http://api.openoffice.org/faq.html.
      Ich weiß nicht ob das gut geht, wäre aber IMHO eine Idee, der man nachgehen sollte.

      Sorry fuer den Doppelpost, aber ich hab dazu noch was interessantes gefunden: http://framework.openoffice.org/proposals/filters/exportfilters.html

      Grüße Andres Freund

      --
      ss:) zu:) ls:} fo:) de:] va:) ch:| n4:& rl:° br:^ js:( ie:% fl:( mo:|