Cum se imprimă fișierele xps programat

Format Print fișier XPS (XML Paper Specification), puteți utiliza metoda AddJob supraîncărcare fără deschiderea PrintDialog sau, în principiu, toate interfața cu utilizatorul.







De asemenea, puteți imprima fișiere XPS (XML Paper Specification) utilizând metodele Write și Synthesync ale obiectului XpsDocumentWriter. Pentru informații suplimentare despre acest lucru, consultați Imprimarea unui document XPS.

Un alt mod de a imprima Formatul XPS (XML Paper Specification) este de a utiliza metodele PrintDocument sau PrintVisual ale controlului PrintDialog. Consultați ghidul de utilizare. Deschide caseta de dialog pentru imprimare.

Următoarele sunt etapele de bază ale utilizării metodei AddJob (String, String, Boolean) cu trei parametri. Următorul exemplu conține informații detaliate.

Determinați dacă imprimanta este o imprimantă XPSDrv. (Pentru mai multe informații despre driverul XPSDrv, consultați Înțelegerea tipăririi.)

Dacă imprimanta nu este o imprimantă XPSDrv, setați subdiviziunea firului la filet unic.

Creați o instanță a serverului de tipărire și a obiectului de imprimare a bobinei.

Apelați metoda specificând numele jobului, fișierul de imprimat și stegulețul boolean. Indică dacă imprimanta este o imprimantă XPSDrv.

Exemplul de mai jos arată modul de efectuare a tipăririi batch a tuturor fișierelor de directoare XPS. Deși aplicația solicită utilizatorului să specifice un director, metoda cu trei parametri AddJob (String, String, Boolean) nu necesită o interfață de utilizator. Acesta poate fi folosit în orice cale de cod în care există un nume de fișier XPS și o cale care poate fi utilizată pentru trimiterea acestuia.







Metoda de suprasarcină AddJob (String, String, Boolean) cu trei parametri pentru AddJob fi realizată într-o singură unitate filetată, atunci când parametrul boolean ia valoarea false. pe care ar trebui să o folosească atunci când utilizați o imprimantă non-XPSDrv. Cu toate acestea, în mod implicit, divizia Microsoft .NET este multietajată. Această valoare implicită ar trebui să fie suprascrisă, deoarece exemplarul presupune că imprimanta nu utilizează XPSDrv.

Există două moduri de a modifica valoarea implicită. Una dintre ele este o adăugare simplă STAThreadAttribute (adică "[System.STAThreadAttribute ()]") imediat deasupra primului rând metoda de aplicare principală (de obicei, «static void Main (string [] args)»). Cu toate acestea, multe aplicații necesită ca metoda principală a avut unitate condiție MultiStream, astfel încât există o a doua metodă: o cameră de invocare a metodei AddJob (String, String, boolean) un set de stat flux separat ale cărui unități de STA. cu metoda SetApartmentState. În exemplul de mai jos, se folosește a doua metodă.

În consecință, exemplul începe cu crearea unei instanțe a obiectului Thread și trecerea acestuia la metoda PrintXPS ca parametru ThreadStart. (Metoda PrintXPS este definită mai târziu în acest exemplu). Fluxul este apoi instalat într-o unitate cu un singur filet. Noul fir pornește numai codul rămas al metodei principale.

Esența exemplului este conținută în metoda statică BatchXPSPrinter.PrintXPS. După crearea serverului de imprimare și a coadajului, metoda îi solicită utilizatorului să selecteze directorul care conține fișierele XPS. După verificarea existenței directorului și a prezenței fișierelor xps în acesta, metoda adaugă fiecare astfel de fișier în coada de imprimare. Se presupune că imprimanta nu este Xpsdrv imprimanta, așa că trece fals ca ultimul parametru AddJob Metoda (String, String, boolean). Din acest motiv, metoda va verifica marcajul XPS din fișier înainte de a încerca să îl convertiți în limba de descriere a imprimantei. Dacă testul eșuează, se aruncă o excepție. Codul de probă va primi o excepție, va notifica utilizatorul despre acesta și va continua procesarea următorului fișier XPS.







Articole similare

Trimiteți-le prietenilor: