Печатаем на любом старом принтере (например, Canon Laser Shot LBP 1120) из 64-разрядной операционной системы Windows через VirtualBox с установленной в ней 32-разрядной Windows: новый способ

           Привет, друзья! Я расскажу об одном из множества существующих способов заставить печатать старый принтер Canon Laser Shot LBP 1120 из любой 64-х разрядной операционной системы Windows, хотя официального драйвера для работы в 64-х разрядных системах семейства Windows не существует.

Если быть точным, то мой способ достаточно универсален и позволяет запустить печать на любом старом принтере (не только Canon LBP 1120), не поддерживаемыми новыми операционными системами Windows.

Как обычно, рулит «теория заговора». Разработка драйвера находится в компетенции производителя, так как необходимо знать, как работает принтер. Основная проблема использования старых моделей принтеров состоит в том, что производители, по мнению сообщества Internet, для увеличения продаж новых моделей принтеров перестают разрабатывать драйверы для старых принтеров с поддержкой новых операционных систем Windows, особенно 64-х разрядных. На многие старые принтеры, которые проявили себя надежными и экономичными устройствами для домашнего использования, производителями разработаны драйверы только для 32-х разрядных версий Windows. Если производитель не считает нужным разработать драйвер для своего устройства—это политика производителя, мы повлиять на это не сможем. Поэтому крутимся ужом и находим альтернативу.

Для примера несколько вариантов запуска принтера на который отсутствуют драйверы под современные системы Windows:

Те, кто используют до сих пор 64-х разрядные Windows 7 (Ultimate, Professional и Enterprise) и процессор поддерживает аппаратную виртуализацию—устанавливают XP Mode, устанавливают в нем драйвер для Windows XP и печатают, используя XP Mode, что может позволить использовать старый принтер еще долгое время.

Другие делают принт-сервер на отдельном совместимом компьютере, на базе Raspberry Pi или другом подобном устройстве и печатают по локальной сети.

Третий способ для тех, кто использует только один компьютер и если им нужно печатать на принтерах не поддерживаемыми новыми операционными системами Windows, например из 64-х разрядной Windows, ставят VirtualBox (бесплатная виртуальная машина от Oracle), в ней устанавливают 32-х разрядную версию Windows, например Windows XP как не сильно требовательную к ресурсам, ставят набор драйверов и программ, немного настроек и всё готово, можно печатать.

Я так и сделал. Использовал рецепт https://forum.ixbt.com/topic.cgi?id=58:4892, установил:

VirtualBox Oracle 6.0.10, VirtualBox Extension Pack и VBoxGuestAdditions_6.0.10.iso http://download.virtualbox.org/virtualbox/6.0.10/, для установки на Host Windows.

VBoxHeadlessTray https://www.toptensoftware.com/vboxheadlesstray/, для установки на Host Windows.

Драйвер принтера HP LaserJet 4100 Series PS (HP Universal Print Driver for Windows PostScript (64-bit)) https://www.support.hp.com/ua-ru/drivers/selfservice/hp-laserjet-4100-printer-series/83436, для установки на Host Windows.

Дистрибутив Windows XP Professional with Service Pack 3

Драйвер принтера Canon Laser Shot LBP-1120 https://www.canon-europe.com/support/consumer_products/products/printers/laser/laser_shot_lbp1120.html?type=drivers&language=ru&os=windows%207%20(32-bit), для установки на гостевой Windows XP.

Эмулятор PostScript принтера GPL Ghostscript Windows 32 https://code.google.com/archive/p/ghostscript/downloads, для установки на гостевой Windows XP.

RedMon — Redirection Port Monitor http://www.ghostgum.com.au/software/redmon.htm, для установки на гостевой Windows XP

Intel PRO/1000 MT Desktop Adapter https://downloadcenter.intel.com/download/18717/Network-Adapter-Drivers-for-Windows-XP-Final-Release?product=50485, для установки на гостевой Windows XP.   

Все заработало, принтер печатает, но открылся один недостаток: при печати файлов в формате PDF очень долго готовится файл к печати, одна страница заполненная рисунками высокого разрешения преобразовывается в файл для печати размером около 100 Мб, что занимает много времени, порядка 10 минут. Явный недостаток. Устал ждать пока закончится печать. Именно этот недостаток заставил меня искать другой способ печати на принтере Canon Laser Shot LBP-1120 из 64-х разрядной Windows 10.

