Ru-Board.club
← Вернуться в раздел «Программы»

» SPrint

Автор: Smolyakoff
Дата сообщения: 16.11.2005 10:14
У меня такая проблема: программа не сохраняет после выхода из нее и повторного входа параметр "время ожидания изменений" в результате, у меня вылезает сообщение, что невозможно открыть такой-то файл (который должен печататься). И Еще, мне кажется, она через раз реагирует на изменение этого параметра. Т.е., как только ДОСевая прога начала формировать файл для печати, Sprint сразу его пытается "схватить" несмотря на изменения параметра "время ожидания изменений" в большую сторону, и вылезает такое сообщение, что файл невозможно открыть. Посмотрите, пожалуйста, может можно это исправить.
Автор: o22
Дата сообщения: 18.11.2005 17:41
Sergey_Demchuk

Цитата:
У меня стои ДОС программа, в которой часто нужно не весь текс напечатать, а только часть его. Есть кнопка даже "Выделить блок". В проге ДосПРН при распечатке блока текста вылазит какая-то белиберда. Печатать приходится только всю страницу. А в этой программе ?

См. ниже объяснения Manul, в принципе добавить нечего.

Manul

Цитата:
Прога позволяет печатать на лазерных принтерах из программ, работающих в эмуляции ДОСа на Вин. системах, печать из которых предусмотрена на матричные принтера. Как, понятно объяснил, или хреновых из меня объясняльщик?

Нормально

Evilape

Цитата:
К сожалению не совсем понял принцип работы автоматической калибровки, но предполагаю, что она основана на размере бумаги в менеджере печати Windows. Там стоит A3, но программа не пытается печатаь на весь размер, а считает, что лист имеет размер 1500x1000. При ручной калибровке действительно получаются значения типа 1680xблаблабла. Их даже можно ввести, но программа автоматически сбрасывает их в 1500x1000.

Честно говоря я там экспериментировал (после последней версии) и сейчас с уверенностью не могу сказать как в версии от 25.10.2005 автокалибровка отрабатывала (все не могу побороть ошибки, иногда возникающие). Так, как сейчас по текстам я вижу, такого при автокалибровке быть не должно. Но я увеличил ограничения на поля для ручной калибровки (вдвое), так как это для форматов больше A4 действительно актуально. Попробуй.

Цитата:
Тоесть, если я правильно понимаю, есть смысл попробовать предыдужую версию?

Нет, "ручная калибровка" это и есть то, что было в более ранних версиях.

Manul

Цитата:
Это что-то проясняет

Ты объясняешь даже лучше меня, может будешь здесь "модератором", пока я не могу полноценно отвечать на вопросы ?
Smolyakoff

Цитата:
У меня такая проблема: программа не сохраняет после выхода из нее и повторного входа параметр "время ожидания изменений"

Похоже на то, исправил.

Цитата:
И Еще, мне кажется, она через раз реагирует на изменение этого параметра. Т.е., как только ДОСевая прога начала формировать файл для печати, Sprint сразу его пытается "схватить" несмотря на изменения параметра "время ожидания изменений" в большую сторону, и вылезает такое сообщение, что файл невозможно открыть. Посмотрите, пожалуйста, может можно это исправить.

Дело в том, что разные программы по-разному работают с этим файлом и поэтому с уверенностью, что все возможные варианты SPrint учел, я не могу. Но "время ожидания изменений" в принципе должно в любом случае решать все проблемы. При случае посмотрю.

Новую версию постараюсь выложить в течение часа. Я здесь отпишусь, даже если и страницу не успею обновить, а только ехе-шник поменяю.

Добавлено:
Обновил, пробуйте...
Автор: o22
Дата сообщения: 24.11.2005 16:32
Странно, почти неделя прошла - никто не отписался по поводу новой версии...
Все помогло или ничего не изменилось ?

