PDF ausdrucken



  • Hi,

    ich habe eine MFC-App, die ab und zu UDP-Pakete erhält, in denen der Pfad zu einer kürzlich erstellten pdf steht. Ich will dann ohne User-Interaktion die pdf ausdrucken.

    Wie kann ich das am besten bewerkstelligen ?? 😕
    Ich hab echt keine Ahnung, wie ich da anfangen soll...



  • Dazu brauchst du keine MFC,

    probiere mal:

    system("start acrord32 /t \"c:\\verz\datei.pdf\"");

    druckt auf dem Standarddrucker aus, evtl. musst du dich dann aber noch um das Beenden des A-Readers selbst kümmern!



  • Wutz schrieb:

    evtl. musst du dich dann aber noch um das Beenden des A-Readers selbst kümmern!

    Jup. Das habe ich gelöst, indem ich Ghostscript nahm.


  • Mod

    Und warum nicht ganz einfach ShellExecute mit dem print Verb?



  • Weil dies voraussetzt,dass die Registry korrekt konfiguriert ist sprich einen gültigen Eintrag enthalten muss,was nach diversen Installationen/Deinstallationen/Updates nicht immer gewährleistet ist.
    Außerdem funktioniert system auch unverändert bei Unicode,man braucht den Dateinamenstring nicht aufwändig mit t/wchar-Gedöns extrabehandeln.
    Außerdem ist system gegenüber ShellExecute/A/W ANSI-C Standard.
    Allenfalls sollte ShellExecute wegen der Auswertbarkeit des Returnwertes Vorteile bieten.



  • Martin Richter schrieb:

    Und warum nicht ganz einfach ShellExecute mit dem print Verb?

    Weil der kostenlose AcrobatReader sich danach nicht schließt. Zum Automatisieren muß man von Adobe was kaufen.


  • Mod

    Wutz schrieb:

    Weil dies voraussetzt,dass die Registry korrekt konfiguriert ist sprich einen gültigen Eintrag enthalten muss,was nach diversen Installationen/Deinstallationen/Updates nicht immer gewährleistet ist.
    Außerdem funktioniert system auch unverändert bei Unicode,man braucht den Dateinamenstring nicht aufwändig mit t/wchar-Gedöns extrabehandeln.
    Außerdem ist system gegenüber ShellExecute/A/W ANSI-C Standard.
    Allenfalls sollte ShellExecute wegen der Auswertbarkeit des Returnwertes Vorteile bieten.

    1. Das mit der Registry und den Deinstallationen und Installationen sind für mich kein Arguemnt.
    2. Das Unicode Problem hast Du dennoch! Auch wenn Du system verwendest 😉
    Zumindest hast Du bei system eine Entscheidung für MBCS getroffen.
    Oder läuft Deine Software unter allen Bedingungen mit system auf einem japanischen OS? Und auch für system gibt es eine Unicode Variante.
    Und auch bei ShelExecute(A/W) musst Du Dich nicht kümmern, sondern nur entscheiden.
    3. Gegen System spricht ganz klar das Rumgeflacker von Consolen Fenstern
    http://blog.m-ri.de/index.php/2008/09/04/aufflackern-eines-konsolenfensters-bei-nutzung-system-und-_popen/

    @volkard:
    Das ein Adobe Reader Fenster offen bleibt ist natürlich Mist und ein gravierendes Argument.



  • Danke erstmal für die zahlreichen Antworten.

    Hab dann doch ShellExecute genommen, weil mich das Aufpoppen des cmd-Fenster bei system nervt. Kann so auch noch die Rückgabe auswerten.
    Der Reader muss eben vorhanden sein, mit dem open-Wert und als Parameter hidden und der Pfad (+ Name) der PDF wird das Drucken ausgelöst.
    Um das Schließen kümmer' ich mich selber per Postmessage.

    Vielen Dank für eure Hilfe.
    Wenns noch was zu bemerken gibt, immer raus damit 🙂


Anmelden zum Antworten