Brauche nen Tip! Eine .doc Vorlage in VB-Runtime bearbeiten, umwandeln in PDF, speichern und dann drucken.

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Timo-Waldi.

    Brauche nen Tip! Eine .doc Vorlage in VB-Runtime bearbeiten, umwandeln in PDF, speichern und dann drucken.

    Hallo zusammen,

    ich stehe vor der Aufgabe das ich Word-Vorlagen welche erstellt wurden, in der Laufzeit mit Daten füllen muss, diese Dokumente dann per PDF umgewandelt werden müssen, sowie gespeichert werden müssen.

    Wie gehe ich das am besten an? Hat das jemand von euch schonmal gemacht?

    Über ein paar Tips oder einem Link zu nem How-To würd ich mich sehr freuen.

    Viele Grüße

    Timo
    Das heißt „in PDF umwandeln“, denn PDF ist ein Format.

    Das Prinzip der Lösung für dein Problem ist relativ einfach, die Umsetzung leider nicht, da der Teufel wie immer im Detail steckt.

    Prinzip:
    1. Man erstelle Word-Vorlagen
    2. Man fülle die Word-Vorlagen mit Text
    3. Man setze an die Stellen, die zur Laufzeit gefüllt werden sollen, Platzhalter ein (z.B. „<@@#Vorname#@@>“
    4. Man erstelle eine Applikation
    5. Applikation kopiert die Word-Vorlagen
    6. Applikation öffnet die Kopien
    7. Applikation sucht nach den Zeichenfolgen „<@@#“ und „#@@>“
    8. Applikation ersetzt die gefundenen Zeichenfolgen, durch die gewünschten Daten (z.B. „<@@#Vorname#@@>“ wird zu „Peter“)
    9. Applikation speichert die geänderte Kopie
    10. Applikation stößt die PDF-Erstellung durch einen PdfCreator (BCL, AdbeWriter, …) an.


    Wie das im Einzelnen funktioniert, hängt davon ab, mit welcher Word-Version die Vorlagen erstellt wurden, wie man die Word-Vorlagen öffnet und füllt und welche PDF-Software zur Erstellung von PDFs man nutzt. Das Prinzip bleibt gleich, aber die Umsetzung kann dabei sehr stark variieren. Du wirst also für alles auf ein Mal kein Tutorial finden, sondern musst sie dir nach deinen Bedürfnissen suchen.
    ok, verstehe, also müssen im Worddokument TAGS erstellt werden.

    gibt es bei Vb eine Replace Funktion, um z.b. den ganzen Text den ich aus einer Datei streame nach den TAGS zu scannen um die dann mit ner Vorgabe zu ersetzen?

    Gemeint ist ca. folgendes:

    Dokument öffnen
    Text aus Dokument in eine Variable as z.B. String
    Replace XYZ mit ZYX
    Stream String zu Dokument
    Save
    Solche Funktionen gibt es. Relativ einfach aber unflexibel geht es mit der Methode Replace() der Klasse String.
    Schwieriger, dafür flexibler geht es mit regulären Ausdrücken.

    Das mit dem Öffnen und Auslesen des Dokumentes hört sich zwar einfach an, ist es aber nicht, da ein Word-Dokument aus vielen Teilen besteht (Rand, Kopf, Fuß, Absätze, Bilder, Tabellen, usw.). Außerdem ist das Format nicht einfach so lesbar (öffne ein Word-Dokument in Notepad, dann siehst Du, was ich meine).