Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SPrint

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

Открыть новую тему     Написать ответ в эту тему

o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SPrint


Попробовав несколько программ для печати из ДОС-приложений на лазерниках, понял, что быстрее напишу свою, чем найду что-то подходящее, тем более, что неудобно подсовывать пользователям крекнутую программу.
Что мне не понравилось, например, в DOSPrn (именно в топике обсуждения этой программы находится оригинал данного сообщения) - отсутствие предварительного просмотра и автоматического масштабирования.
Свою программу склепал за пару дней (правда так как с момента этого сообщения уже прошло больше 3-х лет, то суммарные затраты на разработку гораздо больше - 29.01.2007), поэтому не обессудьте.
Делал под свои запросы, что меня не интересовало, не наворачивал.
Пожелания и предложения по программе: (можете добавлять сами, я "отфильтрую")
- вставка изображения (типа логотип);
- высокий шрифт (если встречается соответствующая последовательность или рассчитанный размер шрифта слишком мал) - вообще-то предложение очень хорошее, но пока сложнореализуемое при данном подходе - в RichEdit нет понятия "высота шрифта", только размер, который подразумевает изменение высоты и ширины одновременно, но как для печати без предварительного просмотра и с ограниченными возможностями реализовать можно (o22)
- обработка esc-последовательностей, отвечающих за междустрочное расстояние.
- в настройки программы добавить опцию "только чтение" для предпросмотра
- в настройки программы добавить опцию "как есть" -  забирать с lpt (или с файла, в случае prn2file) и отправлять на usb, вообще ничего не обрабатывая.
- опция "закрыть после печати"
Вопросы и пожелания высказываем здесь или отсылаем на мыло ww2$ukr.net ($=@)
Если пишете на мыло, то обязательно пишите в теме SPrint - так как адрес общедоступный, то на него помимо ваших писем идет куча спама. И шансы быть прочитанными у письма без темы или с темой "проблема" или "помоги", сами понимаете, невелики.



Благодаря vamh, программу теперь можно скачать и отсюда: http://kashary.ru/downloads/SPrint.zip | http://kashary.ru/downloads/sprint_setup.exe
Размещение на этом ресурсе последней версии зависит от vamh В любом случае на оффсайте она появляется раньше, если об этом не сказано отдельно.
 
Внимание! Сайт с программой переехал. Новый адрес http://sprint.inf.ua
 
Проект закрыт.  
В связи с тем, что мой интерес к программе давно исчерпался (так как нет необходимости в печати из ДОС-приложений), программа больше развиваться и сопровождаться не будет.
Я разместил сайт на другом хостинге, так как на предыдущем ее размещение для меня стало финансово нецелесообразным, а просто его закрыть, не оставив возможности скачать программу, было-бы не очень красиво.
Спасибо всем, кто способствовал в развитии программы, прошу прощения у тех, кому (особенно  в последнее время) не отвечал на письма. Такова жизнь.

     

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 09:25 05-09-2003 | Исправлено: o22, 01:20 12-11-2017
Release



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Программа просто великолепна. Спасибо автору.
Но есть одно "но" с которым я не смог справиться. У нас некоторые документы печатают на рулонной бумаге, а при печати через SPrint, по окончании печати документа лист "выплевывается". Соответсвенно получаются большие расстояния между документами. Можно ли как-то сделать, чтобы принтер останавливался после печати, не "выплевывая" лист. Возможно такая возможность есть, но я ее не нашел. Буду благодарен любой помощи.
И еще хотелось бы иметь возможность задавать размеры листа, но это не критично.

Всего записей: 420 | Зарегистр. 01-01-2006 | Отправлено: 13:58 12-12-2006
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
У нас некоторые документы печатают на рулонной бумаге, а при печати через SPrint, по окончании печати документа лист "выплевывается". Соответсвенно получаются большие расстояния между документами. Можно ли как-то сделать, чтобы принтер останавливался после печати, не "выплевывая" лист.

Может и можно, но я не знаю как.  
Программа ведет себя аналогично тому-же Ворду - если ты посылаешь документ на печать, то разрывы страниц так же проганяются. Поправь, если я ошибаюсь.
 
