Automatische Druckerauswahl für non-Databound-Mode

Hallo,

ich möchte in einem non-Databound-Mode (ohne DataSource festzulegen), ein Label auszudrucken, wobei sämtliche Dialoge unterdruckt werden müssen.

Die PrinterConfiguration-Datei existiert nicht, daher muss ich den Printer, PrintMode und showPrintOption über API festlegen.

Ich habe folgende Varianten ausprobiert:

//1. Hier kann der Drucker nicht definieren werden
ll.Print(null, projectType, tempFile, false, LlPrintMode.Normal, LlBoxType.Normalwait, (IntPtr)0, string.Empty, false, Path.GetTempPath());
//2. Hier kann PrintOptions-Dialog nicht unterdruckt werden 
ll.Print(printer, projectType, projectFile);
// 3. Diese Option ist nur für DataSource-Mode relevant 
ll.AutoShowPrintOptions = false; 

Gibt es andere Optionen die ich übersehen habe, um entweder den Dialog zu unterdrucken oder den Printer festzulegen?

Kann man vielleicht FixedPrinterName irgendwie setzen?

// FixedPrinterName ist internal, direktes Setzen nicht möglich
ll.Core.FixedPrinterName = printer;

Wie sieht dein Druck-Code denn ansonsten aus? Übergibst du die Daten in einem Event? Oder aktiv, per LL.Variables.Add? Könntest du mal deinen Code hier ausschnittsweise teilen? Spontan würde mir noch LL.Core.LlSetPrinterInPrinterFile einfallen, was on the fly eine Druckerkonfiguration erzeugt. Vielleicht hilft das ja schon weiter?

1 Like

Danke sehr! Das scheint zu funktionieren! Auch sehr gut, dass die Datei dabei nicht erstellt wird, das hatte ich zuerst befürchtet.

Ja, ich übergebe die Daten in den DefineVariables (+DefineFields für Lists) Events.