Хорошие способы печати данных из C #? - PullRequest
3 голосов
/ 25 декабря 2011

Мне нужно распечатать документы как вывод из программы, которую я пишу на C #.Чистого текста недостаточно - мне нужны таблицы, выбор шрифта и т. Д.

Это звучит как нечто, что должно быть чрезвычайно легко выполнить, однако я не уверен, как это сделать.

Вот варианты, которые я рассматриваю:

  • Документы DocX легко генерируются, однако я не уверен, как их распечатать.
  • Crystal Reports, который, очевидно, был удалениз .NET, но все еще может быть загружен, кажется, имеет функциональность.Есть опыт с этим?
  • Я мог бы сгенерировать изображение или форму и распечатать их.Тем не менее, текст будет выглядеть плохо при печати.Я хочу четкие буквы.
  • Я мог бы использовать XPS, но я думаю, что это не будет работать на всех принтерах?Программа не может быть требовательной к принтеру.
  • Я мог бы вручную создать любой формат, который понимает принтер, и каким-то образом отправить его вручную.Вероятно, это было бы много работы, и я не уверен, с чего начать.

Неужели нет более простого решения?А если нет, то какой вариант лучше?

Ответы [ 2 ]

3 голосов
/ 25 декабря 2011

Не требуется много работы, чтобы отправить его на принтер вручную. Вы просто используете PrintDocument класс и обрабатываете его события, чтобы рисовать. Вам нужно знать GDI +, но это лучший и самый эффективный способ. Например, вы можете нарисовать результаты RichTextBox.

2 голосов
/ 25 декабря 2011

Мне действительно нравится ITextSharp как способ создания пользовательских отчетов в виде документов PDF. Библиотека несколько сложна, и вам нужно собрать все с нуля (не так, как отчеты Crystal), но, поверьте, оно того стоит.

У вас есть дополнительное преимущество, которое вы можете сохранить, отправить по электронной почте или загрузить отчет в формате PDF, что улучшит функциональность вашего сайта.

Я многого достиг, следуя этому уроку: http://www.mikesdotnetting.com/Article/80/Create-PDFs-in-ASP.NET-getting-started-with-iTextSharp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...