Как альтернатива - установи опцию, чтобы перевод страницы не обрабатывался.
Тогда после печати останется порвать рулон вручную.  
 
На самый худой конец можно подменять символ прогона страницы строкой типа
"-----------------------------"
чтобы было видно где рвать.
Но если страница замышлялась как несколько строк, то это не самый лучший вариант.
 

Цитата:
И еще хотелось бы иметь возможность задавать размеры листа, но это не критично.

В смысле отличных от стандартных ? Потому-что выбор из стандартных предусмотрен.
Если нужны нестандартные, то скорее всего можно сделать.
Правда я не совсем понимаю зачем.

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 15:19 12-12-2006 | Исправлено: o22, 15:25 12-12-2006
Release



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o22

Цитата:
Как альтернатива - установи опцию, чтобы перевод страницы не обрабатывался.  Тогда после печати останется порвать рулон вручную.

Я пробовал, но это никак не помогает, к сожалению.

Цитата:
Может и можно, но я не знаю как.

У меня появилась идея как это реализовать.
 
Можно сделать дополнительный формат, что-то вроде "А4-рулонный". И при этом выбранном формате высоту (или ширину в зависимости от ориентации) листа динамически подсчитывать в зависимости от количества строк и размера печатаемого шрифта плюс отступы по краям листа и межстрочные.
Если выбрана альбомная ориентация, то это уже получается "А3-рулонный", а больше думаю никому и не надо будет.
 
Вот только не знаю захочешь ли ты с этим возится, но очень надеюсь.
Еще раз спасибо за классную, можно сказать уникальную, программу. К тому же бесплатную.

Всего записей: 420 | Зарегистр. 01-01-2006 | Отправлено: 17:00 12-12-2006 | Исправлено: Release, 17:05 12-12-2006
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Я пробовал, но это никак не помогает, к сожалению.

В смысле, прогоны все равно есть ?  
 

Цитата:
Можно сделать дополнительный формат, что-то вроде "А4-рулонный".

Честно говоря идею не понял.  
Догнать недостающие строки пробельными, чтобы сохранить размер по высоте ?
 
Что касается альбомной ориентации, то вообще не догнал. Как можно на рулоне в альбомной печатать ? Да и вообще что за принтер, что рулонами печатает ? Матричник старый ? Так для него вроде и программа моя не нужна...

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 20:34 13-12-2006
Release



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o22

Цитата:
В смысле, прогоны все равно есть ?

Да, напечатал файл (который сформировал prn2file) и сдвинул бумагу на размер листа А4.

Цитата:
Честно говоря идею не понял.

Если я правильно понимаю механизм подготовки документа на печать, то:
1. Перед посылкой документа на печать, задаються параметры шрифта (размер, сам шрифт и т.д.), параметры страницы (высота, ширина, отступы, незнаю может что еще). Если задан формат "А4", то принтер при печати документа, когда видит конец документа, "выплевывает" отпечатаный лист и захватывает следующий.
Если я где-то не прав, поправь меня, тогда буду думать дальше.
 
2. Так вот при выбранном формате "А4-рулонный" и книжной ориентации, при посылке на печать ширина листа остается как и у обычного "А4", а меняется высота подсчитывается взависимости от количества строк и заданных параметров (отступы сверху и снизу, межстрочный интервал, может что еще).

Цитата:
Что касается альбомной ориентации, то вообще не догнал. Как можно на рулоне в альбомной печатать ?

3. Если же в предыдущем пункте выбрать вместо книжной альбомную ориентацию, то получиться, что ширина ленты будет равняться высоте листа "А4" или ширине "А3". Вот что я имел ввиду.

Цитата:
Да и вообще что за принтер, что рулонами печатает ? Матричник старый ? Так для него вроде и программа моя не нужна...

Ты прав это действительно матричный принтер. Если печатать на прямую, то он печатает встроенными в него шрифтами. Поэтому получается либо слишком мелко, либо вылазит за границы листа. DosPrn тут мне не помог, и поэтому твоя программа просто клад для меня. Но возникает та проблема о которой я говорил выше.
 
