Das ist das Beste, was ich mir ausgedacht habe:
%Vor%Gibt es einen besseren Weg, dies zu tun? (Das ist eigentlich ziemlich langsam)
Deklarieren Sie den PrintController als Printing.PreviewPrintController
.
Auf diese Weise drucken Sie nur in den Speicher, nicht in eine Datei.
Ich benutze dies in einem VB.NET-Projekt, und es funktioniert perfekt!
Überprüfen Sie Ссылка
Es gibt ein PrintDocument.QueryPageSettings-Ereignis, das bearbeitet werden könnte. Wenn es behandelt wird, wird es vor jedem PrintDocument.PrintPage-Ereignis aufgerufen. Sie können also einen Zähler setzen, um die Seiten zu zählen. Auf diese Weise können Sie einen zweifachen Durchlauf vermeiden (ein Durchlauf, um das Dokument in eine Datei zum Zählen der Seiten zu drucken, und einen zweiten Durchlauf für den eigentlichen Jobdruck).
Die obige URL enthält auch einen Beispielcode für einen Zähler.
Hoffe, das hilft
Tags und Links c# printing printdocument