![](/img/trans.png)
[英]How to show multiple pages in Print Preview UI and print all pages in UWP app?
[英]Print Preview of multiple pages not working
我看過很多關於這個的文章。 我相信我一直在關注他們,但仍然有問題。
我正在C#中執行此操作,並且正在運行Windows 8.1。
我正在對XML文件的內容進行多頁打印。 我不僅在遍歷所有元素,還在對它們自己進行格式化。 有足夠的元素可以結束多頁的打印,但是我陷入了使第2頁的內容顯示在第2頁的困境。這就是我正在做的事情。
int pagePrinting;
private void butPrint_Click(object sender, EventArgs e)
{
pagePrinting = 1;
printDocument1.PrintPage += this.printDocument1_PrintPage;
printPreviewDialog1.PrintPreviewControl.Document = printDocument1;
printPreviewDialog1.Show();
((Form)printPreviewDialog1).WindowState = FormWindowState.Maximized;
}
private void printDocument1_PrintPage(System.Object sender, PrintPageEventArgs e)
{
Point pnt = new Point(0, 0);
switch (pagePrinting)
{
case 1:
e.Graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
e.Graphics.Clear(Color.White);
printDocument1.DefaultPageSettings.Landscape = false;
pnt.X = 300;
e.Graphics.DrawString("Page 1 Header", fntArialHeader, Brushes.Black, pnt);
// more printing on page 1 ...
pagePrinting++;
e.HasMorePages = true;
break;
case 2:
e.Graphics.DrawString("Page 2 Header", fntArialHeader, Brushes.Green, pnt);
// More printing on page 2 ...
e.HasMorePages = false;
break;
}
}
我相信在打印頁面1的末尾,我將設置e.HasMorePages = true,然后退出並返回到打印頁面2。當我在“打印預覽”中查看該頁面時,我在頁面1上獲得了兩個頁眉,這是唯一的頁面可用。 然后,當我點擊“打印預覽”對話框上的“打印”按鈕時,僅打印第二頁。
每次您單擊打印按鈕時,我都不會不斷添加PrintPage事件處理程序:
因此,注釋掉這一行,或將其移至表單的構造函數,以便僅將其連線一次:
printDocument1.PrintPage += this.printDocument1_PrintPage;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.