PS К сожалению вносить большие изменения и реализовывать ваши пожелания могу только время от времени, но если что-то мелкое и по гарячим следам, то лучше отписываться сразу, может подправлю по ходу.
Что касается пожеланий, предлагаю их писать помимо обычного сообщения еще и прямо в шапку - чтобы на виду всегда были.
Автор: Smolyakoff
Дата сообщения: 25.11.2005 09:11
Да, теперь этот параметр стал сохраняться при перезапуске программы. Большое спасибо! Вы очень помогли. Ваша программа очень облегчила жизнь и мне и нашим бухгалтерам, которые печатают со своих компов из двух разных досёвых прог на один сетевой лазерник. Причем, в одной програме формат печати у них на А4, в другой - на А3. Единственное, мне пришлось им обьяснить, как выбирать формат бумаги в программе ))
Автор: Evilape
Дата сообщения: 25.11.2005 10:03
Сорри, большое количество отчетов не позволяет нормально протестировать программу. Сделаю в первых числах месяца.
Автор: o22
Дата сообщения: 30.11.2005 12:06
Изменения по-мелочам:

Версия от 30.11.2005
- Программа корректно отображает текст, содержащий символы табуляции.
- При выходе из программы дополнительно предупреждается о том, что будет прекращен мониторинг файлов (если он включен).
- В свете последних изменений немного переработано описание программы.

Все там-же (sprint.ho.com.ua или ww2.kiev.ua).
Автор: Sergey_Demchuk
Дата сообщения: 30.12.2005 09:07
В ДОС прн есть такая опция, как игнорирование строки при печати, если ее длинна превышает формат печати, другими словами, если у меня формат А4 книжный, а я печатаю например строку, которая не помещается в формате А4, то строчка не переносится на следующую строку, а просто те символы, что не влезли, игнорируются.
Можно подобную опцию ввести в данную программу?
Очень буду благодарен
Автор: o22
Дата сообщения: 30.12.2005 10:39
Sergey_Demchuk

Цитата:
В ДОС прн есть такая опция, как игнорирование строки при печати, если ее длинна превышает формат печати, другими словами, если у меня формат А4 книжный, а я печатаю например строку, которая не помещается в формате А4, то строчка не переносится на следующую строку, а просто те символы, что не влезли, игнорируются.

Дело в том, что в SPrint строка не может "не влезть", так как принцип работы программы (в отличие от DOSPRN) таков, что размер шрифта подбирается таким образом, чтобы самая длинная строка документа поместилась в печатный лист.
Если этого не происходит, то неправильно сделана калибровка принтера.
Она у вас автоматическая или ручная ? Если ручная, то откалибруйте правильно, но перед этим попробуйте автоматическую - в 90% случаев она работает правильно.
Оставшиеся 10% - это ошибки, о которых мне сообщают, но которые я не могу локализовать. Для таких случаев и оставлена ручная калибровка.

Если говорить о SPrint, то можно говорить о других вариантах обрезки.
Например слишком длинная строка и шрифт получается очень мелкий. В таком случае есть 2 решения - задать ограничение шрифта снизу, а лишнее обрезать. Или задать максимальную длину строки, после которой обрезать текст, если строка длинее. Цель - та же, подход разный.

Нужны-ли такие опции программе ? Вам решать. Если будет очень много желающих - включу в "план". Реализацию не обещаю.
В ближайшее время, если и буду что-то делать, то поддержку других кодировок. Не взирая на просьбы к форумчанам о нераспространении, мне пишут уже не только из постсоветского пространства, но и из дальнего зарубежья с просьбами о поддержке разных-всяких кодировок.

PS Пользуясь случаем хочу поздравить всех форумчан с Новым Годом.
Удачи Вам всем во всех начинаниях !
Автор: maxud
Дата сообщения: 30.12.2005 12:02
o22
>>Нужны-ли такие опции программе ?
Еще как нужны! Буквально на днях столкнулся с необходимостью такой опции. Самописная бухгалтерская программа почему-то ставила символ отрыва бумаги (по-моему так называется, не уверен) в 255 позицию строки, хотя самая длинная строка остального текста была не больше 40 символов. Естественно все печаталось самым мелким шрифтом.
Автор: o22
Дата сообщения: 30.12.2005 12:36
maxud
Это не совсем тот вариант. Если в твоем случае обрезать символ перевода на новую страницу (я так понял речь о нем), то и разбивки на страницы не будет.
Это не совсем правильно. Другое дело обработать его по-особому...
Автор: Sergey_Demchuk
Дата сообщения: 30.12.2005 15:17
o22

