2014-03-26 2 views
0

인쇄 할 사본의 양을 설정하려고하지만 인쇄 중이 아닙니다. 항상 하나의 사본을 인쇄합니다.Printvisual CopyCount 속성이 작동하지 않습니다.

dlg.PrintQueue.DefaultPrintTicket.CopyCount = 3; 
dlg.PrintTicket.CopyCount = 3; 

내가 WPF에서 PrintVisual 방법을 사용하고 있습니다 :

나는이 2 개 개의 속성을 시도했다.

답변

0

몇 년이 지난 후 다시이 문제에 대한 해결책을 찾았습니다.

당신은 단순히 PrintQueue 내부의 DefaultPrintTicket 개체의 CopyCount 속성을 설정 :

dlg.PrintQueue.DefaultPrintTicket.CopyCount = 3; 

그런 다음 당신이 PrintDialog.PrintTicket 속성이 PrintTicket 객체를 할당합니다

dlg.PrintTicket = dlg.PrintQueue.DefaultPrintTicket; 

을 완료를!

0

새로운 대기열 및 티켓을 처음부터 새로 만들거나이 작업을 수행 할 수 있습니다. 이 방법은 훨씬 쉬울 것입니다.

var printDialog = new PrintDialog(); 
printDialog.PrintTicket.CopyCount = numCopies; 

if (printDialog.ShowDialog() == false) 
{ 
    return; 
} 

참고 : 인쇄 대화 상자에서 "확인"을 클릭하기 전에 모든 사항을 설정해야합니다. 이것은 합리적입니다. 그렇지 않으면 비 윤리적 인 사람들은 자신의 프로그램이 단지 1 부만 인쇄한다고 생각할 때 재미있는 것으로 1000 부의 사본을 인쇄하게 만들 것입니다.

+0

여전히 작동하지 않습니다. (BTW 나는 대화에서 간섭없이 직접 인쇄가 필요하기 때문에 나는 showdialog를 사용하지 않는다). 이 재산은 쓸모없는 것처럼 보입니다. – DeMama

+0

[this] (http://msdn.microsoft.com/en-us/library/System.Printing.PrintTicket (v = vs.110) .aspx)는 처음부터 티켓을 만드는 것을 의미합니다. 프린터에서 티켓을 가져 와서 CopyCount를 설정하고 dlg.PrintTicket을 검색된 티켓으로 설정 한 다음 인쇄해야합니다. – Kcvin

관련 문제