Печатаем на любом старом принтере (например, 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 файл, но закрыв это окно все продолжает работать хорошо.
194 комментария
Добавить комментарий
Можно подумать, что это избавит от необходимости иметь работающий драйвер для Windows x64.
Ответ egik81 на комментарий
Прожка есть VueScan 9, можно через нее гонять, а то через виртуалку неудобно.
но есть косяк, альбомные листы печатает как портретные с обрезкой справа
Была заминка, Windows 10 Pro, не хотела видеть принтерную шару на Windows XP Pro
Пришлось исключить Гостя из запрещенных ко входу на Windows XP Pro:
Ошибка «При попытке подключиться к компьютеру или сетевому принтеру появляется ошибка: выбранный режим входа для данного пользователя на этом компьютере не предусмотрен».
Для устранения ошибки заходим:
Панель управления\Все элементы панели управления\Администрирование —
Локальные политики — Назначение прав пользователя — Отказать в доступе к этому компьютеру из сети — Удаляем из списка учетную запись «Гость».
Виртуальной ХР дал 256МБ. Обойдётся и этим.
Все красивости и ненужности из ХР убрал.
Автору спасибо!
теперь я свой LBP 1120 никому не отдам!
Отдельное спасибо за подачу материала (в частности — сравнительная схема установки ПО)!
И вот что интересно. Я на Линукс всей семьёй перешёл уже лет 10 или более, конкретно на ubuntu. Помню тоже маялся с драйверами для него сначала, а потом что-то произошло и canon, что-то там открыл и под Линукс с тех пор всё работает с пол пинка, просто по умолчанию, без бубнов. Уже много лет тишина и спокойствие с этим. И вот я попал на эту статью.
Спасибо автору и комментирующим.
https://www.toptensoftware.com/vboxheadlesstray/
Одна проблема: не допечатывает низ листа, примерно 0.5-1 см, что пдф, что ворд. Пробовал перекидывать на виртуалку документ, установить Adobe Reader и печатать с неё. Проблема та же. Что может быть?
Да, с полями всё нормально. Распечатал просто рамку для курсового, снизу не хватает примерно 2 см, по краям и сверху всё нормально.
На другой винде с тем же принтером и те же документы печатали нормально. Поставил десятку и теперь вот проблемы с принтером.
Как выложить сюда «эту «больную» страницу»? )
Объясню: в ворде в рамке в таблице, где основная надпись, просто не пропечатываются нижние три строки.
В pdf тоже нижние 2-3 строки просто не пропечатывает, бывает половина строки есть а остального нет.
https://ibb.co/FhDyDn2
https://ibb.co/2y4K41z
https://ibb.co/jymcyYQ
Рамка в Ворде, текст в ПДФ
И ещё смещение влево, слева у рамки вместо положенных 2см всего 1,5см, а справа наоборот отступ больше.
Вычитал, что в виртульной машине в WordPad в параметрах страницы поля нужно уменьшить до нуля. Сделал — не помогло.
И ещё одна проблема нарисовалась:
https://ibb.co/Vm2Q7Xg
https://ibb.co/0Kg3Sjq
Раньше этот документ на этом же компьютере с XP печатался нормально с этим же принтером.(((
https://ibb.co/FhDyDn2
https://ibb.co/2y4K41z
https://ibb.co/jymcyYQ
Рамка в Ворде, текст в ПДФ
И ещё смещение влево, слева у рамки вместо положенных 2см всего 1,5см, а справа наоборот отступ больше.
Вычитал, что в виртульной машине в WordPad в параметрах страницы поля нужно уменьшить до нуля. Сделал — не помогло.
И ещё одна проблема нарисовалась:
https://ibb.co/Vm2Q7Xg
https://ibb.co/0Kg3Sjq
Раньше этот документ на этом же компьютере с XP печатался нормально с этим же принтером.(((
Нет, так и не нормализовалось, печатает не полностью.
Не могу сюда вставить ссылки с Яндекс диска, выдаёт ошибку: «В комментарии содержатся запрещённые слова»
Может отправить Вам файлы на почту?
«https://yadi.sk/i/K_nDdNqPhqWZ7Q»
«https://yadi.sk/i/JLKFZaPg8oOd8A»
«https://yadi.sk/i/iIw9TWI4xbkkSw»
«https://yadi.sk/i/wxh7uQ43FX2Wgw»
Всё, вставил, только после того, как заключил ссылки в кавычки.
Ответ SkifBG на комментарий
Сегодня замерил поле снизу, которое не пропечатывается — 2,5 см от края страницы.
PDFCreator стоит на отдельном компе(старенький мини-пс), без монитора и время от времени PDFCreator запрашивает обновления и ессно не печатает пока не нажму отказаться.
Вроде нашел в реестре настройку для проверки обновлений.
Вот, можно такой файл реестра создать и при применить.
-----------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\PDFCreator\Program]
«DisableUpdateCheck»=«1»
-----------------------------------------------------------------------------
Это может быть из-за того, что я подключён к интернету через wi-fi на ноутбуке?
Описал все свои шаги тут:
Win10x64 + Win7x32 + Canon Laser Shot LBP-1120
https://docs.google.com/document/d/1m6QfAYerVg9g55eeGq_B6c3-PWXy6LJySCtdsC122GI/edit?usp=sharing
Устанавливаем gs864w32.exe в C:\gs
Разархивируем redmon в C:\gs\RedMon
Устанавливаем файл C:\gs\RedMon\setup.exe
куда вставлять в виртуалку или основу
Нажимаем Установить принтер
Локальный в виртуалке или основе
Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом\Дополнительные параметры общего доступа
Включаем все сетевые обнаружения и общие доступы во всех вкладках как для домашнего так и для общего
опять таки куда виртуалка или основа и там такого много
Прям большое человеческое спасибо!
Все четко, корректно и самое главное работает!!!
Время он потратил много и не зря, добро в мире увеличилось!
P.S. Позор кенону!
А вот связь через pdf creator отлично. фотки по 10мб печатает спокойно. Больше пока не подавал на него
Только не сразу начал печатать принтер. После выбора в параметрах «Выбрать принтер по умолчанию без взаимодействия с пользователем», печать не начиналась. При открытии «монитора печати PDF Creator» документ несколько раз загружался в мониторе и зависал. В «Принтеры и факсы» установил по умолчанию принтер Canon Laser Shot LBP 1120. После отправки документа на печать ничего не происходило. При открытии «Монитора печати PDF Creator» сразу начинается печать. Интересно как-то.
Теперь мои действия такие: запускаю виртуалку, сразу открываю «Монитор печати PDF Creator», всё это дело сворачиваю(виртуалку), и в Win10 спокойно печатаю документы, пропечатывается всё полностью.
Может кому поможет.
Инструкция очень подробная, для чайников подходит, справится любой. А можете создать такую же инструкцию по настройке сети и как расшаривать принтеры и т.д. Я тыкался, мыкался, но так и не понял почему не работает, как расшарить принтер и тд. Даже научился попутно пинговать систему и пару раз она пинговалась, но нигде ничего не появляется во вкладках сети. Никаких принтеров. При этом могу печатать из виртуалки на Canon lbp-810 вручную, всё работает.
В общем не понятно какую именно сеть делать в виртуальной машине, где ещё какие настройки надо применить на хосте и на госте и т.п.
Делаю аппаратный принт-сервер, в рамках проекта написал драйвер для LBP-1120 и 810. Могу портировать под Windows, но бесплатно этим заниматься желания нет — не пользуюсь Windows и не знаю, как там устроена подсистема печати.
Мой существующий код можно попробовать адаптировать и использовать через костыли без подписи драйвера (со стандартным драйвером PWG Raster через TCP), но это тоже так себе решение.
Пусть нижняя планка будет хотя бы в $400, чтобы окупить покупку сертификата. Если найдётся 20-30 человек, можно сделать.
А если не найдётся — есть аппаратный принт-сервер http://uowprint.valdikss.org.ru
Я нуб, и не знаю критично ли это, но на основной машине перед началом работ воспользовался советом данном выше — «чем плох Canon Generic driver?» (это универсальный драйвер печати), скачанный и установленный мною который на WIN 7 64 разряда с печатью ничем разумеется мине не помог.
После установки универсального драйвера печати CANON основная система видит СanonCaptUSB printer в свойствах которого виден LBP 1120, но финт ушами как 32 разрядах на 64 увы не проходит.
Что делаем. На любой 32 разрядной системе поднятой на виртуалке (у меня WIN7, но можно и XP или даже WIN10 32) скачиваем драйвер LBP 1120. Принтер разумеется, у вас к компу уже подключен и определяется в проводнике принтеров виртуальной винды как «СanonCaptUSB printer».
Далее в том же окне проводника идем в «устройства и принтеры» — «добавить принтер» — открываем выпадающую вкладку где вместо порта LPT1 выбираем «порт виртуального принтера USB001» и попадаем в окно, где предлагают выбрать ту либо иную модель принтера.
Ничего не выбираем, а просто жмём кнопку «установить с диска», где вместо диска А: указываем путь в папку где лежит файл с драйвером LBP 120.
Драйвер тут же накатывается и вуаля! Принтер LBP 1120 появляется «устройствах и принтерах» как будто, установленный как родной, и соответственно становится по умолчанию во все программы. Остается только скачать, например ПДФ креатор, какой нибудь Опен Офис или даже тот Самый Офис, настроить общую папку обмена между основной и виртуальной виндой, и печатай себе на здоровье.
Как то вот так.
проблема. подключил струйник epson l110 (тренируюсь на кошках, вирт.машину потом отнесу на рабочее место, там принтер другой). отправляет на печать очень быстро, как на родной принтер, но текст/картинка не влезает в лист, правая сторона информации уходит за поля. как будто масштаб завышает.
глянул файлы пдф, которые создаются в нашей папке tmp — они ровные, вписаны в а4. в очереди печати физ.принтера в вирт.машине перехватил задание от пдф-креатора, зашёл в свойства, там в настройке листа =letter. видимо, пдф-креатор неверный масштаб задаёт. но даже если в настройках принтера поставлю принудительное вписывание в а4, то не помогает. что подскажете?
Добавить комментарий