【发布时间】:2011-06-17 01:21:34
【问题描述】:
我在内存中有一个时间表,需要能够打印出来。
时间表可能会有很多页,每个页面看起来都非常相似: 一个单元格网格,横轴是时间,纵轴是实体。单元格 x, y 将包含特定作业在时间段 y 对实体 x 的分配。
我正在查看 System.Drawing.Printing.PrintDocument 类,但它非常麻烦。我需要为PrintDocument.PrintPage 设置一个事件处理程序,但似乎没有任何方法可以从 PrintPageEventArgs 获取页码?
我只想构建我的文档并调用一些 Print() 函数。我想如果我可以在事件处理程序中获取页码,我可以使用 e.Graphics 和 GDI 即时构建页面布局。
我什至可以使用表格组合一个 HTML 页面并打印它——如果我能以某种方式控制在哪个页面上打印什么?
有没有更好的方法在 C# 中构造和打印文档?
目标机器确实安装了 Office,但它们都是不同的版本,我在获取正确版本的 .Net/Office 互操作库以与它们一起使用时遇到了很多麻烦。
编辑:我什至可以即时创建一个临时 LaTeX 文件并编译它,然后打印它。这似乎是一个很好的解决方案,除了目标机器被锁定并且用户无法安装新软件,因此我需要将 LaTeX 编译器与我的程序捆绑在一起,而我的编译器几乎是 300MB。
【问题讨论】: