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:
- Erstellen Sie im FormPrinter das Formular, welches über Ihr Programm bedruckt werden soll
- Richten Sie eine DataConnect-Verbindung ein, wobei alle relevanten Felder mit einer Tabellenspalte verknüpft sind.
- 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.
- Rufen Sie nun den oben angegebenen Shell-Befehl auf, der sich den Datensatz dann aus der Tabelle holt und druckt.