Prog.Hu

Karakteres nyomtatás programból

Keresés
Hírlevél

Karakteres nyomtatás programból - Epson mátrix

2013-09-06T08:36+02:00
BraunX
BraunXProg.Hu
regisztrált tag
nyitotta: BraunX, idő: 2011.03.25. 11:35, moderátor: moderator
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben

Kategóriák:Hardver » Nyomtatók
Programozási nyelvek » C#

Sorrend:
Időzóna:
Oldalanként:
Oszd meg!
Sziasztok!
Egy EPSON LQ sorozatú nyomtatót használok a C#.NET alól. Már elég jól haladok a dologgal, de az inicializálási résznél nem tudom beállítani, hogy magyar ékezetes karaktertáblát használjon. Természetesen van EPSON Esc/p2 manualom és használom az escape vezérlést, de a magyar karakterek sehogy sem akarnak megjelenni. Jelenlegi (teszt) kódom így néz ki:

string s = "\x001B\x0040" // Printer RESET (Print Job Start)
         + "\x001B" + "(" + "U" + "\x0001\x0000\x003C" // SET Unit Default 360 Dpi

         + "\x001B" + "(" + "t" + "\x0003\x0000\x0000\x000f\x0007" // Assign ISO 8859-2 char. table to "0" register
         + "\x001B" + "t" + "\x0000" // Select active char. table (0)
         + "\x001B" + "k" + "\x0002" // Set typeface (Font)
         + "\x001B" + "R" + "\x000B"// Set international char.table
         + "\x001B" + "x" + "\x0001"// Set print quality (LQ-1, Draft-0)
         + "Árvíztűrő ka" + "\x001B\x0004" + "nyar" + "\x001B\x0005" + "fúró"  // Line 1
         + "\x000D\x000A" // CR + LF
         + "\x000C"  // Form Feed  (FF)
         + "Árvíztűrő ka" + "\u001B\u0045" + "nyar" + "\x001B\x0046" + "fúró 2"  // Line 2
         + "\x000D\x000A" // CR + LF
         + " \x000C" // Form Feed  (FF)
         + "\x001B\x0040"; // Printer RESET (Print Job finish)

Valami nem kerek amúgy sem, mert a karakterek bold-ra és vissza váltása sem látható a papíron.
Szerintetek mit nem csinálok jól?
de a magyar karakterek sehogy sem akarnak megjelenni

