Announcement

Collapse
No announcement yet.

PDF-Datei drucken

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PDF-Datei drucken

    Hallo NG,

    ich möchte eine PDF-Datei aus .NET heraus öffnen und drucken ohne die Vollversion von ADOBE installiert zu haben. Gibt es hierfür eine Lösung (z. B. eine Freeware-Klasse oder andere Lösungsansätze)?

    Aus dem Artikel im dotnet Magazin konnte ich nicht entnehmen, wie das genau funktioniert.

    Gruß
    Thomas

  • #2
    Hallo Thomas,

    die Techniken, die ich im Artikel beschrieben habe, gelten nur für die Vollversion von Acrobat. Nur diese lässt sich via OLE Automation fernsteuern.

    Beim Einsatz des Reader ist es wahrscheinlich am einfachsten hierzu einfach die Kommandozeilen-Parameter von Acrobat zu nutzen (z.B. "C:\Programme\Adobe\Acrobat 5.0\Acrobat\Acrobat.exe" /p /h <datei.pdf>"). Das entspricht den Parametern von HKEY_CLASSES_ROOT\AcroExch.Document\shell\print\co mmand in der Registry, also dem Kommando für das Shell-Print.

    Ein anderer Weg ist evtl. die Nutzung von DDE, bestimmte Kommandos und dazu gehören auch die Druck-Funktionen arbeiten auch mit dem Reader.
    Infos dazu gibt es unter ( http://partners.adobe.com/asn/acrobat/docs.jsp bzw. http://partners.adobe.com/asn/acrobat/docs/iac/IACReference.pdf ).
    Leider wird DDE in .Framework nicht direkt unterstüzt, daher hier noch ein paar Infos dazu. (unter http://www.debreuil.com/dotnet/dde )

    Grundsätzlich solltest Du dabei beachten, dass Acrobat (und das gilt für Reader und Vollversion) gleichermaßen nicht threadsafe ist und nicht innerhalb von Prozeßen ohne WinGUI (z.B. Windows Services) genutzt werden kann.

    Freeware/Shareware zum Ausdruck von PDFs:
    PDFPrint (unter http://www.sanface.com/pdfprint/ )

    und

    Ghostscript
    (unter http://www.ghostscript.com bzw. https://sourceforge.net/project/showfiles.php?group_id=1897&release_id=123550 )
    Hier gibt es das Utility pdf2ps. Hiermit kannst Du aus einer PDF eine Postscript-Datei erzeugen und diese dann auf dem Drucker ausgeben.

    Bei weiteren Fragen erreichst Du mich unter [email protected]

    mit bestem Gruss

    Carsten Harnisc

    Comment


    • #3
      Hallo Carsten,
      wenn ich C:\Programme\Adobe\Acrobat 5.0\Acrobat\Acrobat.exe" /p /h <datei.pdf> benutze um ein Dokument zu drucken. Gibt es auch Möglichkeit um zu wählen , zu welchem Drucker soll die Dokument geschickt werden ?
      Wenn alle Drucker im Netzwerk sind, sollte man Auswahl hoben können.
      Grus

      Comment

      Working...
      X