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:
-
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?
-
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