打印用户控件会在顶部和左侧切掉半英寸

本文关键字:半英寸 顶部 用户 控件 打印 | 更新日期: 2023-09-27 18:28:45

我有一个自定义控件正在尝试打印。我试过更改窗口上的边距以"缩进"控件,但它仍然会截断左侧和顶部。我还尝试了以下打印方法:

private void bttnPrint_Click(object sender, RoutedEventArgs e)
{
    UserControl hddc = HDDC;
    var printDlg = new PrintDialog
        {PrintTicket = {PageOrientation = PageOrientation.Landscape, PageBorderless = PageBorderless.Unknown}};
    //printDlg.PrintTicket.PageMediaSize.PageMediaSizeName = PageMediaSizeName.NorthAmerica11x17;
    if (printDlg.ShowDialog() == true)
    {
        printDlg.PrintVisual(hddc, "HDDC Report");
    }
    else
    {
        MessageBox.Show("Print Canceled");
    }
}

尽管如此,还是没有快乐。我有一种感觉,我错过了一个愚蠢的设置,但我似乎找不到它。为什么我的打印在顶部和左侧被剪掉了?

打印用户控件会在顶部和左侧切掉半英寸

public void Printing() {
   try {
     streamToPrint = new StreamReader (filePath);
     try {
       PrintDocument prd = new PrintDocument(); 
       prd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
       prd.PrinterSettings.PrinterName = printer;
       // Set the page orientation to landscape.
       prd.DefaultPageSettings.Landscape = true;
       prd.Print();
     } 
     finally {
       streamToPrint.Close() ;
     }
   } 
   catch(Exception ex) { 
     MessageBox.Show(ex.Message);
   }
 }

命名空间:System.Drawing.Printing

或者这个链接可以帮助你使用PdfSharp 在右侧截断页面以进行横向,并带有边距