C# A4打印

这些是引用的dll文件,都是系统自带的,在程序集中能够找到

C# A4打印

 Thread th = new Thread(X=> {
                LocalPrintServer lp = new LocalPrintServer();
                var qus = lp.GetPrintQueues();
                PrintQueue pq = qus.FirstOrDefault(o => o.FullName.Contains("PDF"));//设为pdf为为了测试打印效果,可以直接换上                  打印机的名字,连接打印,前提是你电脑有打印必需的驱动
                pq.UserPrintTicket.PageMediaSize = pq.GetPrintCapabilities().PageMediaSizeCapability
                                        .FirstOrDefault(x => x.PageMediaSizeName == PageMediaSizeName.ISOA4);
                pq.UserPrintTicket.PageBorderless = PageBorderless.Borderless;
                XpsDocumentWriter xps = PrintQueue.CreateXpsDocumentWriter(pq);
                FixedDocument fd = new FixedDocument();
                fd.DocumentPaginator.PageSize = new Size(21 * 37.63, 35 * 37.63);
                PageContent pc = new PageContent();
                ((IAddChild)pc).AddChild(new FixedPage());
                TextBlock tb1 = new TextBlock();
                tb1.Text = "3333333333333333333333";
                tb1.FontFamily = new FontFamily("宋体");
                tb1.FontSize = 20;
                pc.Child.Children.Add(tb1);
                fd.Pages.Add(pc);
                xps.Write(fd);              
            });
            th.SetApartmentState(ApartmentState.STA);
            th.IsBackground = true;
            th.Start();

附pdf图一张,代码这里留着,以备以后使用。

C# A4打印