C # Как я могу создать и напечатать документ? - PullRequest
1 голос
/ 17 июня 2011

У меня есть расписание в памяти, и я должен быть в состоянии распечатать его.

Расписание, вероятно, будет состоять из нескольких страниц, каждая страница будет выглядеть очень похоже: сетка ячеек по горизонтальной осивремя, а вдоль вертикальной оси есть объекты.Ячейка x, y будет содержать распределение конкретной работы для объекта x во временном интервале y.

Я смотрю на класс System.Drawing.Printing.PrintDocument, но это невероятно громоздко.Мне нужно установить обработчик события на PrintDocument.PrintPage, но, похоже, нет никакого способа получить номер страницы из PrintPageEventArgs?

Я просто хочу создать свой документ и вызвать несколько Print () функция.Я полагаю, если бы я мог получить номер страницы в обработчике событий, я мог бы создать макет страницы на лету с помощью e.Graphics и GDI.

Я потенциально мог бы даже собрать страницу HTML, используя таблицы, и распечатать ее.- если бы я мог как-то контролировать, что печатает на какой странице?

Есть ли лучший способ создавать и печатать документы в C #?

На целевых машинах установлен Office, но все ониразличных версий, и у меня было много проблем с получением правильных версий библиотеки взаимодействия .Net / Office для работы с ними.

Редактировать: я мог бы даже создать временный файл LaTeX на лету и скомпилировать его,затем распечатайте его.Это кажется хорошим решением, за исключением того, что целевые машины заблокированы, и пользователи не могут устанавливать новое программное обеспечение, поэтому мне нужно будет связать компилятор LaTeX с моей программой, и мой компилятор занимает почти 300 МБ.

Ответы [ 3 ]

1 голос
/ 17 июня 2011

Если вы можете сохранить его в файл, вы можете использовать его здесь,

Печать изображений c # .net

1 голос
/ 17 июня 2011

Похоже, ты слишком рано сдаёшься.Обработка события PrintPage не так сложна, и, поскольку событие вызывается последовательно, все, что вам нужно сделать, это сохранить счетчик страниц в этом событии.Вот как я делал это в прошлом с изображениями MetaFile ( печать отчетов служб Reporting Services через вызов веб-службы).

1 голос
/ 17 июня 2011

Я создаю аналогичный инструмент с помощью Microsoft Chart Controls, простой в использовании.

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&displaylang=en

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