我在内存中有一个时间表,需要能够打印出来。C#如何创建和打印文档?
时间表可能会是很多页面,每个页面看起来都会非常相似: 一个网格单元,横轴是时间,纵轴是实体。单元格x,y将包含特定作业在时间点y的实体x的分配。
我在看System.Drawing.Printing.PrintDocument
类,但它非常麻烦。我需要设置一个事件处理程序到PrintDocument.PrintPage
,但似乎没有任何方法从PrintPageEventArgs获取页码?
我只想构建我的文档并调用一些Print()函数。我想如果我可以在事件处理程序中获取页码,我可以用e.Graphics和GDI动态构建页面布局。
我甚至可以使用表格打印HTML页面并打印 - 如果我能以某种方式控制在什么页面上打印什么内容?
有没有更好的方式来构建和打印C#文件?
目标计算机确实安装了Office,但它们都是不同的版本,并且我在收集正确版本的.Net/Office互操作库以使用它们时遇到了很多问题。
编辑:我甚至可能会创建一个临时的LaTeX文件并进行编译,然后将其打印出来。这似乎是一个很好的解决方案,只是目标机器被锁定,用户无法安装新软件,因此我需要将LaTeX编译器与我的程序捆绑在一起,而我的编译器差不多是300MB。
其实我没有放弃,我一直在使用PrintDocument方法整天,因为我还没有找到一个可行的选择。 :)是的,我保持一个像你一样的页面计数器。 – Ozzah 2011-06-17 05:12:08
:)。是的,我也试着寻找替代品很长一段时间。 – 2011-06-17 06:41:42