Хочу привести пример, может это лучше поможет понять.  
Печатают на этом принтере у нас накладные. Выглядит как таблица с шапкой (заголовком, датой и т.д.) и местами для подписей. Так как это таблица, то количество строк меняется может отличаться для каждого документа (накладной). Соответсвенно один документ может занимать весь лист "А4", а другой только треть. Поэтому использование рулонной бумаги очень удобно.
 
Добавлено:

Цитата:
сдвинул бумагу на размер листа А4.

Извиняюсь, я хотел сказать на размер листа А4 минус высота напечатанного текста.

Всего записей: 420 | Зарегистр. 01-01-2006 | Отправлено: 09:11 14-12-2006 | Исправлено: Release, 09:19 14-12-2006
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Да, напечатал файл (который сформировал prn2file) и сдвинул бумагу на размер листа А4.

То есть, если я правильно понял, задание состоит из 1 страницы ?
И прогон делает не между страницами, а по окончании документа ?
Здесь, я боюсь, программно ничего не сделаешь. Найди инструкцию к принтеру и попробуй в ней найти аппаратное решение (установки на самом принтере).
 

Цитата:
Если я правильно понимаю механизм подготовки документа на печать, то:  
1. Перед посылкой документа на печать, задаються параметры шрифта (размер, сам шрифт и т.д.), параметры страницы (высота, ширина, отступы, незнаю может что еще). Если задан формат "А4", то принтер при печати документа, когда видит конец документа, "выплевывает" отпечатаный лист и захватывает следующий.  
Если я где-то не прав, поправь меня, тогда буду думать дальше.

Нет. Не так.  
1. Из настроек программы берем формат листа.  
2. Определяем его размер (ширину, высоту)
3. Определяем длину строк текста.
4. Рассчитываем размер шрифта, чтобы этот текст влез без переносов.
5. Если размер маленький и у нас установлена автоориентация, то считаем размер текста для альбомной.
6. Печатаем.
 
Это так, костяк. Есть еще автоопределение кодирови, перекодировка, учет при рассчетах отступов и межстрочных расстояний и т.п.
 
 
Цитата:
3. Если же в предыдущем пункте выбрать вместо книжной альбомную ориентацию, то получиться, что ширина ленты будет равняться высоте листа "А4" или ширине "А3". Вот что я имел ввиду.

Оттого, что ты в программе настройку поменяешь, бумага у тебя шире не станет, верно ?
И в отличие от лазерника, матричник вдоль листа печатать не может и лист не разворачивает. Поэтому для рулона есть смысл выставлять только портрет и размер бумаги ставить исходя из этого (по узкой стороне листа)

Цитата:
Хочу привести пример, может это лучше поможет понять.  
Печатают на этом принтере у нас накладные. Выглядит как таблица с шапкой (заголовком, датой и т.д.) и местами для подписей. Так как это таблица, то количество строк меняется может отличаться для каждого документа (накладной). Соответсвенно один документ может занимать весь лист "А4", а другой только треть. Поэтому использование рулонной бумаги очень удобно.

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

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 15:06 15-12-2006
weasot



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я извиняюсь,но можно поподробней про "Укажите файл-приемник в качестве параметра программе prn2file".Где указывается и как?  

Всего записей: 84 | Зарегистр. 21-07-2005 | Отправлено: 05:41 09-01-2007
Release



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
weasot

Цитата:
Я извиняюсь,но можно поподробней про "Укажите файл-приемник в качестве параметра программе prn2file".Где указывается и как?  

Вот цитата из FAQ:

Цитата:
Укажите файл-приемник в качестве параметра программе prn2file  
Например:  
 
Prn2file.com c:\temp\report.prn  
SPrint нужно будет настроить на печать файла, который создает Prn2File (в нашем случае c:\temp\report.prn)  
 
В справке об этом сказано (и к программе SPrint и к программе Prn2File).
 


