[ DarkMan @ 23.06.2006. 15:22 ] @
Pronasao sam clanak (na adresi http://support.microsoft.com/?kbid=322091 ) gde je opisana klasa RawPrinterHelper za slanje "sirovih" podataka stampacu (sto nam i treba za matricni stampac).
Medjutim ja ne koristim to vec sam napisao svoju klasu koja poziva import API-ja CreateFile kojem prosledjuem port stampaca (kod matricnog je to "LPT1:" ako je fizicki prisutan na racunaru).
Funkcionise i jedno i drugo medjutim problem je u prepoznavanju samog matricnog stampaca.

RawPrinterHelper klasa uvek uspe da posalje podatke svim stampacima dok ovo moje resenje moze donekle da pomogne u prepoznavanju stampaca. CreateFile je uspesno kada pokusam da otvorim port matricnog stampaca (epsona) a neuspesno je za epsonovog laserskog i "Microsoft Office Document Image Writer" (virtuelni stampac). Mislio sam da ce mi to resiti problem ali danas je za HP-ov laserski stampac ova procedura uspesno otvorila port i on je odstampao dokument u tekstualnom rezimu.

Jel ima neko neki kod (ili da me uputi na neko resenje) za prepoznavanje tipa stampaca?

Ima li neko inace nekih saveta oko matricne stampe, sta je dobro raditi sta ne bi trebalo.
Da li je mozda bolje da koristim onaj RawPrinterHelper nego ovo moje resenje sa CreateFile?
[ DarkMan @ 28.06.2006. 06:58 ] @
Napravio sam jednu klasu sa pomocnim metodama. U attachmentu sam stavio kod i izvrsnu verziju (kompajlirana je u .NET 2.0) pa bih bar zamolio one zainteresovane, i koji imaju vise vrsta stampaca na raspolaganju, da samo isporbaju program da vide da li detekcija matricnih stampaca radi. Program prikazuje instalirane stampace, neke njihove osobine kao i to da li je stampac matricni ili ne.

Hvala unapred.
[ misk0 @ 28.06.2006. 08:35 ] @
Ne znam koliko ti mogu pomoci sa ovim, ali mozda ipak posluzi. Naime, matricnom stampacu mozes slati u segmentima tj posaljes red, on odstampa, posaljes drugi, on odstampa. To kod lasera ne mozes da radis, vec mu moras napuniti buffer sa komplet stranom, (ja sam koristio PCL) i onda mu posaljes EndOfPage i tek nakon toga on krece u stampu. Takodje, pri laserskoj stampi ne moras slati komande redoslijedom redova na papiru buduci da ti PCL dozvoljava i apsolutno pozicioniranje i slicno. Sad, koliko vidim ti se bavis vishe matricnim nego laserskim ali hoces da se to moze stampati na oba?
[ DarkMan @ 29.06.2006. 08:19 ] @
Za sve izvestaje koje imam postoji graficka i tekstualna verzija. Problem mi je jedino prepoznavanje stampaca da li je matricni ili laserski. Ne zelim ni u kakvom slucaju da odstampam na laserskom u tekstualnom rezimu (ne izgleda lepo niti je ista brze) niti da mi matricni pocne stampati u grafickom rezimu (traje neuporedivo duze a rezultati i nisu sjajni, tu je bitna brzina stampe). Isprva sam mislio da laserski stampac nece hteti da stampa u tekstualnom rezimu ali eto ima i onih koji hoce.

Ono za slanje red po red na matricni se ne bi smelo uraditi nikako. Sta ako neko pocne stampu u isto vreme? Bice jedan red prvog izvestaja pa jedan red drugog, i tako naizmenicno. Uvek saljem ceo izvestaj na stampac.