Цитата:
Нужны-ли такие опции программе ? Вам решать. Если будет очень много желающих - включу в "план". Реализацию не обещаю

Да это было бы здорово. Просто есть такая нужда, весь текст не нужен, скажем таблица в досе набрана на кучу столбцов, подгонять текст, так он будет совсем не тот, крошечный, чтобы все уместилось, а реально заполняются только первые несколько колонок. В ДОСпрн есть простенькая опция, обрезать остаток строки, которая не влазит на листок, или переносить на другую строчку.

Автор: maxud
Дата сообщения: 30.12.2005 15:32
o22
Та программа ставит символ отрыва даже для единственного листа, по окончании текста (нравится ей так). Но действительно было бы здорово такую ситуацию обрабатывать по особому. И еще эта программа имеет какие-то настройки для LPT принтера и посылает ему (и соотвественно в файл) некие ESC-последовательности. Было бы хорошо их также удалять перед печатью.
Автор: o22
Дата сообщения: 30.12.2005 15:43
Sergey_Demchuk

Цитата:
Да это было бы здорово. Просто есть такая нужда, весь текст не нужен, скажем таблица в досе набрана

Сделаем, тем более, что ничего сложного в этом нет

maxud

Цитата:
Но действительно было бы здорово такую ситуацию обрабатывать по особому.

Специфический случай, а мороки много (определить, что перед этим символом некое количество пробелов и убрать их). Врядли где-то кроме этой программы еще кто-то так вставляет переводы строк...
maxud

Цитата:
И еще эта программа имеет какие-то настройки для LPT принтера и посылает ему (и соотвественно в файл) некие ESC-последовательности. Было бы хорошо их также удалять перед печатью.

Ну здесь нужно смотреть что за последовательности. Некоторые программа обрабатывает, некие удаляет, а что у тебя остается ?
Автор: nsinel
Дата сообщения: 30.12.2005 16:20
o22

Цитата:
высокий шрифт (если встречается соответствующая последовательность или расчитанный размер шрифта слишком мал) - вообще-то предложение очень хорошее, но пока нереализуемое - в windows нет понятия "высота шрифта", только размер, который подразумевает изменение высоты и ширины одновременно (o22)


А как тогда понять информацию из файла Sprint.txt, в котором среди обрабатываемых ESC-последовательностей есть и #27+'W1', что и есть, по-моему, Double Height?
Хочется только, чтобы это стало опцией программы, т.е. не менять печатаемый файл.
Автор: o22
Дата сообщения: 30.12.2005 16:30
nsinel

Цитата:
А как тогда понять информацию из файла Sprint.txt, в котором среди обрабатываемых ESC-последовательностей есть и #27+'W1', что и есть, по-моему, Double Height?

Да, обрабатывет он его, но увеличивает при этом пропорционально и ширину.

Цитата:
Хочется только, чтобы это стало опцией программы, т.е. не менять печатаемый файл.

В смысле игнорировать вообще все Esc-последовательности ? А смысл ?
Автор: maxud
Дата сообщения: 31.12.2005 15:31
o22
>>В смысле игнорировать вообще все Esc-последовательности ? А смысл ?
Скорее надо сделать это опциональным. Или даже как выбор варианта: Удалять все;Обрабатывать известные(те что обрабатываются сейчас), остальные удалять;Обрабатывать известные, остальные оставить как есть.
>>Специфический случай, а мороки много (определить, что перед этим символом
>>некое количество пробелов и убрать их).
Ну не так уж и много Если перед символом отрывом страницы все символы непечатные - все их нафиг Вообщем подумать надо.
Автор: o22
Дата сообщения: 03.01.2006 10:18
maxud

Цитата:
Скорее надо сделать это опциональным. Или даже как выбор варианта: Удалять все;Обрабатывать известные(те что обрабатываются сейчас), остальные удалять;Обрабатывать известные, остальные оставить как есть.

Так дело в том, что их "всех" дохрена
А как обработать неизвестные ? На то они и неизвестные.
Как я могу обработать к примеру последовательность #27EL1 если я не знаю существует-ли таковая ? Это все равно что предложить известных преступников сажать в одни тюрьмы, а неизвестных - в другие
maxud

Цитата:
Если перед символом отрывом страницы все символы непечатные - все их нафиг Вообщем подумать надо.

А пробел - это печатный символ ? А если серьезно, то я не обрабатываю каждую последовательность "индивидуально". Есть список последовательностей. И прогон страницы (#12) - один из многих.

Я, конечно, утрирую. При желании можно понабивать все известные последовательности, можно описать их в отдельном файле с возможностью добавления пользователем, можно в конце концов придумать механизм их более-менее достоверного определения (типа эвристического анализа) и удаления... Конечно, все это можно сделать. Только не хочется это делать лишь-бы как. Лучше уж не удалить какую-то ненужную последовательность, чем удалить кусок нужного текста. А времени сделать это качественно, к сожалению, нет. Как появится, может подумаю... Пока - не обещаю.

Автор: maxud
Дата сообщения: 03.01.2006 14:19
o22
>>А как обработать неизвестные ? На то они и неизвестные.
Неизвестные обрабатывать вообще не надо. Для этого я и предложил три варианта. И в двух из них обрабатывать известныые. А неизвестные либо удалить вообще, либо оставить на усмотрение принтера. Или проблема в том, что трудно определить, а это вообще ESC-последовательность?
Автор: o22
Дата сообщения: 03.01.2006 15:08
maxud

Цитата:
Или проблема в том, что трудно определить, а это вообще ESC-последовательность?

Ну конечно. Как для того, чтобы определить в какую тюрьму сажать преступника нужно быть уверенным а преступник-ли это
Что такое Esc-последовательность ? Сочетание от 1 до 4 символов.
Единственно, что их характеризует однозначно, так это то, что первый, а возможно (но не факт) еще какие-то символы в них имеют код меньше 32.
Как правило, первый символ - с кодом 27 (отсюда и название - esc). А дальше может следовать еще несколько символов. Некоторые - частоиспользуемые последовательности - известны и хорошо задокументированы, некоторые редкоиспользующиеся или воспринимающиеся только определенными моделями принтеров. Причем определенный символ в последовательности может указывать на какое-то свойство этой последовательности и его нельзя описать однозначно. Это может быть, например, число, указывающее на величину межстрочного расстояния.
Опять-таки разговор идет об Esc-последовательностях для Epson-совместимых принтеров, а есть еще esc-последовательности для HP-принтеров... Там совсем другая кухня.
Автор: maxud
Дата сообщения: 03.01.2006 17:40
o22
Жаль что все оказалось так сложно. Тогда вернемся к первоначальному предложению: добавть опцию обрезания/переноса строки если ее длина превышает энное количество символов. Кстати в моем случае (255 символ - отрыв страницы) это (перенос) тоже поможет: ну фиг с ним что отпечатается несколько пустых строк.
Автор: BRAttack
Дата сообщения: 03.01.2006 22:29
У меня тоже вроде страница на печать, её печатает и следующий лист просто прогоняет Как я понял это большая проблема, но я уверен - ты сможешь её побороть. Кстати, спасибо, что ответил на мыло. У меня прога просто, которая выдаёт только эскейп последовыательность для принтеров хюлет пакард )))) (впадло раскладку переключать), ну и там особые символы вначале и в конце страницы. Самая жданная доработка - это решить проблему с протягиванием второго листа или объянить мне идиоту, что я не так делаю

Спасибо

Это конечно я пошутил на счёт идиота
Автор: o22
Дата сообщения: 04.01.2006 10:16
maxud

Цитата:
Жаль что все оказалось так сложно.

Ну, скажем так, это не так и сложно, но просто я изначально ориентировался когда начинал делать программу, что я и не буду обрабатывать абсолютно все Esc-последовательности. Это скорее приятный бонус - попытаться обратотать несколько известных esc-последовательностей дабы придать документу более приличный вид. Основное-же предназначение программы - поддержать работу старых ДОС-программ - подхватить, перекодировать и распечатать так, чтобы влезло.

