У меня есть расписание в памяти, и я должен быть в состоянии распечатать его.
Расписание, вероятно, будет состоять из нескольких страниц, каждая страница будет выглядеть очень похоже: сетка ячеек по горизонтальной осивремя, а вдоль вертикальной оси есть объекты.Ячейка x, y будет содержать распределение конкретной работы для объекта x во временном интервале y.
Я смотрю на класс System.Drawing.Printing.PrintDocument
, но это невероятно громоздко.Мне нужно установить обработчик события на PrintDocument.PrintPage
, но, похоже, нет никакого способа получить номер страницы из PrintPageEventArgs?
Я просто хочу создать свой документ и вызвать несколько Print () функция.Я полагаю, если бы я мог получить номер страницы в обработчике событий, я мог бы создать макет страницы на лету с помощью e.Graphics и GDI.
Я потенциально мог бы даже собрать страницу HTML, используя таблицы, и распечатать ее.- если бы я мог как-то контролировать, что печатает на какой странице?
Есть ли лучший способ создавать и печатать документы в C #?
На целевых машинах установлен Office, но все ониразличных версий, и у меня было много проблем с получением правильных версий библиотеки взаимодействия .Net / Office для работы с ними.
Редактировать: я мог бы даже создать временный файл LaTeX на лету и скомпилировать его,затем распечатайте его.Это кажется хорошим решением, за исключением того, что целевые машины заблокированы, и пользователи не могут устанавливать новое программное обеспечение, поэтому мне нужно будет связать компилятор LaTeX с моей программой, и мой компилятор занимает почти 300 МБ.