Anzahl der auszugebenden Seiten beschränken

Hallo,
was muss ich machen, wenn ich bei einem mehrseitigem Report nur eine bestimmte Anzahl Seiten, z. Bsp. nur die 1 Seite, ausgeben möchte?
Das aber druckabhängig, also nicht dauhaft eingestellt.

Verwendet wird LL 31.

Vielen Dank für Eure Unterstützung

Carsten

Hallo Carsten,

wir haben hier mehrere Möglichkeiten:

1. Im Druckdialog

Hier kann die Ausgabe direkt auf bestimmte Seiten begrenzt werden. Das ist genau die „druckabhängig, nicht dauerhaft“-Variante.

Wenn du also nur die erste Seite ausgeben möchtest, trägst du bei “Seiten-Bereiche” einfach 1 ein.

Der Report selbst bleibt unverändert; die Begrenzung gilt nur für diesen Druckvorgang.

2. Über das Setzen der Printoption LL_PRNOPT_LASTPAGE

Hier kann im DefinePrintOptions-Ereignis der Wert 1 übergeben werden, sodass dann nur die erste Seite gedruckt wird:

//Druckdialog unterdrücken
LL.AutoShowPrintOptions = false;

//Zusätzliche Optionen setzen, die für den Druck/Export verwendet werden sollen
LL.DefinePrintOptions += (s, e) =>
{
  (s as ListLabel).Core.LlPrintSetOption(LlPrintOption.LastPage, 1);
};
//Drucken
LL.Print();

3. Seitenbereich festlegen

Im selben Ereignis kann über LlPrintSetOptionString und LL_­PRNOPTSTR_PAGERANGES auch gleich ein Seitenbereich analog zum Druckdialog übergeben werden.

LL.DefinePrintOptions += (s, e) =>
{
  (s as ListLabel).Core.LlPrintSetOptionString(LlPrintOptionString.PageRanges, "1-2");
};
//Drucken
LL.Print();

Das würde dann nur die ersten zwei Seiten drucken. Übergibt man z.B. nur "2", wird nur die zweite Seite gedruckt.

Welche Seite gedruckt werden soll, könnte auch vom Kunden abgefragt werden.

Hallo Onursal,

vielen Dank für die ausführliche Antwort.

Die Lösung über die LLPrintOption war genau das, was ich gesucht habe,
da ich das Setzen programmatisch steuern muss.

Ich wünsche Dir ein erholsames Wochenende.

Carsten