Re: WinXP и матричен принтер
В случай че приложението го пишеш ти, може да направиш следното - създаваш текстов файл едно към едно както искаш да изглежда разпечатката и после с един bat файл в който е командата FILE.TXT >PRN (FILE е името на файла) принтираш директно на принтера.
Re: WinXP и матричен принтер
Този вариянт го обмислях, но в моя случай не ми върши работа, защото това е уеб базирано приложение, което е инсталирано на отдалечен комп. и на самите работни станции единственото изискване е да имат некъв броузър и да са вързани в инет.
Все пак на тези работни станции на който има матричен принтер като този, ще има и изискване на бъдат под уиндоус, защото не бих се захванал да търся вариянт за печат на такъв принтер под линукс...
Re: WinXP и матричен принтер
Цитат:
Първоначално публикувано от spritable
Прочетох из някои други постове, че имало възможност да избереш драйвер Generic - Text Only и до колкото разбрах ще печата така както искам. Просто в момента принтера не е при мен и не мога да го тествам. Та питам дали с този драйвер ще постигна целта си?
Мисля, че ще стане, обаче ако има кирилица, ще има проблем.
Re: WinXP и матричен принтер
По втория въпрос: ако някое приложение може да печата в текстов режим, със сигурност ще може да променя и шрифта - добавят се контролни символи, които да променят режима на печат. Те са два вида, наследени съответно от IBM и Epson, но повечето принтери поддържат и двата (Epson го наричат емулация на IBM ProPrinter), като превключването обикновено е хардуерно, т.е. от самия принтер. Въпросните кодове като правило са описани в документацията на принтера, за LX-300+ при бегло търсене намерих това. Ако не намериш контролните кодове от друго място, има някакви например тук.
Re: WinXP и матричен принтер
Цитат:
Първоначално публикувано от Usera
Мисля, че ще стане, обаче ако има кирилица, ще има проблем.
Принтера е хардуерно кирилизиран или това няма значение?
Малеее, този клиент ме върна 10 години назад, когато писах приложения за попълване на фактури, бланки и т.н. на матрични принтери... Мислех си, че никой не ги ползва вече... баси... Какво да се прави, клиента каквото каже - това става...
Re: WinXP и матричен принтер
Ей това текстово файлче съм го ползвал много пъти за включване на принтер в [size=10px]Condense mode[/size], включително и лазерни принтери, които могат да печатят в текстов режим (демек не са само WinPrinter). По спомен, съдържа един единствен символ 015(DEC). А може и да бяха два 015(DEC) и 013(DEC). Или три 027(DEC), 015(DEC) и 013(DEC)
Може да се праща към принтера по много начини. Например:
..>copy cond.txt prn
..>copy cond.txt lpt1
и т.н.
Доколкото разбирам, в твоя случай, най-добре е да се вземе съдържанието на файла и да се вмъкне в кода или в това което се генерира и праща към принтера.
Re: WinXP и матричен принтер
Цитат:
Първоначално публикувано от MitkoS
Ей
това текстово файлче съм го ползвал много пъти за включване на принтер в [size=10px]
Condense mode[/size], включително и лазерни принтери, които могат да печатят в текстов режим (демек не са само WinPrinter). По спомен, съдържа един единствен символ 015(DEC). А може и да бяха два 015(DEC) и 013(DEC). Или три 027(DEC), 015(DEC) и 013(DEC)
Може да се праща към принтера по много начини. Например:
..>copy cond.txt prn
..>copy cond.txt lpt1
и т.н.
Доколкото разбирам, в твоя случай, най-добре е да се вземе съдържанието на файла и да се вмъкне в кода или в това което се генерира и праща към принтера.
Мерси MitkoS, ако и двамата говорим за едно и също нещо да се надявам че ще стане. Нямам проблем да го вмъкна в кода, защото аз го пиша приложението...
Re: WinXP и матричен принтер
Цитат:
Първоначално публикувано от Usera
Мисля, че ще стане, обаче ако има кирилица, ще има проблем.
Приятелю, излезе прав. Снощи правих опити с принтера. С този драйвер който говорихме се получава това което искам, под уиндоус печата все едно си под ДОС. НО кирилицата ми излиза като точки ".".
Значи принтера е кирилизиран под ДОС, как мога да го накарам да печата кирилица под уиндоус? Просто да печата в графичен режим не е вариянт защото е 2 пъти по-бавно от досовския печат... Някой, някакви идеи????
Re: WinXP и матричен принтер
Първо си я тествай - разпечатай си всички символи от 32 до 255 и виж дали имаш кирилица и къде е (може да е по руския КОИ-8 например). След това само трябва да си прекодираш символите при печат - обикновено е едно отместване с 64.
Re: WinXP и матричен принтер
Цитат:
Първоначално публикувано от Avis
Първо си я тествай - разпечатай си всички символи от 32 до 255 и виж дали имаш кирилица и къде е (може да е по руския КОИ-8 например). След това само трябва да си прекодираш символите при печат - обикновено е едно отместване с 64.
Разпечатването на всички символи ясно, но какво имаш в предвид да се прекодират символите при печат?
Значи в крайна сметка приложението което правя се стремя да бъде максимално унифицирано, т.е. да може да се ползва с матричен, лазерен, мастиленоструен принтери... но май ще добавя и модул всеки потребител да има настройка и какъв принтер ще ползва, защото ако ползва матричен и му сложа в соурса специалните символи за condenzed или някакъв друг, незнам как ще ги възприемат лазерните и мастилните...
Re: WinXP и матричен принтер
Цитат:
Първоначално публикувано от spritable
Разпечатването на всички символи ясно, но какво имаш в предвид да се прекодират символите при печат?
Значи в крайна сметка приложението което правя се стремя да бъде максимално унифицирано, т.е. да може да се ползва с матричен, лазерен, мастиленоструен принтери... но май ще добавя и модул всеки потребител да има настройка и какъв принтер ще ползва, защото ако ползва матричен и му сложа в соурса специалните символи за condenzed или някакъв друг, незнам как ще ги възприемат лазерните и мастилните...
Имам предвид, ако ASCII-кодът на символа е между 192 и 255, към принтера да се подава символ с код от 128 до 191 например.
Не знам как точно разпечатваш текст, но не вярвам да може да стане толкова унифицирано - най-малкото потребителят ще трябва да избира между текстов и графичен режим на отпечатване. По-вероятният проблем с разпечатване в текстов режим на лазерен или мастилено-струен принтер отново е кирилицата - не че е невъзможно за всеки принтер, но почти за всеки модел решението е индивидуално, а за някои е напълно неизпълнимо, ако не са кирилизирани хардуерно.
Re: WinXP и матричен принтер
Цитат:
Първоначално публикувано от Avis
Имам предвид, ако ASCII-кодът на символа е между 192 и 255, към принтера да се подава символ с код от 128 до 191 например.
Не знам как точно разпечатваш текст, но не вярвам да може да стане толкова унифицирано - най-малкото потребителят ще трябва да избира между текстов и графичен режим на отпечатване. По-вероятният проблем с разпечатване в текстов режим на лазерен или мастилено-струен принтер отново е кирилицата - не че е невъзможно за всеки принтер, но почти за всеки модел решението е индивидуално, а за някои е напълно неизпълнимо, ако не са кирилизирани хардуерно.
При всички положения ако потребителя има лазерен или струен ще си печата в графичен режим. В този случай клиента има 4 работни станции с 4 епсона ЛХ 300+, на които трябва да се вадят разпечатките. Просто му показах скоростта с която печатат графичен режим епсоните и не го задоволява.
Значи в моя случай приложението генерира една уеб страница на бял фон с черни букви. Това което е генерирано трябва да го разпечатам на епсоните в текстов режим. Дай някаква идея за начина по който да тествам в какъв формат пращам символите към принтер-а? Просто нещо ми е много голяма мъгла това.
Мерси за support-a братле...
Re: WinXP и матричен принтер
Цитат:
Първоначално публикувано от spritable
..........
Значи в моя случай приложението генерира една уеб страница на бял фон с черни букви. Това което е генерирано трябва да го разпечатам на епсоните в текстов режим. Дай някаква идея за начина по който да тествам в какъв формат пращам символите към принтер-а? Просто нещо ми е много голяма мъгла това.
Ще трябва по същия начин по който генерираш страницата, да направиш и изпращане на данните към принтера(в Delphi се отваря като файл и се пише в него). Ако принтера е кирилизиран хардуерно, то няма да имаш проблеми с кирилицата, но ще трябва да прекодираш кирилските символи както ти казаха вече. :)
Re: WinXP и матричен принтер
Добре, значи проблема и решенията които знам аз са следните:
1. За всички Windows 95/98/Me Generic Text принтера е прекрасно решение, има настройки за bold, condensed, подчертани и т.н, включително команди при започване и свършване на задачи - може да направиш принтера да пей. Отделно на друг таб има свободно прекодиране на Windows към принтерските ASCII кодове, така че можеш да си въведеш еднократно кирилицата като ANSI 1251 - МИК съответсвие и да си я пренасяш заедно с другите настройки, копирайки само TTY.DAT файла от един Windows на друг.
2. Незнайно защо за Windows NT и наследниците му Microsoft решиха, че хората на матричен принтер не печатат символи над ASCII 128 и драйвера просто изрязва останалите символи - затова ти дава ..... И както се досещате, този драйвер не е пипнат от NT 4.0 насам. Естественно, ако човек има DDK-то (DDK - Windows Driver Development Kit) на съответния Windows, може да си пренапише драйвера, но така и не се наканих да го направя а и не съм го виждал като част от последните MSDN-ни.
3. Затова хората избраха по-лесния вариант - пишеш всичко в temp файл, прекодирвайки го, и после го копираш към съответния порт. Естественно нямаш леснотата, с който Generic Text драйвера превръщаше от GDI към текст с контролни символи, но ако не искаш да правиш ASCII изкуство на принтера си е достатъчно да боднеш тук там по една <ESC> последователност.
4. Сега за WEB-a - това не е проблем при следния случай - можеш да напишеш подписан ActiveX контрол на някой от езиците, да направиш съответния Explorer да ти познава сигнатурата и от срипта на страницата да му подаваш текст който да печата - аз съм попълвал бланки на времето така с WEB приложение, VBScript или JavaScript по избор. Контрола си се изтегля от сайта при първото зареждане и си стои в кеша на браузера.