maxud

Цитата:
Тогда вернемся к первоначальному предложению: добавть опцию обрезания/переноса строки если ее длина превышает энное количество символов. Кстати в моем случае (255 символ - отрыв страницы) это (перенос) тоже поможет: ну фиг с ним что отпечатается несколько пустых строк.

Это сделаю. Более того, даже попробую сделать более хитрО - если строка длиннее указанного предела, то сначала попытаться убрать впередистоящие пробелы (согласись, что лучше убрать малозначащую пустоту пусть даже в ущерб форматированию документа, чем возможно важную информацию), и лишь только потом если длина строки все равно больше какого-то предела, обрезать хвост. Для твоего случая и волки остануться сыты и овцы целы

BRAttack

Цитата:
У меня тоже вроде страница на печать, её печатает и следующий лист просто прогоняет Как я понял это большая проблема, но я уверен - ты сможешь её побороть

Я уже предпринимал усилия, чтобы убрать последний прогон листа, но все-равно иногда мне сообщают о том, что прогоняет лист. Нужно для начала смотреть сам файл. Хотя был случай, когда мне присылали файл и он на моем принтере печатался без прогона...

BRAttack

Цитата:
У меня прога просто, которая выдаёт только эскейп последовыательность для принтеров хюлет пакард )))) (впадло раскладку переключать), ну и там особые символы вначале и в конце страницы.

Тут тоже есть задумка - сделать что-то типа блок-листа, где каждый сможет перечислить словосочетания, которые следует удалить из исходного документа. Это могут быть как экзотические esc-последовательности так и любой другой "мусор" вплоть до надписей типа "этот документ отпечатан с помощью демо-версии программы бла-бла-бла"
Я думаю такой вариант многих устроит.
Автор: BRAttack
Дата сообщения: 05.01.2006 00:01
Да это я писал тебе и на мыло и в форуме. Завтра принесу домой файл и пришлу,а то на работе нет инеа. Наверно понятно, в какой конторе я работаю У нас считаются компьютеры Пент 166 это быстрый компьютер. И это ещё частное предприятие. Короче я в шоке

Всё завтра будет файл
Автор: nsinel
Дата сообщения: 05.01.2006 13:48
o22

Цитата:
Ну, скажем так, это не так и сложно, но просто я изначально ориентировался когда начинал делать программу, что я и не буду обрабатывать абсолютно все Esc-последовательности. Это скорее приятный бонус - попытаться обратотать несколько известных esc-последовательностей дабы придать документу более приличный вид. Основное-же предназначение программы - поддержать работу старых ДОС-программ - подхватить, перекодировать и распечатать так, чтобы влезло.


1. Было бы полезно (как мне кажется) включить в комплект поставки файл, содержащий обрабатываемые ESC-последовательности в готовом к употреблению виде, т.е. бери и копируй проверенную последовательность в свой файл.

2. Для кого не трудно, уточните, пожалуйста, в частности шестнадцатиричное значение последовательности #27+'W1' (Double Height). У меня эта последовательность почему-то не обрабатывется. Кстати, указание [#27]w1 в строке инициализации принтера в DOSPRN 1.78 дает то самое давно ожидаемое от Sprint удвоение высоты без изменения ширины.
Автор: o22
Дата сообщения: 05.01.2006 18:23
nsinel

Цитата:
Было бы полезно (как мне кажется) включить в комплект поставки файл, содержащий обрабатываемые ESC-последовательности в готовом к употреблению виде, т.е. бери и копируй проверенную последовательность в свой файл

Не совсем понял для чего это ?
nsinel

Цитата:
Для кого не трудно, уточните, пожалуйста, в частности шестнадцатиричное значение последовательности #27+'W1' (Double Height). У меня эта последовательность почему-то не обрабатывется. Кстати, указание [#27]w1 в строке инициализации принтера в DOSPRN 1.78 дает то самое давно ожидаемое от Sprint удвоение высоты без изменения ширины

