2010-07-06 5 views
5

일부 프린터를 특수 프린터로 인쇄하는 작은 응용 프로그램을 작성 중입니다.C#에서 MS Word 인쇄 품질 달성

MS Word를 사용하여 해당 프린터 (및 XPS 파일)에 텍스트를 인쇄하면 결과가 훌륭하게 보입니다. Graphics 객체로 C# 코드에서 인쇄 할 때 텍스트가 픽셀 화되거나 지나치게 부드럽게 보입니다.

나는 다음과 같은 힌트를했지만, 아무도는 MS 워드와 같은 결과가 생성되지 :

System.Drawing.Drawing2D.SmoothingMode.AntiAlias 
System.Drawing.Text.TextRenderingHint.AntiAliasGridFit 
System.Drawing.Text.TextRenderingHint.AntiAlias 
System.Drawing.Text.TextRenderingHint.ClearTypeGridFit 
InterpolationMode.NearestNeighbor 
CompositingQuality.HighQuality 

그리고 어떤 다른 사람을.

어떤 힌트가 MS Word에서 적용되는지 조언 해줄 수 있습니까? 그렇다면 프로그래밍 방식으로 만들 수 있습니까?

답변

3

나는 Graphics 개체에 익숙하지 않지만 텍스트 또는 벡터 그래픽 대신 프린터에 비트 맵을 보내고있는 것으로 추측됩니다.

그렇다면 만들려는 이미지의 DPI/해상도를 프린터의 해상도/DPI에 맞추거나 XPS (Rich Text) 또는 벡터 기반 형식으로 전환하십시오.

+0

오른쪽. WinForms의 Print 클래스는 사용하기 쉽지만 저해상도로 만드는 스케일링을 사용합니다. –

+1

참고로,'Graphics' 객체는 장치 컨텍스트, 컨텍스트 렌더링 또는 $ PLATFORM이 그것을 호출하기로 결정한 것을 나타내는 .net의 방법입니다. 그래픽을 그리면 윈도우의 클라이언트 영역, 인쇄 된 페이지 또는 다른 시각적 매체를 나타내는 지에 대해 거의 신경을 쓰지 않아도됩니다. – cHao

0

Windows GDI (그래픽 기반)는 래스터 기술입니다. 당신은 (아마도 저해상도의) 비트 맵을 생성 중입니다.

큰 그래픽 개체를 인스턴스화하고 더 큰 텍스트 (= 인쇄 해상도 증가)를 인쇄하거나 벡터 모델이있는 WPF로 이동하고 XPS 파일을 기본적으로 생성 할 수 있습니다.

0

좋은 것으로 보이려면 적어도 300DPI를 인쇄해야합니다. 600DPI가 더 좋을 것입니다. 아마도 프린터에 바로 그려서 96DPI 주위에 뭔가를 인쇄하고있을 것입니다.