gpt4 book ai didi

c# - 如何打印屏幕上未显示的内容

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:51 24 4
gpt4 key购买 nike

我一直在努力打印文档,文档有页眉页脚和正文,正文(这是一个网格)对于每个不同的文档都有不同的大小。根据网格的行数,文档可能具有 2 种尺寸(A5、A4)之一

我一开始使用 ReportViewer 控件,但它有一些问题,主要是它打印 2 张纸,无论文档大小,经过 10 周的研究我放弃了,没有任何意义。

然后我尝试打印一个表格及其所有内容(这并不容易),问题再次出现,其中之一是不同的屏幕分辨率,更糟糕的是,如果正文有很多行,表格将不适合屏幕,那么它就不会被打印出来。

我的问题是:
word如何打印页面的所有内容?机制是什么?我只需要一个良好的开端,如何打印屏幕上未显示的内容?

最佳答案

我不确定这是不是你想要的但是,

您需要做的是创建一个与您要打印的控件大小相同的虚拟表单,然后将控件添加到虚拟表单并显示表单并在虚拟表单上打印控件。

这是我的做法:

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
//Create bitmap
Bitmap image = new Bitmap(dataGridView1.Width, dataGridView1.Height);
//Create form
Form f = new Form();
//add datagridview to the form
f.Controls.Add(dataGridView1);
//set the size of the form to the size of the datagridview
f.Size = dataGridView1.Size;
//draw the datagridview to the bitmap
dataGridView1.DrawToBitmap(image, new Rectangle(0, 0, dataGridView1.Width, dataGridView1.Height));
//dispose the form
f.Dispose();
//print
e.Graphics.DrawImage(image, 0, 0);
}

这将打印 dataGridView1,即使它没有出现在表单上也是如此。

关于c# - 如何打印屏幕上未显示的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16000537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com