2011-08-22 4 views
1

내가 특정 프린터, 트레이에 내 문서를 인쇄하고 다음과 같은 코드를 사용하여 양면 인쇄 설정을하려고 :PrintDocument.PrinterSettings.Duplex 네트워크 프린터

void PrintingSystem_StartPrint(object sender, PrintDocumentEventArgs e) 
{ 
    //e.g. \\patch2\MIU Copier 
    e.PrintDocument.PrinterSettings.PrinterName = printerName; 
    //e.g. Tray 2 
    e.PrintDocument.DefaultPageSettings.PaperSource = paperSource; 

    if (e.PrintDocument.PrinterSettings.CanDuplex) 
     e.PrintDocument.PrinterSettings.Duplex = System.Drawing.Printing.Duplex.Horizontal; 
} 

PRINTERNAME 및 PaperSource 설정이 완벽하게 작동하지만 CanDuplex 속성은 복사기가 이것을 할 수 있다는 것을 알고 있음에도 불구하고 항상 거짓입니다. 또한 if 문을 제외하고 어쨌든 속성을 설정하면 여전히 단면으로 인쇄됩니다. 나는 구글의 비트가 있었으면하고 네트워크 프린터와 관련된 문제 일지 모르지만 어떤 해결 방법도 찾지 못했음을 내가 원하는대로 할 수있는 방법이 있습니까?

편집 : 나는 몇 가지 다른 네트워크 프린터 (복사기)에서 시도해 본 결과, 일부는 작동하지 않는 것으로 보입니다. 즉, Gestetner 2212 PCL 5e에서는 작동하지 않지만 Ricoh Aficio MP C2550에서는 작동합니다. 잘못보고 한 것이 나쁜 운전자 인 것 같아서, 나는 지금 코멘트를 남겨 둘 것입니다.

답변

0

PrintDocument와 연결된 PrinterSettings 인스턴스의 PrinterName 속성을 설정해도 예상대로 CanDuplex와 같은 속성이 업데이트되지 않는다고 생각할 수 있습니다.

새 PrinterSettings 인스턴스를 만들고 PrinterName 속성을 설정 한 다음 CanDuplex 속성을 살펴보고 동작이 다른지 확인하십시오. 그런 다음 해당 PrinterSettings 인스턴스를 PrintDocument.PrinterSettings에 할당합니다.

큰 소리로 생각하고 있습니다. 시도하지 않았습니다.