Представляю метод лишенный вышеуказанного недостатка.

Описываемый далее способ я отношу к третьему типу (по моей классификации), но используется другой набор программного обеспечения. Как уже говорилось – «Если быть точным, то мой способ достаточно универсален и позволяет запустить печать на любом старом принтере (не только Canon LBP 1120), не поддерживаемыми новыми операционными системами Windows». Эта универсальность получена благодаря применению программы PDFCreator! Любые файлы печатаются максимально быстро, без задержки. Спасибо создателям этой замечательной бесплатной программы!

Краткий обзор наших действий для достижения результата: Устанавливаем на гостевой Windows XP драйвер для принтера Canon Laser Shot LBP-1120, устанавливаем на гостевой Windows XP программу PDFCreator в серверном режиме с дополнительным 64-х разрядным драйвером, в результате создается виртуальный принтер PDFCreator, настраиваем PDFCreator, делаем его доступным по сети, устанавливаем этот принтер на хост-машине как сетевой принтер. Все готово, можно печатать!

 

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

Общеизвестный способ

Способ описываемый в этой статье

Итак, приступим к установке и настройке.

Устанавливаем PDFCreator в серверном режиме. Считаем, что у вас уже установлена виртуальная машина VirtualBox Oracle 6.0.10, VirtualBox Extension Pack и VBoxGuestAdditions_6.0.10.iso, установлена Windows XP (я имя ей присвоил-PRINT), установлен драйвер для принтера Canon Laser Shot LBP-1120, настроена сеть между виртуальной машиной и хостом. Рекомендую установить на виртуальной машине сетевую карту Intel PRO/1000 MT Desktop Adapter для гигабитной сети между гостевой Windows XP и хостом.

Скачиваем установочный файл PDFCreator версии 1.5.1 PDFCreator-1_5_1_setup.exe, это самая старшая версия найденная мной с поддержкой Windosw XP и готовым EXE файлом: https://sourceforge.net/projects/pdfcreator/files/PDFCreator/PDFCreator%201.5.1/

Установку производим на гостевой Windows XP, запускаем установочный файл, выбираем «Экспертные настройки»:

Выбираем язык установки:

Принимаем условия соглашения:

Выбираем «Серверная установка»:

Видим предупреждение:

Далее соглашаемся:

Устанавливаем дополнительный драйвер для 64-х разрядных систем:

Выбираем папку для установки:

Выбираем обязательно «выборочную установку», а то дополнительно установятся не нужные нам тул-бары, отказываемся от всех дополнительных компонентов, выбираем нужный язык:

Настраиваем под себя «Дополнительные задачи»:

Снимаем галочки, чтоб не устанавливать антивирус (что-то эта версия 1.5.1 заглючила с русским языком только в этом окне, до нее устанавливал версию 1.5.0, там все было превосходно):

Нажимаем кнопку «Установить»:

Установка завершена:

Для продолжения настройки создадим пакетный файл, я его назвал print_cleaning.bat с текстом из четырех строк:

 

rem удаление файлов печати из каталога

PUSHD C:\Print_tmp

2>Nul RD /S/Q «C:\Print_tmp»

POPD

 

Этот командный файл понадобится для удаления временных файлов, создаваемых при печати, которые мы будем складывать в папку c:\Print_tmp на гостевой Windows XP. Логика работы такова: при печати PDFCreator формирует файл PDF, печатает его на принтере, по окончанию печати запускает файл print_cleaning.bat, который очищает папку C:\Print_tmp.

Поместим файл print_cleaning.bat в папку:

C:\ Program Files\PDFCreator\Scripts\RunProgramAfterSaving\

 

Переходим к настройке программы PDFCreator:

Открываем «Настройки»:

Переходим последовательно по пунктам, здесь ничего не меняем:

Следующий пункт без изменений:

Пункт без изменений:

А вот здесь внесем изменения, выберем нужные «галочки» и выберем ранее созданную папку для сохранения:

Следующий важный пункт: открываем закладку «Действие после сохранения», выбираем из выпадающего списка доступный скрипт print_cleaning.bat (мы его ранее поместили в эту папку C:\ Program Files\PDFCreator\Scripts\RunProgramAfterSaving\), отмечаем нужные галочки:

Следующий важный пункт: выбираем установленный принтер для печати, ставим галочки и выбираем нужные пункты меню:

На этом настройка PDFCreator закончена.

 

 

Делаем принтер PDFCreator доступным по сети и принтером по умолчанию в гостевой системе Windows XP:

 

 

Перезагружаем компьютеры, для большей верности, проверяем видимость сетевого принтера из хост-компьютера, устанавливаем 64-разрядный драйвер на сетевой принтер PDFCreator, вдруг если по сети не видно Windows XP, возможный вариант – «Windows 10 при попытке открыть по сети компьютер с ОС Windows XP, скорее всего выдадут ошибку “Windows не может получить доступ, с кодом ошибки 0x80070035”. При этом обе машины друг друга пингуют без проблем. Windows XP работает на протоколе SMBv1, который в Windows 10 отключен по умолчанию из соображений безопасности. Клиентскую часть SMBv1 можно включить в Windows 10 набрав в поиске меню Пуск “Панель управления”, далее Программы -> В разделе “Программы и компоненты” выбрать пункт Включение или отключение компонентов Windows. В открывшемся дереве выбрать “Поддержка общего доступа к файлам SMB 1.0/CIFS”, далее “Клиент SMB 1.0/CIFS”»:

 

Если Все прошло как надо, система готова к печати:

 

 

Ну и в качестве «вишенки на торте» применяем программу VBoxHeadlessTray https://www.toptensoftware.com/vboxheadlesstray/, для установки на хост машине Windows.

Она позволит спрятать запущенную работающую виртуальную машину в один значок на «Панели задач», и при перезагрузке текущая настройка сохранится. Нам не придется заботиться о виртуальной машине при следующем включении компьютера, она будет всегда включена и мгновенно отправлять на печать ваши задания. При установке необходимо указать с какой именно виртуальной машиной нужно работать:

И в результате выглядеть это будет так:

 На этом всё, только один недостаток у меня вылез и я его не смог решить — это появление окна при загрузке компьютера с сообщением:

Понятно, что VBoxHeadlessTray не может почему-то найти Log файл, но закрыв это окно все продолжает работать хорошо.

 

нет
-5 1 20519 61
Автор SkifBG Рейтинг -3.93 Сила 0.00
Блог Принтеры, сканеры и прочее 36 25 RSS

61 комментарий