Боюсь ошибиться, но DOSPRN (его я смотрем еще года 2 назад до того как написал эту программу, поэтому могу ошибиться) действует по принципу перекодировки файла и замены Epson-овских последовательностей на HP-овские. И при этом ему наплевать влезет-ли такой файл в конце концов в лист бумаги. Предпросмотра при этом там нет, сделать его скорее всего, очень сложно, может даже невозможно, так как что выйдет на выходе знает один принтер.
Основное-же предназначение SPrint-а что-бы все обязательно влезло, поэтому размер шрифта используется исходя из размера текста в первую очередь, а не исходя из esc-последовательностей в нем. При этом все это мы видим визуально посредством представления текста в RichEdit (RTF) формате.
Да, в HP-последовательностях есть таковая, которая делает двойную высоту текста, но в RichEdit и во всех стандартных компонентах такого понятия нет. Кстати, что-то подобное есть в Ворде и если-бы мне попался компонент, который поддерживает двойную высоту текста, то я-бы ее обязательно сделал. Но такого компонента мне не встречалось даже среди платных. А разрабатывать его самому - слишком накладно для такой работы.
Можно было-бы подключить к этому делу Ворд, как OLE-контейнер, но во-первых это-бы сделало программу более неповоротливой, во-вторых потребовало-бы наличия самого Ворда, что по многим причинам неприемлемо.
Поэтому нормального решения с двойной высотой (кроме перехода на DOSPRN) я пока не вижу. Если у кого на основании вышесказанного появятся какие-то конструктивные идеи и предложения - пожалуйста.
Автор: o22
Дата сообщения: 10.01.2006 12:10
Версия от 10.01.2006
- Появилась настройка "Ограничение длины строки", а также варианты действий, когда длина строки превышает указанное значение (обрезать излишек - переносить на следующую строку);
- так как количество настроек растет, страница Настройки разбита на 2 подстраницы "Параметры работы программы" и "Параметры обработки файлов";
- завершающий прогон бумаги удаляется также в случае, если после него есть пустые строки;
- не запоминались некоторые настройки - исправлено;

Ссылка на страницу закачки - в шапке.
Автор: Sergey_Demchuk
Дата сообщения: 10.01.2006 13:05
Программа похудела на 7 кило!
Спасибо, будем пробовать....
Автор: WARTBURG
Дата сообщения: 18.01.2006 21:39
Доброго времени суток!

По ходу использования программы возникли следующие пожелания.
Хотелось бы чтобы в программе была реализована возможность вместо принтера выводить полученный файл во внешний текстовый редактор (например Word или SWriter {OpenOffice}).
Я раньше подобное реализовывал с помощью ярлычка с подобной строчкой:
"C:\Program Files\OpenOffice.org 2.0\program\swriter.exe" c:\111.txt
Хотелось бы в поле выбора принтера выбрать например Word и чтобы в нем открылся сформированный SPrint-ом RTF файлик.
Для чего это нужно, ну хотя бы для того чтобы текст отровнять по ширине (и много других полезностей).

Возможно это еще кому-нить может пригодиться.
Автор: o22
Дата сообщения: 19.01.2006 09:54
WARTBURG
У меня была как-то идея на этот счет, правда было это связано с тем, чтобы форматировать файл прямо в Ворде, но собственный RichEdit хоть и имеет меньше возможностей по оформлению, но зато всегда под рукой.
А сейчас можно сохранить файл, как RTF, а потом открывать его в Ворде, но согласен, что это лишние телодвижения.
Идея неплохая, можно и сделать. Позже. Занесу в план (в шапке).
Пока-же в ближайшее время выйдет версия в которой много других изменений, в частности пользовательские кодировки, возможность выбрать другой шрифт и другое ...
Следите за анонсами.
Автор: Cacka
Дата сообщения: 19.01.2006 13:20
o22
скажите, а чем ваш prn2file.com отличается от DOSPrn'овского?

Страницы: 1234567891011121314151617181920212223242526

Предыдущая тема: KitchenDraw 4.0


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.