2010-04-02 2 views

답변

3

프린터는 일련의 비트 맵으로 Win32에서 모델링됩니다. 이것은 PrintDocument으로 싸서 기본적으로 콜백을 설정하여 각 페이지를 개별적으로 그려서 하나씩 인쇄 스풀러로 보내고,이 스풀러는 데이터를 (보통 .ps 형식으로) 프린터로 보냅니다.

이것은 현대 프린터가 작동하는 방식으로 페이지가 아닌 텍스트를 그립니다. 예전의 학교 매트릭스 프린터 만이 문자를 한 줄짜리 문자로 그렸습니다. 그들은 "PRN :"특수 파일을 사용했습니다. 그러나 이것은 현대 환경에서 모든 의미를 잃어 버렸습니다.

좋은 소식은 그것의 PrintDocument 클래스로 작업하기 정말 쉬운 것입니다, 당신은 페이지의 아무 곳이나 텍스트를 인쇄 할뿐만 아니라, 무승부 그래픽 데 사용할 수있는 각 페이지에 대한 Graphics 개체를 가져옵니다.

모든 데이터를 캐싱 한 다음 모든 페이지에 DrawText을 호출하면 스트림 형 프린터를 시뮬레이션 할 수 있습니다. 윈도우 Forms 응용 프로그램에 대한 Windows Forms 응용 프로그램을 구축

1

, 당신은 인쇄 관련 서비스를 제공하는 Graphics Device. System.Drawing.Printing 네임 스페이스로 프린터 생각할 수 있습니다.

Windows Presentation Foundation (WPF) 응용 프로그램에서 인쇄하려면 System.Printing 네임 스페이스를 참조하십시오. 인쇄 서버, 인쇄 대기열 및 인쇄 작업의 관리를 자동화 할 수있는 클래스를 제공합니다.

0

닷넷 3.0 이후로 당신이의 PrintSystemJobInfo.JobStream

를 사용하여 스풀러, 예를 들어,에서의 PrintJob를 만들 수 있습니다 때 참조하시기 바랍니다

var job = LocalPrinter.GetDefaultQueue().AddJob(); 

당신은 인쇄를 위해 그 스트림 대기열이 폐쇄

job.JobStream 

에 쓸 수 있습니다. 흥미롭게도 해당 스트림을 사용하여 제어 코드 및 텍스트를 일반/텍스트 전용 프린터 (예 : LPT1 병렬 포트 임팩트 프린터)에 쓸 수 있습니다.

관련 문제