LL14 + C#: PreviewFile.Append langsam und teilt Druckjobs auf

Hallo,

ich habe in einer Anwendung das Szenario, dass ich mehrere Rechnungen auf einmal drucken muss und dabei nach jeder Rechnung ein Blatt mit AGB und Widerrufsbelehrung anhängen muss.
Ich löse das momentan, indem ich zuerst den widerruf in eine .ll Datei schreibe und dann die einzelnen Rechnungen und dabei das ganze per PreviewFile.Append zu einem Gesamt-Dokument zusammenbaue:


llRollRechnungen.Core.LlSetOptionString(LlOptionString.PreviewFileName, Path.Combine(filepath,
“widerruf.ll”));
llRollRechnungen.Print(tke.rk, combit.ListLabel14.LlProject.List, Path.Combine(filepath,
“widerruf.lst”), false,
combit.ListLabel14.LlPrintMode.PreviewControl,
combit.ListLabel14.LlBoxType.None,
this.Handle, “Drucken”, false, Path.GetTempPath());

//Erste Rechnung + Widerruf in rollr0.ll drucken

for (kuCount = 1; kuCount < tke.rk.ku.Count; kuCount++)
{

llRollRechnungen.ExportOptions.Clear();
llRollRechnungen.Core.LlSetOptionString(LlOptionString.PreviewFileName,
Path.Combine(filepath, “rollr” + kuCount.ToString() + “.ll”));
llRollRechnungen.Print(tke.rk, combit.ListLabel14.LlProject.List, filename, false,
combit.ListLabel14.LlPrintMode.PreviewControl,
combit.ListLabel14.LlBoxType.None,
this.Handle, “Drucken”, false, Path.GetTempPath());
llPrev.FileName = “”;
PreviewFile sf = new PreviewFile(Path.Combine(filepath, “rollr0.ll”), false);
sf.Append(Path.Combine(filepath, “rollr” + kuCount.ToString() + “.ll”));
sf.Append(Path.Combine(filepath, “widerruf.ll”));
sf.Close();
}
llRollRechnungen.IncrementalPreview = false;
llRollRechnungen.Core.LlPreviewDisplay(Path.Combine(filepath, “rollr0.ll”), “”, this.Handle);
llRollRechnungen.IncrementalPreview = true;

Das ganze funktioniert auch, hat allerdings zwei Probleme:

  1. Es ist unglaublich langsam. Für eine Liste mit 40-50 Rechnungen mit jeweils 1 Seite komme ich auf eine Wartezeit von 5-10 Minuten (auf einem aktuellen PC, also kein Hardwareproblem). Gibt es da eine Möglichkeit das schneller zu bearbeiten?

  2. Wenn dann das fertige Dokument gedruckt wird, werden trotzdem einzelne Druckjobs an den Drucker geschickt. Das hat zur Folge, dass bei einem Duplex-Drucker die Widerrufsbelehrung nicht auf der Rückseite gedruckt wird, sondern auf einem neuen Blatt. Wie kann ich das abstellen?

Gruß
ND

Hilft evtl. den Druck zuerst in ein PDF auszugeben und das dann im Hintergrund zu drucken?

Gruß
ND

soviel ich weiß müssen die Druckeinstellungen von den Vorschaudateien identisch sein, eine kleinste Abweichung führt dazu das 2 Druckaufträge an den Drucker gesendet werden…prüf das mal…hoffe es hilft…
gruss der Toni