2009-12-11 114 views
3

我在应用程序中使用Web浏览器控件来显示报表。该报告仅仅是HTML文本,但相当宽泛。当我使用.ShowPrintPreviewDialog()预览打印时,即使切换到横向模式,我也会看到报告在右侧被截断。c#webbrowser控件打印

当前我只调用.ShowPrintPreviewDialog()方法,然后调用.ShowPrintDialog()方法实际打印报告。

我的问题是......如何让报表在多个页面上打印?在横向模式下跨越X页面的报告我完全没问题,但我不确定设置了哪个标记或者如何设置控件以实际将报告分割为多个页面。

回答

2

为什么不让webbrowser控件为您处理打印。我已经成功完成了这一点,其中报告数据是在xml中,并将xslt转换应用于html,并使用webbrowser控件显示报告并让用户在打印报告时作出选择。这是webbrowser wrapper上的CodeProject的链接。有一种方法可以执行打印(其中包括由控件本身渲染的打印预览)。

希望这会有所帮助, 最好的问候, 汤姆。

+0

@ tommieb75:谢谢你的回复!实际上,我让浏览器为我处理打印,我认为这就是导致问题的原因。我不确定为什么,但不会在多个页面上打印整个报告。它只是在某个点停下来。我只是在控件中使用本机打印方法。 – 2009-12-11 13:57:17

+0

@Scott Vercuski:哦......现在我明白了,我不知道现在你会怎么做......但是看看这里...... http://www.codeproject.com/KB/printing/custom_paper_sizes。 aspx,除此之外,我很难过..我想象会有一个选项通过p/invoke强制打印布局在多个页面上。我还没有看到IE做这个...... :(对不起,如果我不能帮你进一步.. – t0mm13b 2009-12-11 14:27:00

+0

@ tommieb75:没关系!我欣赏努力!我会深入到打印链接,看看我的地方。再次。 – 2009-12-11 15:42:48