2013-12-14 1 views
0

나는 간단한 작업 노트 테스트 프로그램을 만들고있다. menutool 바 (인쇄)의 메뉴 항목을 클릭하여 내 프린터로 문서를 인쇄 할 수있게하려고합니다. 다음 코드는 내가 사용하는 것이지만 단순 인쇄에 필요한 모든 것이 있는지 확실하지 않습니다. 나는 C#에 익숙하지 않아 printDocument 클래스에 익숙하지 않다.PRINT 버튼에서 .rtf 또는 .txt 파일을 인쇄 하시겠습니까?

private void printToolStripMenuItem_Click(object sender, EventArgs e) 
     { 


     try 
     { 
      StreamReader streamToPrint = new StreamReader 
       ("C:\\My Documents\\MyFile.txt"); 
      try 
      { 
       Font printFont = new Font("Arial", 10); 
       PrintDocument pd = new PrintDocument(); 
       pd.PrintPage += new PrintPageEventHandler(myFileName); 
       pd.Print(); 
      } 
      finally 
      { 
       streamToPrint.Close(); 
      } 
     } 
     catch(Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

답변

1

문제 : 당신은 제대로 PrintPagEvent 처리되지 않습니다.

해결책 : PrintPageEvent 처리기를 작성하여 PrintPageEvent을 올바르게 처리해야하는 문서를 인쇄하려면 처리기 :을 사용하십시오.

+0

유일한 오류는 경로에 대한 액세스가 거부되었습니다. 내가 사용하는 디렉토리 나 드라이브에서이 오류가 발생합니다. 또한 사용자가 어떤 위치에서 어떤 파일에서나 인쇄 할 수 있도록 디렉토리를 저장하려는 경우 파일이 서식있는 텍스트 상자에서 열려있는 것이 가장 좋습니다. 왜냐하면 사람이 실제로 열려 있지 않은 문서를 실제로 인쇄하기 때문입니다. 필자는 디렉토리를 변경하지 않고 myFile만을 참조하도록 변경했습니다. 도와 주셔서 감사합니다. –

+0

시도 { 콘텐츠 = File.ReadAllText (myFileName); PrintDocument pd = 새 PrintDocument(); pd.PrintPage + = 새 PrintPageEventHandler (pd_PrintPage); pd.Print(); } –

관련 문제