huM*_*pty 7 .net c# printing print-preview
这有点类似于问题是否有更好的方法从PrintDocument获取页数而不是这个?
但在我的情况下,我有一个带格式化html的Web浏览器控件.目前我有选项可以调用,ShowPrintPreviewDialog()这样用户就可以看到要打印的页数.
反正有没有得到打印的页面,没有启动PrintPreview?
我正在尝试创建一个OnTextChange自动调用和显示打印页数的方法?
我有使用PrintPage活动
private void PrintDocumentOnPrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawString(this.webBrowser1.DocumentText, this.webBrowser1.Font, Brushes.Black, 10, 25);
}
Run Code Online (Sandbox Code Playgroud)
Han*_*ant 10
在SO处,坏消息总是很慢.你需要抓住这个实用的想法.
虽然问题没有说明,但您现在应该已经知道您的PrintPage事件处理程序不起作用.它总是产生1的计数.那是因为你从未将e.HasMorePages属性设置为true,该属性导致生成多个页面.
要将该属性可靠地设置为true,您需要确切了解浏览器布局引擎如何呈现HTML.并弄清楚如何将其分解为不切割的页面,例如,一行文本或两个图像.并找出如何,这是在确切同样的方式,浏览器打印引擎做到这一点.许多程序员尝试过的壮举,没有人完成.浏览器的自动化对象模型没有所需的api.
唯一合理的方法是你已经知道的那个.你必须调用ShowPrintPreviewDialog().哪个在预览对话框中显示页面计数,在IE11中如下所示:

如果您考虑从对话框中窥探该数字:不,那也无法工作.该对话框不使用任何控件,它是一个单片窗口.
| 归档时间: |
|
| 查看次数: |
1375 次 |
| 最近记录: |