Bodo's Dynamics NAV Blog

Bodo ist ein Dynamics NAV Urgestein. Er programmiert NAV seit DOS Zeiten und hat auch keine Scheu vor .NET. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu NAV Entwicklern ausgebildet.

In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics NAV.

Dynamics NAV und das Ausdrucken externer Dateien

Verfasst von Bodo am Freitag, 20. April 2012

Tags: drucken, pdf, 2009, r2, nav

Durch Zufall bin ich auf msdynamics.de über einen Artikel gestolpert, der die unterschiedlichen Möglichkeiten diskutiert, externe Dateien (z.B. PDFs, Word-Dokumente, Excel-Dokumente) direkt aus Dynamics NAV zu drucken: http://www.msdynamics.de/viewtopic.php?f=14&t=1950.

Seit mit Dynamics NAV 2009 R2 der DotNet-Datentyp eingeführt wurde, können wir diesen Möglichkeiten noch eine weitere Variante hinzufügen: Die direkte Verwendung der .NET Framework Process-Klasse (http://msdn.microsoft.com/en-us/library/ccf1tfx0.aspx) und der ProcessStartInfo-Klasse (http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.aspx).

Mit Process.Start wird die mit der Endung (z.B. .pdf, .docx, .xlsx) der zu druckenden Datei verknüpfte Anwendung gestartet. Das StartInfo.Verb „PrintTo“ sorgt dafür, dass die Datei automatisch auf dem angegebenen Drucker ausgegeben wird. Alternativ können Sie auch „Print“ verwenden. Dann erfolgt die Ausgabe immer auf dem Standarddrucker. Process.WaitForExit wartet maximal die angegebene Dauer in Millisekunden. Bis dahin muss die Anwendung das  Dokument an den Drucker übertragen haben. Bei sehr großen Dokumenten müssen Sie eventuell den Timeout-Parameter höher setzen.

Den vollständigen Quellcode können Sie hier herunterladen: Codeunit 50.507 Print Document.txt