Formulare automatisch drucken

Die Business-Edition des FormPrinters bietet die Möglichkeit, über Parameter ein bestimmtes Formular mit bestimmtem Inhalt zu drucken, ohne dass der Benutzer den FormPrinter explizit starten muss. Somit können Sie z.B. in Excel ein Makro erstellen, welches den FormPrinter veranlasst, einen bestimmten Datensatz zu drucken.

Die Schnittstelle ist nicht in allen Editionen des FormPrinters enthalten. Versionen vergleichen

Nur für neue Version

Die Dokumentation bezieht sich auf die aktuelle FormPrinter-Version. Hier finden Sie die Doku bis einschließlich Version 5.8 des FormPrinters.

Syntax

Die Steuerung des FormPrinters erfolgt über Parameter beim Aufruf (PowerShell-Beispiel):

.\FormPrinter.exe print --path="WERT" 

Der path Parameter ist Pflicht, aller weiteren Parameter sind optional.

Parameter Beschreibung Beispiel
--path Der absolute Pfad des zu öffnenden Formulars C:\Admin\Testformular.fmpx
--print-records Die Nummer der Datensätze, die gedruckt werden sollen, beginnend mit 1. Nur relevant für Formulare mit DataConnect-Verbindung. Wenn der Parameter nicht angegeben wird, wird das Formular mit dem Inhalt gedruckt, der beim Öffnen im Formular steht. 1
"3-5"
"2,5-10,20-30"
--printer-name Der Name des Druckers, der zum Drucken verwendet werden soll HP Deskjet F2100 series
--show--printsettings wenn angegeben, dann werden vor dem Druckvorgang die Druckeinstellungen angezeigt  
--show-printpreview wenn angegeben, dann wird vor dem Drucken eine Druckvorschau angezeigt, in welcher die Formularinhalte noch einmal überprüft werden können  
--keep-printpreview-open wenn angegeben, dann bleibt die Druckvorschau auch nach dem Druckvorgang noch offen. Man kann nicht erneut drucken, aber das Ergebnis z.B. noch mal vergleichen. Wenn nicht angegeben, dann schließt die Druckvorschau nach dem Klick auf den Druck-Button. Der Parameter ist nur im Zusammenhang mit dem --show-printpreview-Parameter relevant.  

Exit-Codes

Der FormPrinter gibt beim Beenden des print-Befehls folgende Exit-Codes zurück:

Exit-Code Bedeutung
  0 Erfolgreich beendet
  1 Abgebrochen
-1 Mit Fehler beendet

Beispiel: Drucken von Formularen über Excel

So könnte ein Aufruf aus einem Excel-Makro heraus aussehen (in dem Beispiel wird der 3. DataConnect-Datensatz gedruckt, vorher werden die Druckeinstellungen angezeigt):

Dim formPrinterPath As String
Dim formularPath As String
Dim printRecords As String

formPrinterPath = "C:\Program Files\FormPrinter\FormPrinter.exe"
formularPath = "C:\Admim\Testformular.fmpx"
printRecords = "3" '3. Datensatz drucken
Dim command As String

Shell ("POWERSHELL.exe """ & formPrinterPath & """ print --path \""" & formularPath & "\"" --print-records \""" & printRecords & "\""" & " --show-printsettings")

Achten Sie darauf den Pfad jeweils in doppelte Anführungszeichen ("") zu setzen, um nicht den String zu unterbrechen. Excel muss dann die Anführungszeichen mit einem Backlash maskiert übergeben (\"), damit das Anführungszeichen zum PowerShell-Befehl gehört und nicht als eigener Startparameter für den PowerShell-Aufruf interpretiert wird.

Nützliche Links:

Beispiel: Drucken von Formularen von einem Programm heraus

Wenn Sie selber Programmierer sind, bietet sich über die Parametersteuerung die Möglichkeit, das Bedrucken von Formularen wie z.B. Überweisungsträgern dem FormPrinter zu überlassen. Dafür sind folgende Schritte notwendig:

  1. Erstellen Sie im FormPrinter das Formular, welches über Ihr Programm bedruckt werden soll
  2. Richten Sie eine DataConnect-Verbindung ein, wobei alle relevanten Felder mit einer Tabellenspalte verknüpft sind.
  3. Greifen Sie in Ihrem Programm über auf die Tabelle zu und füllen Sie eine Zeile mit den zu druckenden Inhalten. Bei MS Office können Sie über die Office PIA´s die Tabelle manipulieren, bei OpenOffice über OpenOffice API. Denken Sie daran, die Tabelle (über die API) zu speichern.
  4. Rufen Sie nun den oben angegebenen Shell-Befehl auf, der sich den Datensatz dann aus der Tabelle holt und druckt.