PDF mitdrucken mit NAV-Report

8. Februar 2018 12:09

Ich sollte für einen Kunden einrichten, dass mit dem Druck eines Angebots gleichzeitig auch die AGB's gedruckt werden. Diese liegen als PDF-Datei in einem definierten Order.

Geht das überhaupt? Kann mir jemand vielleicht einen Tipp geben?

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 12:21

Geht das überhaupt? Kann mir jemand vielleicht einen Tipp geben?


Ja!

Du musst den zum auf dem Client installierten PDF-Reader definierten Kommandozeilen Druckbefehl finden, und dann den Reader auf dem Client mit der PDF- Datei starten (Drucker Auswahl nicht vergessen) :mrgreen:

Gruß Fiddi

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 12:30

Echt jetzt? Das ist ja IT zu Fuss :shock:

Gibt es da nichts eleganteres, z.B. über dotNet?

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 12:42

Gibt es da nichts eleganteres, z.B. über dotNet?


Wenn der PDF- Reader das anbietet schon. :mrgreen:

Beim Acrobat eher nein. Aber auch da benötigst du eine ganze Menge DotNet. :wink:

Gruß Fiddi

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 12:53

Vielleicht ja hier.

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 12:56

Mit PowerShell reicht eine Zeile, um notfalls alle PDFs in einem Ordner auszudrucken :wink: .
Code:
Get-ChildItem "C:\AGB\*.pdf" | ForEach-Object {start-process $_.FullName -Verb Print}

Wenn man nur ein bestimmtes benötigt, vorne den konkreten Dateinamen anzugeben.

Zum Ausführen hat man ab NAV 2016 den PowerShell-Runner verfügbar
Coffee Break: Use the PowerShell Runner Add-In

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 13:07

Hallo,

Code:
    Get-ChildItem "C:\AGB\*.pdf" | ForEach-Object {start-process $_.FullName -Verb Print}


