Laden...

Drucken in WPF: Benutzerdefinierte Papiergröße mit PageMediaSize angeben

Erstellt von Amosius vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.196 Views
A
Amosius Themenstarter:in
31 Beiträge seit 2010
vor 12 Jahren
Drucken in WPF: Benutzerdefinierte Papiergröße mit PageMediaSize angeben

Hallo zusammen. Ich habe eine Druckmethode die auch entsprechend funktioniert.

            
System.Printing.PrintDocumentImageableArea ia = null;
System.Windows.Xps.XpsDocumentWriter w = System.Printing.PrintQueue.CreateXpsDocumentWriter(ref ia);

            if (w != null)
            {
                // set size on one page

                DiagramPaginator dp = (DiagramPaginator)myControl.DocumentPaginator;
                dp.PageSize = GetPageSize();

                // get print ticket

                LocalPrintServer printServer = new LocalPrintServer();
                PrintQueue printQueue = printServer.DefaultPrintQueue;
                PrintTicket ticket = printQueue.UserPrintTicket;
                
                // set ticket properties

                ticket.PageOrientation = PageOrientation.Landscape;
                

                Size pageSize = GetPageSize();
                pageSize.Width = pageSize.Width / 0.96;
                pageSize.Height = pageSize.Height / 0.96;

                // set page media size does have no effect -> bug

                ticket.PageMediaSize = new PageMediaSize(pageSize.Width, pageSize.Height);
                
                w.Write(dp, ticket);
            }

Wenn ich per PageMediaSize eine vordefiniertes Papierformat angebe, dann wird
mein Druck auch in dem Format erstellt. Bei der Konstrukturvariante der variablen Breite und Höhe erhalte ich meinen Ausdruck immer in A4 (Standard vom Drucker).

Weiss jemand woran das liegen könnte?