C# WebBrowser控件打印

3
我在应用程序中使用网页浏览器控件来展示一份报告。该报告只是简单的HTML文本,但是比较宽。当我使用.ShowPrintPreviewDialog()方法预览打印时,即使将其切换到横向模式,我也会发现报告在右侧被截断。
目前,我只调用.ShowPrintPreviewDialog()方法,然后调用.ShowPrintDialog()方法来实际打印报告。
我的问题是...如何让报告跨越多个页面打印?我完全可以接受在横向模式下将报告分成X页,但是我不确定要设置哪个标志或如何设置控件以实际将报告拆分为多个页面。
1个回答

2
为什么不让WebBrowser控件为您处理打印呢?我曾成功地将报告数据转换为XML,应用XSLT转换为HTML,并使用WebBrowser控件显示报告并让用户选择打印。这里有一个关于此的CodeProject链接:WebBrowser包装器。其中有一种方法可以进行打印(包括由控件本身呈现的打印预览)。希望这有所帮助,祝好!Tom.

@tommieb75:感谢您的回复!实际上,我让浏览器为我处理打印,我认为这就是问题所在。我不确定为什么,但它无法在多个页面上打印整个报告。我只是在控件内使用本机打印方法。 - user26901
@Scott Vercuski:哦...现在我明白了,我不确定你会怎么做...但是看看这里...http://www.codeproject.com/KB/printing/custom_paper_sizes.aspx,除此之外我束手无策...我想应该有一个通过p/invoke强制打印布局跨多个页面的选项。我没有看到IE这样做... :( 如果我不能再帮助你了,很抱歉。 - t0mm13b
@tommieb75:没关系!我很感激你的努力!我会深入研究打印链接并看看它将带我去哪里。再次感谢。 - user26901

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接