KAlexK
Ну то есть печать на самом деле выполняется из 32-х разрядной операционной системы Windows.
SkifBG
Ответил Вам ниже по тексту.
KAlexK
И не зачем было отвечать, так как вы все прекрасно описали в статье, никакие дополнительные разъяснения не нужны. Но заголовок обманывает в том, что не сообщает всю правду. Было бы написано «Печатаем на любом старом принтере из 64-х разрядной операционной системы Windows через виртуальную 32-разрядную машину», то я бы сюда точно не зашел, ибо неинтересно.
balcora_gate
Тоже ждал, что кто-то решил в свое время актуальную для меня проблему, но увы )
114489910751468580713@google
А не проще универсальный драйвер поставить Canon Generic driver?
KAlexK
Спасибо! Теперь к заголовку претензий нет :)
SHiSH
Куча геморроя не понятно зачем, проще было уже давно принтер поменять.
SkifBG
Ваше мнение не ново! Спасибо за откровенность.
balcora_gate
Верно. 1120 неплох, но эпоха дешевой печати на нем не завершилась. Достаточно купить Canon i-SENSYS LBP2900
Michail Michailoff
Зачем покупать что то если уже есть эти принтера? Берите на вооружение любой из способов и пользуйтесь.
Michail Michailoff
Зачем менять то что отлично работает и проработает еще много лет. Конструкция простая, надежность как у автомата Калашникова, расходники копеечные, никаких чипов в картридже. Хочется геморроя?
SkifBG
На блок схеме я изобразил с помощью каких программ происходит печать, как ни крути, интерфейсы двунаправленные. Идет задание на печать например из текстового редактора так и назад в операционную систему возвращаются сообщения от принтера о неудачной печати или об удачной. Никто не говорит, что можно напрямую печатать из 64-х разрядной Windows на принтер Canon Laser Shot LBP 1120 из любой 64-х разрядной операционной системы Windows, ведь официального драйвера для работы в 64-х разрядных системах семейства Windows не существует. Но в данном случае работа всего механизма виртуальной машины скрыта от пользователя и человеку непосвященному будет казаться прямая печать на принтер.
TonyZ
Вот только непонятно зачем вам прожорливая WinXP, когда все это можно сделать в небольшом linux образе без графических оболочек и прочего беспредела.
Последний раз редактировалось
Real Silencio
прожорливая? да там достаточно 512МБ отвести — для печати хватит за глаза.
TonyZ
Плюс постоянно в фоне что то делают сервисы, графическая оболочка — это все. Но хозяин барин.
Real Silencio
И как 10-12 лет назад люди работали на компах с 256-512 МБ оперативной памяти в ХР? А тут всё висит в оперативной памяти хоста и работает практически идеально.
TonyZ
Я не утверждаю, что оно не будет работать, замечу.
SkifBG
Мне нравится экономить дисковое пространство и оперативную память. Можете выложить подготовленный образ Linux? Все заинтересованные будут Вам очень благодарны!
TonyZ
Проблема «подготовленного образа», что у вас будут драйвера ровно для одного принтера :) Слегка бессмысленная задача. Можно взять какой-нибудь minimal образ arch или что то такое, поставить CUPS, CIFS и драйвер принтера. Ну может еще ghostscript пригодится, тут я не в курсе
Michail Michailoff
Вы ведь так сами с эти принтером не делали, правда? Сперва сделайте и напишите результат.
TonyZ
У меня нет этого принтера, однако на сайте производителя дрова для linux имеются. Отсюда можно сделать предположение, что под linux он будет работать.
Последний раз редактировалось
Michail Michailoff
И драйвера очень странные если не сказать больше. Для того что бы понять что они странные надо их установить и поработать. Я пробовал и для себя понял что драйвера под Windows работают лучше. И есть еще одна проблема, мне не удалось установить сразу два принтера, например: Canon LBP-810 и Canon LBP-1120.
avaddon
как-то думается что современный линукс будет побольше и попрожорливее хп, или прелагается и линукс брать 20ти летний? :)
TonyZ
Я ж не зря написал про minimal. В линуксе можно не ставить графику и кучу ненужных сервисов.
100295248955783372915@google
Ага, из Linux, который вообще не поддерживает этот принтер… Теперь конкретно по статье: а мы только варезом занимаемся или это все можно проделать абсолютно законно, мелкософтовцы разрешают подобное для 1 отдельно взятой лицензии?
xxx-xxx
Как минимум для некоторых моделей прокатывает вариант правки inf перед установкой. После чего 32 битные дрова чудесным образом ставятся и работают.
936261709829127@facebook
Я тоже думаю, что если руки прямые, то эта проблема решается проще. Везде дома стрят старые принтера и сканеры.
ASPcoder
нук заведи так lbp800
Mihno
Нафиг надо 800. Hp 1100 работал и работает без какого-либо гиммора. Сейчас у кого нет lpt — прикупить копеечный переходник на Али (Я брал за 107руб) и всё! Драйвера ставятся автоматом.
Последний раз редактировалось
Real Silencio
Хых, 1100 имеет встроенный форматтер, в отличие от 1120, так что завести 1100 в современной ОС никаих проблем. у нас и 1100 и 4200 и 9050 прекрасно печатают из-под 10-ки, хотя ни одного из них в штатных драйверах 10-ки нет.
SkifBG
Все так, принтера которые печатали из под DOS, будут печатать всегда из под любой ОС, как стандартное устройство ввода-вывода. А потом под Windows пошли принтеры с драйверами, которые печатали только из Windows. Производитель перенес в драйвер все возможности принтера.
lusrpag
Другие делают принт-сервер на отдельном совместимом компьютере, на базе Raspberry Pi или другом подобном устройстве и печатают по локальной сети.
Можно подумать, что это избавит от необходимости иметь работающий драйвер для Windows x64.
SkifBG
Используется универсальный драйвер https://habr.com/ru/post/314962/
A-Gugu
Пару месяцев назад, на разбор принесли LaserJet Series III (Начало 90х). Ради интереса, воткнул в комп с 10кой и лпт портом — система принтер увидела, и даже на печать послала тест, правда картридж был окаменевший…
SkifBG
А разрядность вашей десятки? В свете данной статьи это очень важно.
A-Gugu
Учитывая факт что комп i7-3820k/16gb ram, 32 bit там точно не было :)
SkifBG
Да кто же кроме Вас знает конфигурацию Вашего компьютера.
egik81
Я через виртуалку гоняю старенький сканер HP ScanJet 4470C.
SkifBG
Отличный пример! Расскажите пожалуйста подробнее.
omnied
openwrt + cups.opk+роутер_с_бсь не канает?
SkifBG

