Hogyan nyomtatni XPS fájlok programozottan

Print File Format XPS (XML Paper Specification), akkor a módszer túlterhelése AddJob megnyitása nélkül PrintDialog vagy elvben valamennyi felhasználói felület.

Azt is ki lehet nyomtatni egy fájl formátum XPS (XML Paper Specification) módszerekkel írása és WriteAsync XpsDocumentWriter objektumot. További információ erről lásd. Kinyomtatása XPS-dokumentum.

Egy másik módja, hogy a nyomtatási formátum XPS (XML Paper Specification), hogy használja a PrintDocument módszer vagy PrintVisual PrintDialog ellenőrzés. Cm. Partíció gyakorlati útmutató. Hívja a nyomtatási párbeszédablak.

Az alábbiakban az alapvető lépéseket a használat módja AddJob (String, String, logikai érték) három paraméterrel. Az alábbi példa tartalmazza a részletes információkat.

Határozzuk meg, hogy a nyomtató olyan nyomtató Xpsdrv. (További információt a járművezető Xpsdrv cm.,: A nyomtatási).

Ha a nyomtató nem nyomtató Xpsdrv állítsa áramlási egység egyszálú.

Egy példányának létrehozása a nyomtatószerver és nyomtatási sor objektumot.

Hívja a módszer megadásával a feladat nevét, a fájl a nyomtatáshoz és logikai zászló. jelzi, hogy a nyomtató olyan nyomtató Xpsdrv.

Az alábbi példában bemutatjuk, hogyan kell kötegnyomtatása katalógusban XPS fájlokat. Bár az alkalmazás figyelmezteti a felhasználót, hogy adja meg a könyvtár, a módszer három paraméter AddJob (String, String, logikai érték) nem igényel felhasználói felület. Ezt fel lehet használni bármilyen módon a kódot, ahol az XPS fájl nevét és elérési útvonalát, amelyet fel lehet használni az átvitelhez.

Túlterhelés módszer AddJob (String, karakterlánc, logikai érték) a három paraméter AddJob végezni egy egyszálú egység, amikor a logikai paramétert értéket veszi hamis. meg kell tennie, ha a nyomtató nem Xpsdrv. Azonban alapértelmezés szerint a Microsoft .NET sotoyanii egység több szálon. Ez az alapértelmezett kívül kell helyezni, mert a példa azt feltételezi, hogy a nyomtató nem Xpsdrv.

Kétféle módon megváltoztatni az alapértelmezett értéket. Az egyik egy egyszerű összeadás STAThreadAttribute (azaz "[System.STAThreadAttribute ()]") közvetlenül fentebb az első sor Fő alkalmazási módszer (általában, «static void Main (string [] args)»). Azonban sok alkalmazás megköveteli, hogy az eljárás fő volt multistream állapot egység, tehát van egy másik módszer: a metódusmeghívást szoba AddJob (String, String, logikai érték) külön áramban állam halmaz, amelynek egységei STA. A módszer SetApartmentState. A példában az alábbiakban megadott, ezt a második eljárást alkalmazzuk.

Ennek megfelelően, a például kezdődik a szál objektum példány létrehozására és továbbítására, mint egy módszert PrintXPS ThreadStart paramétert. (PrintXPS meghatározott módszer később ebben a példában). Ezután, az áramlás beállítása egyszálú egység. Az új szál fut az egyetlen megmaradt módszer kód Main.

A lényege a példákban szereplő módszer statikus BatchXPSPrinter.PrintXPS. Miután létrehozta a nyomtatási sorban, és szerver módszer kéri a felhasználót, hogy válassza ki a könyvtárat tartalmazó fájlok XPS. Miután meggyőződött róla, hogy létezik egy könyvtár, és a jelenléte benne XPS módszerrel hozzáadja minden fájlt a fájlt a nyomtatási sorból. Azt feltételezik, hogy a nyomtató nem Xpsdrv nyomtató, ezért át hamis, mint az utolsó paraméter AddJob módszer (String, String, logikai érték). Emiatt az eljárás ellenőrzi az XPS jelölést a fájlban, mielőtt alakítani egy oldal leírása a nyomtató nyelvére. Ha a teszt sikertelen, kivételt dob. A minta kódot kap egy kivétel, akkor értesíti a felhasználót, és lépni a következő fájl XPS.

Kapcsolódó cikkek