Bei mir startet zwar der Acrobat. Er öffnet auch die Datei, aber Drucken tut er nicht. Mal ganz zu schweigen davon, dass er den Reader danach auch wieder beendet. :-(

Und wenn es kein Acrobat- Reader ist, gibt es wahrscheinlich auch kein Print.

Gruß Fiddi

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 13:22

Acrobat Reader habe ich gar nicht installiert. Der PDF-XChange Viewer hier druckt bei mir jedenfalls sofort aus.

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 13:46

Ich habe es mit einer ähnlichen Codeunit (das gleiche in grün) und Acrobat Reader probiert, das klappte auch.

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 14:59

Kowa hat geschrieben:Acrobat Reader habe ich gar nicht installiert. Der PDF-XChange Viewer hier druckt bei mir jedenfalls sofort aus.


Das mag ja sein, aber mit - zumindest meinem, und auch anderen - Acrobats tut er es nicht, und wenn du weder das eine noch das andere installiert hast, sondern nur den Browser zum PDF anschauen benutzt, wird gar nichts gedruckt.

McClane hat geschrieben:Ich habe es mit einer ähnlichen Codeunit (das gleiche in grün) und Acrobat Reader probiert, das klappte auch.


Mit einer "ähnlichen" Codeunit funktioniert das bei mir auch. Sogar, wenn ich den Drucker mitgeben will, und der Acrobat danach wieder verschwinden soll.

Gruß Fiddi

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 15:07

Das ist mir alles etwas zu wackelig und unsicher. und schreit auch nach ständigem Support, weil immer wieder mal was fehlt (z.B. bei neuen PC Installationen)

Würde es mit einem gespeicherten Worddokument einfacher gehen? Office ist in der Regel überall installiert (zumindest bei meinem Kunden der diesen Wunsch hat die AGB's zu drucken).

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 15:37

In dem Artikel, den ich weiter oben verlinkt habe, geht Waldo doch genau darauf ein?

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 15:53

rotsch hat geschrieben:Würde es mit einem gespeicherten Worddokument einfacher gehen?

Die PowerShell-Methode funktioniert bei mir auch mit einer .docx-Datei einwandfrei.

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 16:03

OK, dann muss ich mal doof fragen. Du gibst eine Zeile Code an für den Druck, aber das genügt so nicht, da muss die ganze CU aus dem Link 'CoffeeBreack' nachgebaut werden, oder?

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 16:05

Hallo,

eine einfachere und stabilere Methode wäre wahrscheinlich, die AGBs als HTML- Textfeld hinter der letzten Seite des Belegs im RDLC zu drucken. Dann hat man auch kein Problem mit der Synchronität der Berichte (Will sagen, die AGBs kommen auch an der Stelle im Druck raus, wo Sie hingehören, und nicht bei einem viel genutzten Drucker irgendwann mal, wenn Word oder Acrobat fertig ist.)

Mit ein wenig Tüftelei könnte es sogar gelingen die AGBs bei einem Duplexdrucker auf die Rückseite der 1. Seite zu bekommen.

Gruß Fiddi

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 16:26

Sorry, ich habe heute den Tag der blöden Fragen :oops:

HTML-Textfeld? Du meinst, das Worddokument als HTML speichern und dann mit Copy/Paste den Inhalt in dieses HTML-Feld einfügen? Oder was anderes?

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 16:39

Hallo,

HTML-Textfeld? Du meinst, das Worddokument als HTML speichern und dann mit Copy/Paste den Inhalt in dieses HTML-Feld einfügen?


Ob "Word als HTML speichern" so eine gute Idee ist, weiß ich nicht, aber so ähnlich meinte ich das. (Das HTML, was Word produziert ist eher suboptimal, besser ist es hier einen richtigen HTML-Editor zu bemühen (z.B. BlueGriffon). Außerdem versteht ein RDLC- Textfeld nur einen eingeschränkten HTML Befehlssatz)

Besser wäre es allerdings auch, den AGB- HTML irgendwo in den Firmendaten abzuspeichern und beim Druck mit zu übergeben, dann kann es der Anwender jederzeit ändern. :mrgreen:

Gruß Fiddi

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 16:50

In den Firmendaten speichern? Du meinst in einem BLOB-Feld?

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 16:55

Du brauchst einen PDF Drucker, welcher in der Lage ist, automatisch Seiten an gedruckte Dateien anzuhängen. (z.B. PDF24, PDFCreator).

Den richtest du als Drucker mit Namen "... + AGB" ein, idealerweise als Netzwerdrucker. Und dann kannst du einfach deine Belege drucken und der Rest geschiet automatisch.

Re: PDF mitdrucken mit NAV-Report

8. Februar 2018 17:05

rotsch hat geschrieben:In den Firmendaten speichern? Du meinst in einem BLOB-Feld?

Genau das.

Gruß Fiddi

Re: PDF mitdrucken mit NAV-Report

9. Februar 2018 11:25

rotsch hat geschrieben:Du gibst eine Zeile Code an für den Druck, aber das genügt so nicht, da muss die ganze CU aus dem Link 'CoffeeBreack' nachgebaut werden, oder?

Nein, das ist ja nur ein Beispiel, wie man das einsetzen kann.

Um nur eine Datei zu drucken, könnte das schon reichen.
Code:
PowerShellRunner := PowerShellRunner.Create;
PowerShellRunner.WriteEventOnError := TRUE; // versorgt die Ereignisanzeige bei Fehlern
PowerShellRunner.AddCommand('Start-process');
PowerShellRunner.AddParameter('FilePath','C:\temp\test123.docx');
PowerShellRunner.AddParameter('Verb','Print');
PowerShellRunner.BeginInvoke;


Der PowerShell-Code wird hierbei auf dem Server ausgeführt (dort im Ordner Add-ins/PowerShellRunner liegt auch die .dll dazu), das ist also das dortige LW C:. Der muss auch Skripte ausführen dürfen und Verbindung zum Drucker haben, zusätzlich muss man für manche Cmdlets auch Mitglied der Administratorgruppe sein (auch für das Beispiel von MS im Artikel, wird unten erwähnt). Für eine .docx-Datei macht ein Server auch ersatzweise nur WordPad auf (als damit verknüpfte Standardapp), wenn dort kein Word installiert ist.

Zum Testen kann man in PowerShell (auf dem Server) direkt dieses ausführen, mehr macht der obige Code auch nicht.
Code:
Start-process -FilePath "C:\temp\test123.docx" -Verb print

Analoges Verhalten erhält man in Windows, wenn man im Explorer mit Rechtsklick auf die Datei geht und im Kontextmenü "Drucken" auswählt.

Für freie Eingaben für Skripte wird es komplizierter, da muss dann entweder erst Waldos Paket drauf
oder man führt lokale auf dem Client laufende Skripte aus.

Re: PDF mitdrucken mit NAV-Report

9. Februar 2018 12:26

Hallo,

ehrlich gesagt finde ich Michaels Vorschlag am einfachsten zu realisieren.

Gruß Fiddi

Re: PDF mitdrucken mit NAV-Report

9. Februar 2018 13:10

fiddi hat geschrieben:..ehrlich gesagt finde ich Michaels Vorschlag am einfachsten zu realisieren.


:mrgreen: Vielen Dank. Und er ist dazu auch noch flexibel. ("Bei der Auftragsbestätigung soll das auch so funktionieren...")

Re: PDF mitdrucken mit NAV-Report

9. Februar 2018 15:03

Hallo,

so ganz ohne ist deine Lösung allerdings auch nicht. Es ist allerdings relativ unabhängig von NAV.

Du benötigst für jeden Benutzer einen zusätzlichen PDF-Drucker zu seinem eigenen Papier- Drucker und der PDF- Drucker muss in der Lage sein im Anschluss an seinen Druck auch auf dem Papierdrucker zu drucken. Das kann bei Netzwerkdruckern schwierig werden.
Für Emails würdest du wahrscheinlich noch einen zusätzlichen PDF- Drucker benötigen (wenn du die AGBs nicht als zusätzlichen Anhang verschicken willst oder kannst).

Evtl. kann man einen Papier- Drucker auch so einrichten, dass er auf der Rückseite eines Belegs automatisch die AGBs druckt.

Die stabilste Lösung wäre wahrscheinlich meine Lösung mit dem Textfeld im RDLC, weil sie in so ziemlich allen Lebenslagen funktionieren würde.

Es wäre aber aber sicherlich einiges an Knobelarbeit nötig um den Belegreports so etwas beizubringen, was sich für eine einmalige Anwendung sicherlich nicht lohnen würde.

Gruß Fiddi

Re: PDF mitdrucken mit NAV-Report

9. Februar 2018 18:27

Ich habe mir den Thread komplett durchgelesen.
Danke an Kowa, m_schneider und fiddi für die vorgestellten Lösungen.
Momentan hilft mir das für eine kleine Projektaufgabe in NAV, in welcher PDF Anhang gedruckt werden muss.