Hallo zusammen,
ich habe folgenden Code, welcher Eine Liste mit Bildern drucken soll, bis x Anzahl Seiten erreicht sind. In dem Fall hier ist es ein Bild und 140 Seiten.
Das Problem was ich habe ist, dass der Druckertreiber bei jedem neuen Druckjob immer 3 leer Seiten zieht, das ist auch so gewollt. Nur mein Druckvorgang startet direkt mit dem ersten Durchlauf von PrintPage. Der Drucker druckt nun so schnell, dass die Daten für die neuen Seiten noch nciht an den Drucker übertragen wurden. Das sorgt dafür, dass der Drucker nach N Seiten immer unterschiedlich anfängt Leerseiten zu ziehen. Meistens so ab 49-60 Seiten. Das variiert je nach Motiv etwas.
Habe ich irgendwie die Möglichkeit, dass der Druckvorgang erst gestartet wird, wenn alle 140 Seiten generiert worden sind? Oder von mir aus schon wenn X Seiten bereits generiert worden sind. Wenn ich das Bild über OpenOffice mit 140 Wiederholungen drucke, dann macht er das ja auch korrekt. Da wird aber auch nur das Bild einmal an den Drucker geschickt und dann 140 mal wiederholt, zumindest liest sich das so aus der Druckerwarteschlange.
LG Marvin
ich habe folgenden Code, welcher Eine Liste mit Bildern drucken soll, bis x Anzahl Seiten erreicht sind. In dem Fall hier ist es ein Bild und 140 Seiten.
Das Problem was ich habe ist, dass der Druckertreiber bei jedem neuen Druckjob immer 3 leer Seiten zieht, das ist auch so gewollt. Nur mein Druckvorgang startet direkt mit dem ersten Durchlauf von PrintPage. Der Drucker druckt nun so schnell, dass die Daten für die neuen Seiten noch nciht an den Drucker übertragen wurden. Das sorgt dafür, dass der Drucker nach N Seiten immer unterschiedlich anfängt Leerseiten zu ziehen. Meistens so ab 49-60 Seiten. Das variiert je nach Motiv etwas.
C#-Quellcode
- int printed = 0;
- List<Image> images = new List<Image>();
- foreach (var imagePath in product.Images)
- {
- Image picture = Image.FromFile(imagePath);
- images.Add(picture);
- }
- int index = 0;
- pd.PrintPage += (o, e) =>
- {
- printed++;
- if (printed < configuration.PageAmount)
- {
- e.HasMorePages = true;
- }
- else
- {
- index = 0;
- }
- e.Graphics.DrawImage(images[index], e.PageBounds);
- index++;
- if (index >= images.Count)
- {
- index = 0;
- }
- };
- pd.Print();
Habe ich irgendwie die Möglichkeit, dass der Druckvorgang erst gestartet wird, wenn alle 140 Seiten generiert worden sind? Oder von mir aus schon wenn X Seiten bereits generiert worden sind. Wenn ich das Bild über OpenOffice mit 140 Wiederholungen drucke, dann macht er das ja auch korrekt. Da wird aber auch nur das Bild einmal an den Drucker geschickt und dann 140 mal wiederholt, zumindest liest sich das so aus der Druckerwarteschlange.
LG Marvin