Offtopic: Закрытое тестирование моего нового шедевера.

72 views
Skip to first unread message

Александр Соколов

unread,
Jan 16, 2013, 12:57:55 PM1/16/13
to razor...@googlegroups.com
Наконец я реализовал свою давнюю задумку. Под винду есть такая программа fineprint, это виртуальный принтер печатаешь на него, открывается окно в котором можно слить несколько файлов, сделать из документа буклет, да и просто как предпросмотр перед печатью удобно. Так вот, давно была у меня идея сделать такое под линух, ну вот наконец сделал.

Скриншоты
Основное окно:

Настройки принтера



Установка
Исходники можно взять с https://github.com/SokoloffA/bprint Для сборки требуются хедеры ghostscript и cups. Сборка стандартная 
cd sources_dir
mkdir build 
cd build
cmake .. && make && sudo make install

Как проверить?
После того как установили программу, надо добавить виртуальный принтер через любую программу настройки принтеров. 

Для KDE
  • добавить принтер
  • выбрать подключение ->Booklet, в поле "Введите URI устройства" появиться "booklet:/"
  • Остальное по умолчанию 
Для веб-морды CUPS-а
  • http://localhost:631/
  • Adding Printers and Classes
  • Add Printer
  • Local Printers: Booklet (Booklet Printer)
  • Остальное по умолчанию
А дальше просто печатаете один или несколько документов на этот принтер, они отобразятся в программе, а из программы уже можно будет распечатать на настоящий принтер.

А теперь просьба о помощи.
Я не могу придумать нормальное имя для программы, рабочее название было bprint, но такие домены все заняты. У меня есть несколько вариантов, но так на троечку, может кто подскажет лучшее название. Есть какие предложения?

  

vedun

unread,
Jan 16, 2013, 1:56:30 PM1/16/13
to razor...@googlegroups.com
А программа может потом сохранить в файл, например в pdf, а не на принтер печатать ?

Михаил Радюк

unread,
Jan 16, 2013, 2:22:04 PM1/16/13
to razor...@googlegroups.com


16 января 2013 г., 21:57 пользователь Александр Соколов <sokol...@gmail.com> написал:

<cut>
 
Установка
Исходники можно взять с https://github.com/SokoloffA/bprint Для сборки требуются хедеры ghostscript и cups. Сборка стандартная 
cd sources_dir
mkdir build 
cd build
cmake .. && make && sudo make install

Удалось скомпилировать только при добавлении строки 
include(FindPackageHandleStandardArgs)
 в  gui/cmake/FindGhostscript.cmake, иначе выдавало ошибку 

CMake Error at gui/cmake/FindGhostscript.cmake:78 (find_package_handle_standard_args):
  Unknown CMake command "find_package_handle_standard_args".
Call Stack (most recent call first):
  gui/CMakeLists.txt:104 (find_package)

Дистрибутив ALT Linux KDesktop 6.02
Версия cmake:
cmake-2.8.4-alt1.M60P.1

<cut>
 
А дальше просто печатаете один или несколько документов на этот принтер, они отобразятся в программе, а из программы уже можно будет распечатать на настоящий принтер.
 
А в какой программе? Что-то не могу сообразить... 

 
А теперь просьба о помощи.
Я не могу придумать нормальное имя для программы, рабочее название было bprint, но такие домены все заняты. У меня есть несколько вариантов, но так на троечку, может кто подскажет лучшее название. Есть какие предложения?

По названию ничего толкового предложить к сожалению не могу.

--
С уважением, Михаил.

Михаил Радюк

unread,
Jan 16, 2013, 2:53:40 PM1/16/13
to razor...@googlegroups.com
16 января 2013 г., 23:22 пользователь Михаил Радюк
<torab...@gmail.com> написал:

> А в какой программе? Что-то не могу сообразить...
>

Сорри, кажется разобрался.
Печатаю из LibreOffice на Booklet_printer в файл в формате PostScript,
потом запускаю booklet с этим файлом
/usr/local/lib/booklet/booklet 123.ps


--
С уважением, Михаил.

Александр Соколов

unread,
Jan 17, 2013, 1:52:46 AM1/17/13
to razor...@googlegroups.com
Да не, все должно быть гораздо более юзерфрендли. Печатаешь на Booklet_printer (не в файл),  при этом автоматически в твоем сеансе запускается гуй.

Как оно устроено.
Программа состоит из 2-х частей 
  • backed для CUPS, шеловский скрипт,  устанавливается в /usr/lib/cups/backend/booklet
  • Визуальная программа на Qt, устанавливается в /usr/{local}/lib/booklet/booklet.
Когда печатаешь на Booklet_printer, cups прогоняет задание через себя, и в конце передает postscrip файл в backend. Backend с помощью ck-list-sessions ищет активную иксовую сессию для пользователя, отправившего на печать. Если нашел, то запускает su -c "/usr/local/lib/booklet/booklet -t \"$title\" -n $count $psFile" $user
И у пользователя открывается программа.  А она уже считывает и отображает ps-файл.

Если автозапуск не работает, скорее всего /usr/lib/cups/backend/booklet не может найти сессию, это скользкий момент в моей программе. Пожалуйста, свяжись со мной по мылу или через jabber, мне хотелось бы понять в чем проблема.