Всего записей: 420 | Зарегистр. 01-01-2006 | Отправлено: 09:47 09-01-2007 | Исправлено: Release, 09:48 09-01-2007
Topik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С помощью этой программы можно печатать на USB принтере из под Dos?
Есть у меня одна противная программа, которая печатает только на LPT!

Всего записей: 90 | Зарегистр. 06-04-2003 | Отправлено: 11:43 11-01-2007
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Topik
weasot
Мужики, если хотите, чтобы у меня было время (которого я могу выделить всего пару часов в месяц), на то чтобы усовершенствовать программу, а не на то, чтобы в 100-й раз объяснять то, о чем написано в справке, а наиболее частые вопросы освещаются еще и в FAQ, то пожалуйста, читайте...

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 12:14 11-01-2007
etoxic

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос автору о наболевшем - печать псевдографики.
Можно ли реализовать преобразование текста в unicode для подачи на принтер хотя бы в автоматическом режиме, минуя RichEdit?
На данный момент отсутствие возможности печатать рамки таблиц это единственное что удерживает перейти с глючного dosprn...

Всего записей: 9 | Зарегистр. 18-04-2006 | Отправлено: 20:23 19-01-2007
TanchorDisko

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Программа замечательная - нет слов... Но вот я столкнулся с такой проблемкой - у моего клиента на слабой машинке стоит клиент-банк присанный на FoxPro.  И при запуске prn2file клиент-банк начинает работать нестабильно и непредсказуемо закрываться из-за недостатка досовой памяти компа. Есть ли какой-нибудь вариант решения этого затруднения?

Всего записей: 22 | Зарегистр. 03-02-2005 | Отправлено: 11:24 22-01-2007
anryk



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TanchorDisko
я так не смог заставить работать этот prn2file - наверное такая реализация нашей складской программы, из которой нужно печатать. Порылся в доках к этой программе и нашел параметр prn=1 командной строки, который можно прописать в ярлыке запуска программы. В рез-те при нажатии кнопки ПЕЧАТЬ идет печать в файл 1, создаваемый в рабочей папке программы, а дальше в дело вступает SPrint
Может и в вашей проге есть подобные настройки.

Всего записей: 1066 | Зарегистр. 04-04-2002 | Отправлено: 16:05 22-01-2007
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
etoxic
Возможно в далекой перспективе.
У меня нет времени на доработку даже пустяков, которые у меня просят реализовать, а то, что просите Вы - кусок работы.
TanchorDisko
Посмотрите в FAQ программы, там есть пример config.nt (пункт 17), многим помогало

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 17:03 23-01-2007 | Исправлено: o22, 12:09 29-01-2007
etoxic

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в далекой? это наиболее важный функционал, который должен быть в программе. где сейчас используются дос-программы? в бухгалтерских, банковских системах, где самое важное это печатать бланки строгой отчетности, в которых без псевдографики обойтись нельзя.
это - не доработка пустяка, необходимость поддержки минимального необходимого функционала, который есть во всех конкурирующих продуктах (dosprn, winprn).
если нет возможности дорабатывать программу, есть 2 пути:
1. сказать "программа уже является конечным продуктом и не нуждается в дальнейших доработках", выпустить финальную версию в freeware или shareware-лицензии и заниматься только тем что дописывать FAQ .
2. сказать "программа должна развиваться, есть большой todo-list, есть спрос на программу и на новые возможности в ней. но у меня нет возможности развивать программу", выпустить финальную авторскую версию, и выпустить отдельную ветку программы в open-source варианте. заинтересованные пользователи сами внесут необходимый им функционал. название для open-source проекта можно сделать отличным от оригинального, дабы не путать их.

Всего записей: 9 | Зарегистр. 18-04-2006 | Отправлено: 10:13 29-01-2007
Manul



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
etoxic
Родной! Учитывая то, как и для чего создавался сабж, тебе следовало бы тихонько попросить автора реализовать, ПРИ ВОЗМОЖНОСТИ,  твои хотелки. Если чем-то недоволен или что-то тебя в сабже не устраивает, а ПРОСИТЬ не приучен, то создай свою софтину, тему, в которой будешь хозяин - берин, и забей на сабж.

