2010-07-06 2 views
5

Я пишу небольшое приложение, которое печатает некоторые наклейки на специальный принтер.Достижение качества печати MS Word в C#

Когда я использую MS Word для печати некоторого текста на этот принтер (и в файл XPS), результат выглядит превосходно. Когда я печатаю из кода C# с объектом Graphics, текст кажется чрезмерно пиксельным или сглаженным.

Я попытался следующие намеки, но ни один не произвел такой же результат, как MS Word:

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 изображения, которое вы создаете, чтобы приблизиться к принтеру или переключиться на богатый текст (XPS) или векторный формат.

+0

Право. Классы печати в WinForms просты в использовании, но используют масштабирование, которое делает его низким. –

+1

Для справки, объект «Graphics» является способом .net для представления контекста устройства, контекста визуализации или того, что $ PLATFORM решит назвать. Вы рисуете графику, и вам вряд ли стоит заботиться о том, представляет ли она клиентскую область окна, печатную страницу или любой другой визуальный носитель. – cHao

0

Windows GDI (на основе которой основана графика) является растровой технологией. Вы генерируете (возможно, с низким разрешением) растровые изображения.

Возможные варианты: создание экземпляра большего графического объекта и печать большего текста (== увеличение разрешения печати) или переход к WPF, который имеет векторную модель и позволяет генерировать XPS-файлы изначально.

0

Вам нужно будет печатать как минимум 300DPI, чтобы он выглядел хорошо. 600DPI было бы лучше. Вы, вероятно, печатаете что-то около 96DPI, просто направляясь прямо к принтеру.

Смежные вопросы