Bodo's Dynamics NAV und Business Central Blog
Bodo ist ein Dynamics NAV Urgestein. Er programmiert Navision seit DOS Zeiten und hat auch keine Scheu vor .NET und schon gar nicht vor Dynamics 365 oder Azure. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu Entwicklern ausgebildet. In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics 365 Business Central / Dynamics NAV und Microsoft Azure.Dynamics NAV und das Ausdrucken externer Dateien
Tags: drucken, pdf, 2009, r2, navDurch 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