16 января 2013 г., 23:53 пользователь Михаил Радюк <torab...@gmail.com> написал:



--
Best regards,
Alexander.

Александр Соколов

unread,
Jan 17, 2013, 1:54:54 AM1/17/13
to razor...@googlegroups.com
Сейчас нет, попозже могу прикрутить такую фичу. Но сейчас хотелось бы добиться нормальной работы основного функционала.
Если нужно прям сейчас, можно поставить пакет cups-pdf и из программы распечатывать на cups-pdf принтер.

16 января 2013 г., 22:56 пользователь vedun <vedun...@gmail.com> написал:

А программа может потом сохранить в файл, например в pdf, а не на принтер печатать ?



--
Best regards,
Alexander.

Александр Соколов

unread,
Jan 18, 2013, 2:56:02 AM1/18/13
to razor...@googlegroups.com
Вначале анонс: 
  1. Исправлен бакэнд для купса. Если у кого ваащще ничего не работало, попробуйте собрать новую версию.
  2. Добавлен скрипт (/scripts/installPrinter.sh) для автоматической установки принтера. 

Теперь про имя. Т.к. никто ничего нового не предложил, может поможете с выбором из того что я придумал.
  1. Woodcut - это гравюра по английски. Звучит вроде ничего, но связи с программой маловато. Потом в списке программ не вспомнишь что это.
  2. PrintRoll - Даже не знаю, чего написать про этот вариант. Так, мозговой выхлоп. Единственное, есть ассоциация с принтерами.
  3. Boomaga - Можно придумать расшифровку вроде BOOklet MAnager бла-бла.
  4. Сups-booklet - банально до усрачки.
Оцените плз.


17 января 2013 г., 10:54 пользователь Александр Соколов <sokol...@gmail.com> написал:



--
Best regards,
Alexander.

StreSS Unk

unread,
Jan 18, 2013, 3:06:26 AM1/18/13
to razor...@googlegroups.com
qtpp -Qt Print Preview - честно говоря я не пользовался еще ей, но по скриншоту у меня ассоциация с PrintPriview
qspp - Qt Smart Print Preview - это для обозначения что можно не только посмотреть а еще и что-то пошаманить

А мне Boomaga понравилось :)


18 января 2013 г., 11:56 пользователь Александр Соколов <sokol...@gmail.com> написал:

Александр Соколов

unread,
Jan 18, 2013, 3:22:06 AM1/18/13
to razor...@googlegroups.com

18 января 2013 г., 12:06 пользователь StreSS Unk <stre...@gmail.com> написал:

qtpp -Qt Print Preview - честно говоря я не пользовался еще ей, но по скриншоту у меня ассоциация с PrintPriview
qspp - Qt Smart Print Preview - это для обозначения что можно не только посмотреть а еще и что-то пошаманить

pp у меня ассоциируются с сетью, ppp, pptp и.т.д.
 
У меня 2 основных юзкейса:
  1. когда надо на досуге почитать документацию, я печатаю не кучу вееров A4, а один буклет A5. 
  2. Как предпросмотр.

А мне Boomaga понравилось :)
Если лучших предложений не будет, скорее всего остановлюсь на нем.

--
Best regards,
Alexander.

Михаил Радюк

unread,
Jan 21, 2013, 1:33:29 AM1/21/13
to razor...@googlegroups.com
18 января 2013 г., 11:56 пользователь Александр Соколов
<sokol...@gmail.com> написал:

> Вначале анонс:
>
> Исправлен бакэнд для купса. Если у кого ваащще ничего не работало,
> попробуйте собрать новую версию.
> Добавлен скрипт (/scripts/installPrinter.sh) для автоматической установки
> принтера.
>
Проверил - работает отлично, в т.ч. и скрипт для установки принтера.

>
> Теперь про имя. Т.к. никто ничего нового не предложил, может поможете с
> выбором из того что я придумал.
>
> Woodcut - это гравюра по английски. Звучит вроде ничего, но связи с
> программой маловато. Потом в списке программ не вспомнишь что это.
> PrintRoll - Даже не знаю, чего написать про этот вариант. Так, мозговой
> выхлоп. Единственное, есть ассоциация с принтерами.
> Boomaga - Можно придумать расшифровку вроде BOOklet MAnager бла-бла.
> Сups-booklet - банально до усрачки.
>
> Оцените плз.
>

Предлагаю как вариант - PrintIT (по-идее должно легко запоминаться по смыслу).

--
С уважением, Михаил.

Александр Соколов

unread,
Jan 21, 2013, 8:04:46 AM1/21/13
to razor...@googlegroups.com
Спасибо за предложение, но с названием я остановился на Boomaga, уже и в исходниках поменял. Тем более все домены printit заняты.

Как знал, что с купсовким бэкэндом будут проблемы. К сожалению не все и не всегда работает. Во первых заметил, что не подгружается перевод. Т.к. backend не устанавливает переменные среды (в частности LANG), то используется дефолтный язык в системе. 

И вроде как не должно работать в третьем гноме, они поменяли путь к .Xauthority файлу. Но надо проверять.

Надо думать как бы получить нормальные переменные среды для пользовательского сеанса. 



21 января 2013 г., 10:33 пользователь Михаил Радюк <torab...@gmail.com> написал:



--
Best regards,
Alexander.
Reply all
Reply to author
Forward
0 new messages