Ответ omnied на комментарий
openwrt + cups.opk+роутер_с_бсь не канает?


Загадками изъясняетесь. Кажется практики пока не подтянулись…
112307749819844711875@google
Отличная статья! Спасибо. Я по первой схема использую печать для canon lpb 810. Попробую вариант как предложил автор. Поделюсь впечатлениями. Спасибо за статью ещё раз :)
SkifBG
Рад помочь, думаю у Вас все получится.
112307749819844711875@google
Да получилось. Быстрее настраивать и удобнее. И очень удобно, что виртуальную машину можно свернуть в трей.
SkifBG

Ответ 112307749819844711875@google на комментарий
Да получилось. Быстрее настраивать и удобнее. И очень удобно, что виртуальную машину можно свернуть в трей.


А ошибка у Вас выскакивает? VBoxHeadlessTray не может найти Log файл?
sesubot

Ответ egik81 на комментарий
Я через виртуалку гоняю старенький сканер HP ScanJet 4470C.


Прожка есть VueScan 9, можно через нее гонять, а то через виртуалку неудобно.
PAIIITET
сделал на вин10 x64 работает.
но есть косяк, альбомные листы печатает как портретные с обрезкой справа
SkifBG

Ответ PAIIITET на комментарий
сделал на вин10 x64 работает.
но есть косяк, альбомные листы печатает как портретные с обрезкой справа


А ошибка у Вас выскакивает? VBoxHeadlessTray не может найти Log файл? Проверить «косяк» не могу сейчас, настраивал компьютер не для себя, отдал в пользование уже давно.
PAIIITET
нет, все чисто без всяких ошибок
100001795313048@facebook
Проблем с печатью альбомных листов нет, переворачивает как надо и печатает без обрезки.
100001795313048@facebook
Все заработало.
Была заминка, Windows 10 Pro, не хотела видеть принтерную шару на Windows XP Pro
Пришлось исключить Гостя из запрещенных ко входу на Windows XP Pro:
Ошибка «При попытке подключиться к компьютеру или сетевому принтеру появляется ошибка: выбранный режим входа для данного пользователя на этом компьютере не предусмотрен».
Для устранения ошибки заходим:
Панель управления\Все элементы панели управления\Администрирование —
Локальные политики — Назначение прав пользователя — Отказать в доступе к этому компьютеру из сети — Удаляем из списка учетную запись «Гость».
SkifBG
Спасибо, что проверили этот способ печати!
SkifBG
Не могу понять куда делся блог «Принтеры» или как он назывался? Попадаю в статью только по прямой ссылке.
SkifBG
Нашел как назывался блог — Принтеры, сканеры и прочее. Но в списке блогов теперь такого нет!
102120453753105398689@google
тоже искал метод печати из под винды семерки 7\64. тоже настроил хр моде. можно конечно через виртуалку. но опять же как то с костылями… у меня жена спрашивает что ты сдела! так было хорошо! сразу на печать! а теперь она без меня ничего напечать не может. сперва сохранить документ (иногда бывает что сам документ даже и не нужен-его нужно просто распечать и все!) потом запустить саму виртуалку- найти сохраненый файл и только потом его распечатать. иногда нужно подкорректировать еще во время печати… короче лишние телодвижения. решил установить драйвер от xerox. установился и даже пытался напечатать пробную страницу. но выходила ошибка и он бесконечно пытался ее распечатать. устанавливать русскую версию драйвера Phaser_6000_Win7_Vista_XP_x64_Russian.exe. кто знаечт может есть какой вариант подсунуть драйвер другой чтобы заработало?
SkifBG
Все возможные варианты упомянуты в этой статье. Драйверов под 64 разрядные системы Windows нет. Вы читали статью? Описанный здесь метод для пользователя совершенно прозрачен. Ваша супруга никогда не догадается, что работает виртуальная машина.
Последний раз редактировалось

Добавить комментарий