Tán mert nincsenek..
A manual - ESC R n : select international character set - része utal rá?
Egyébként melyik LQ mert sok van belőle (3xx - 2xxx)? előzmény
én utalásnak vettem, hogy a nyomtatóhoz letölthető manual csomag egyik dokumentuma felsorol 35 féle karaktertáblát részletesen, köztük a 852-es és a számomra legjobb ISO-8859-2 is.
Sajnos ezek mellett semmiféle számozás vagy azonosító nem szerepel, így csak vaktában találgatva próbálom egyik másikat betölteni a kódomban is szereplő "Assign char. table" utasítással ESC ( t Nl Nh d1 d2 d3 .
Mindemellett zavarbaejtő, hogy ugyanez a leírás az általad is említett ESC R n "Set Char. Set" utasításnál már csak 15 set-et említ, ezek között már egyik számomra érdekes sem szerepel.
A nyomtató egyébként egy LQ-680-as magyarországon vásárolt és viszonylag drága darab. Emlékeim szerint már 15 éve is megoldották - igaz szervízben, vagy külön cartridge segítségével- hogy a mátrix nyomtatók minden magyar ékezetes karaktert szépen nyomtassanak. Ezek alapján szerintem elvárható, hogy a ma hazai forgalomba kerülő ilyen nyomtatókban benne legyen ez. előzmény
Emlékeim szerint már 15 éve is megoldották - igaz szervízben

Valóban, egy barátom ezzel szépen keresett (bár nem lq hanem fx-es volt többnyire az alany).

Ezek alapján szerintem elvárható, hogy a ma hazai forgalomba kerülő ilyen nyomtatókban benne legyen ez.

Bocsi, de szvsz grafikus nyomtatásnál nincs ilyen gond, s ugye ma már ritkán használják a karakteres nyomtatást (eseted kivétel lehet).
Opsz.
Itt azt írják van magyar is..(Epson LQ-680 24 tűs mátrix nyomtató )

Karakterkészlet 14 nemzetközi (PC852 magyar is), 1 legal karakterkészlet,
karaktertáblák: 20 grafikus kódtábla
Italic, PC 437, PC850, PC437 görög, PC853, PC857, PC866, PC869, MAZOWIA, Code MJK, ISO 8859-7, ISO Latin 17, Bulgária, PC864, Estonia, PC774, ISO 8859-2, PC866LAT, PC855.
Vagyis, ha itthon vásároltátok a nyomtatót (amit a kereskedő magyar felhasználóknak rendelt), akkor kéne a PC852. előzmény
..szóval arra lenne szükségem, hogy milyen sorrendben és miket kell beállítani, hogy magyarul írjon?
Valaki azt is elmagyarázhatná nekem, hogy mi a különbség (itt), a karakter tábla és a karakter szet között?

Egyébként a belinkelt adatlapon számomra értelmezhetetlen ez "grafikus kódtábla". Ha karakteres nyomtatásról van szó, akkor hogyan kerül ide a grafika? Lehet, hogy ez csak elgépelés. előzmény
..szóval arra lenne szükségem, hogy milyen sorrendben és miket kell beállítani, hogy magyarul írjon?

Bocsi, de az adott link (az Opsz. után) magyar.
Hívd fel őket, remélhetőleg elmagyarázzák mi a teendőd.. előzmény
Felhívtam telefonon az EPSON ügyfélszolgálatot. Azt mondták, ha Escape szekvenciák, akkor forduljak a hivatalos szervizekhez. Felhívtam az egyiket. Meglepetésemre ott sem tudtak azonnal válaszolni kérdésemre, egy óra haladékot és visszahívást kértek.
Egy óra múlva közölték, hogy ugyan a nyomtató tényleg tud 35 féle karaktertábla szerint nyomtatni, de Escape szekvenciákkal ezekből csak 9-et lehet elérni, nagyjából azokat, amiket a 90-es évek elején az akkori fejlesztésekkel beletettek az ESC/P szabványba. Így tehát nincs más mód, mint a nyomtató gombjairól, menüből átállítani ezt. Aki csinált már ilyet az pontosan tudja, miért nem szeretném én ezt a programom felhasználóira bízni.. Minden ügyfélnél elvégezni, vagy elvégeztetni ezt a rendszergazdákkal.. elég macerás és időrabló dolog lesz.
Kicsit csalódott vagyok, de úgy tűnik ez van, ezt kell szeretni.
Köszönöm Riha a segítő hozzászólásokat. előzmény
Bocsi, de a grafikus nyomtatás nálad kizárva / szóba sem jöhet? előzmény
Mátrix nyomtatón nem egészséges grafikusan nyomtatni. Lehet, de borzasztó lassú ... nem arra vannak kitalálva. előzmény
Azért nem írtam korábban, mert én másképpen oldottam meg a problémát .... igaz .. még clipperből. Szóval én a nyomtatandót egy függvénnyel küldtem a nyomtatóra, aminek egyik paramétere a nyomtató típusa volt. Ha mátrixra ment a nyomtatás, akkor "on the fly" átkonvertáltam 437-es kódra. Nem túl szép, de felettébb hatásos, robosztus, felhasználófüggetlen megoldás volt. előzmény
Most vettem észre (kutakodás közben), hogy e nyomiról már 2009-ben is értekeztünk..(azonos hármasban)

Egyébként a 437-es ma már nem a legjobb választás:

A 437 kódolás az MS-DOS eredeti, amerikai igények szerint készült kódkészlete. Ez is tartalmaz néhány magyar ékezetes karaktert:

á É é í ó ú Ö ö Ü ü.

A 852-es jobb lenne, ha lenne.. előzmény
@Riha: igen, tényleg erről a nyomiról értekeztünk 2 éve itt. Akkor még elég volt, hogy ha grafikus módon, de helyesen jönnek ki a nyomatok. Jelenleg a nyomtatás gyorsításán dolgozom, ehhez szükséges a karakteres nyomtatás.

@Zeusz: érdekes és jó megoldás lehetett az "on thefly" kódlap konverzió. Azonban tőlem az Ügyfelek fullos megoldást várnak, azaz teljes magyar karakterkészletet.

Egyébként feltűnően kevés hasznos anyagot lehet találni a neten ebben a témakörben. Ha van is, akkor a legtöbbször ugyanazt az EPSON manual-t linkelik be, amit én is használok. A gyakorlati szakemberek vagy kivesztek, vagy eltökélten őrzik tudásukat egészen a sírig. Pedig sokan voltak/vannak. A 90-es években elég elterjedt volt ez a nyomtatási mód, később pedig a pénztárgépes szakma vitte tovább ezt a tudást. előzmény
Szia!
Boccs, ha hülyeséget írok. Próbáld ki, hogy a szöveget átírod úgy, hogy az ékezetes betűk helyett ASCII kódot küldesz ki. Lehet, hogy a progid végez valami konverziót.
Esetleg teszt képpen vezéreld valami más progival a nyomtatót, ha itt jól jönnek a karakterek akkor nem is a nyomtatóval van a gond.
Ha jól emlékszem annak idején (majdnem?) minden ékezetes karaktert elő tudtunk varázsolni az ilyen karakteres interfészű nyomtatókból. A program clipper volt xp-n (és most ne nevess :). előzmény
@Arti: köszi az újabb ötletet, de azt hiszem nincs jó megoldás a kérdésemre.
Ugyan nem írtam le egyértelműen, de közben a nyomtatóm kezelőgombjaival és sok papír elhasználásával sikerült a szükséges kódlapot beállítani a nyomtatón. Azóta szépen tudok magyarul írni vele. Azért nem igazi megoldás ez nekem, mert így a program felhasználóinál is mindenhol el kell ezt a nem túl egyszerű manuális beállítást végezni. Ezért kerestem a programból való beállítás lehetőségét. A szervíz információi szerint, Esc vezérlőkódokkal magyar karakterkészletet nem tudok beállítani. előzmény
Itt szvsz találhatsz valakit aki beégeti néked (ill. a felhasználóidnak) az adott eprom-okba a pc852-t. Ezt követően már nem lesz több gondod e témában.. előzmény
Nem tudom, hogy megoldódott-e a problémád?
A 852-es kódlap használatára képes EPSON LQ nyomtatókat a vezérlőbillentyűk segítségével a nyomtató meürendszerében be lehet állítani 852-es és egyéb karakterkészlet használatára.
Ha ezt megtetted, akkor a programból kiküldött ékezetes karakterek is nyomtatásra kerülnek.
Menürendszer elérése valamelyik gomb nyomva tartása és a nyomtató bekapcsolásával érhető el.
Ha a tesztoldal indul el, akkor próbálj másik gombot használni.
HP nyomtatók vezérelhetőek programból is, az EPSON karakterkészlete többnyire nem állítható vezérlőkarakterrel. előzmény
Nem tudom, hogy megoldódott-e a problémád?

Bocsi, de tán egy lukkal arrébb..
Nem én vetettem fel a "problémát", így az nem is az enyém. előzmény
A 852-es kódlap használatára képes EPSON LQ nyomtatókat a vezérlőbillentyűk segítségével a nyomtató meürendszerében be lehet állítani 852-es és egyéb karakterkészlet használatára.
Ha ezt megtetted, akkor a programból kiküldött ékezetes karakterek is nyomtatásra kerülnek.
Menürendszer elérése valamelyik gomb nyomva tartása és a nyomtató bekapcsolásával érhető el.
Ha a tesztoldal indul el, akkor próbálj másik gombot használni.
HP nyomtatók vezérelhetőek programból is, az EPSON karakterkészlete többnyire nem állítható vezérlőkarakterrel. előzmény
Ugyan nem írtam le egyértelműen, de közben a nyomtatóm kezelőgombjaival és sok papír elhasználásával sikerült a szükséges kódlapot beállítani a nyomtatón. Azóta szépen tudok magyarul írni vele.

A fentiből látszik, hogy megoldódott neki.
A gondja, ha jól értem, hogy a kódlap beállítása hardveres, amit vagy meg kell tanítani n+1 ügyfélnek, vagy neki ki kell mennie n+1 helyre és megcsinálni. Ezt szerette volna elkerülni.
De javítson ki, ha tévedek. előzmény
@babo_:
tökéletesen összefoglaltad a problémát. Látszik, hogy te vetted a fáradtságot és elolvastad az összes hsz.-t és értelmezted is, mielőtt hozzászóltál volna.

Azóta a program módosítása elkészült ugyan, de még mindig van olyan hely, ahol levélben és telefonon felváltva kérlelem a helyi rendszergazdát, hogy végezze el a szükséges beállítást a nyomtatón. A kiszállást ugyanis nem fizetik meg a cégek, (a legtöbb esetben) saját költségemen pedig nem járom körbe az ügyfeleket.

előzmény
Talán ha a magyar betűket programból adnád meg, akkor nem is kellene kódlapot állítani. (ESC & Define user-defined characters)
előzmény
Oszd meg másokkal is!