Всего записей: 2668 | Зарегистр. 22-12-2002 | Отправлено: 10:33 29-01-2007
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
etoxic

Цитата:
это - не доработка пустяка, необходимость поддержки минимального необходимого функционала, который есть во всех конкурирующих продуктах (dosprn, winprn).

Во-первых, Вы меня не правильно поняли (вернее я недостаточно однозначно ответил). Я имел в виду, что у меня, к сожалению, нет времени даже на пустяковые доработки, не говоря о тех, что просите Вы.
Во-вторых, что Вам мешает пользоваться упоминаемыми продуктами (dosprn, winprn), если в них реализовано то, что для Вас важно, я же Вас не обязываю пользоваться SPrint ? Более того, так как упоминаемые программы шароварные (кстати, я вовсе ни с кем не конкурирую), Вы вправе требовать от них безглючной работы (я не сомневаюсь, что Вы являетесь их зарегистрированным пользователем).
 
Что-же касается самой просьбы, то я в свое время рассматривал вариант с unicode, но по определенным причинам переход на него требовал-бы изменения существующей концепции программы, что тянуло за собой значительные переделки. На данном этапе по соображениям соотношения трудозатраты/эффект эта идея отложена в долгих ящик по причине отсутвия времени. Возможно это будет реализовано позже, возможно - никогда. В любом случае такой способ "лоббирования" данного изменения (а проше "наезд") совсем не способствует тому, что я за него вообще возьмусь.
 
Да, чуть не забыл о главном.
На днях выложу свежую версию.
В ней перенесено количество копий печатного документа с закладки настроек на панель кнопок и добавлен вызов дополнительных настроек принтера (где можно указать способ подачи бумаги, дуплекс и т.д.) на закладку настроек печати.  
 
 
Добавлено:
Manul
Спасибо за понимание.

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 12:01 29-01-2007
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Версия 2007.01.30
 
- информация о количестве экземпляров печатаемого документа перемещена со страницы настроек на панель кнопок (возле кнопок печати), что более логично;
- возможность вызова диалога настройки принтера для более подробных его  настроек (способ подачи бумаги, печать дуплексом, другие расширенные возможности печати для определенных принтеров);
- внесены изменения в файл перекодировки (cp) для предотвращения печати символов с кодом 255(FF);
- закладка "О программе" перенесена в раздел настроек;
- другие незначительные изменения.
 
Качаем с сайта.  
Прошу обратить внимание на новый раздел на сайте "Обо всем".

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 10:41 30-01-2007
vitali6

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Несколько вопросов и предложений:
 
1. Я уже задавал вопрос о печати нескольких копий документов..Вами были сделаны изменения.
Спасибо.
Возникает такой вопрос:
Как сделать так, чтобы настройки количества экземпляров сохранялись после перезапуска программы(системы)
То есть нам нужна печать в фоне(без предварительного просмотра), чтобы юзвери меньше вмешивались в работу программы,  
и чтобы они не меняли каждый раз кол-во экземпляров.
 
2. При нажатии на ЗАКРЫТЬ(крестик) при открытом диалоге программы она прыгала в трэй, а не прекращала работу.
А для полного прекращения работы её можно было бы закрыть из контекстного меню в ТРЕЕ.
 
3. Это всего лишь предложение, наверняка звучавшее, чтобы работа программы под win2k/xp могла работать как сервис.
 
 
СПАСИБО.

Всего записей: 10 | Зарегистр. 03-08-2006 | Отправлено: 09:28 09-02-2007
anryk



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
голосую за  

Цитата:
2. При нажатии на ЗАКРЫТЬ(крестик) при открытом диалоге программы она прыгала в трэй, а не прекращала работу.  
А для полного прекращения работы её можно было бы закрыть из контекстного меню в ТРЕЕ.

Всего записей: 1066 | Зарегистр. 04-04-2002 | Отправлено: 20:30 09-02-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

Компьютерный форум Ru.Board » Компьютеры » Программы » SPrint


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru