+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

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


(Guest) #1

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


(Guest) #2

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

Gruß
ND


(Guest) #3

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