Як я імітую паралельний (LPT) принтер за допомогою принтера USB?


18

У мене є застаріле програмне забезпечення, яке друкує тільки на принтерах, підключених через порт LPT. Однак машина, яку мені потрібно використовувати, не має паралельного порту. Плюс мій принтер - це USB-пристрій.

Як змусити комп'ютер думати, що мій usb-принтер підключений до порту lpt?

Далі, це для офісу. У мене будуть права адміністратора під час здійснення розробки, але я знімаю рішення, яке працює, поки "звичайний" користувач реєструється після того, як все налаштовано.


1
Я думаю, ви маєте на увазі порт LPT , а не порт LTP. LPT означає «Термінал друку ліній» і є синонімом «паралельного», коли йдеться про порти принтера. Цікаво, що є тег LTP. Чи можна це змінити? А може, мені чогось не вистачає.
boot13

@ boot13, ти прав.
Дейн О'Коннор

Відповіді:


21

Ви можете обдурити Windows, використовуючи принтер USB як фіктивний "мережевий" принтер, підключений до LPT1.

Поділіться USB-принтером

Використовуйте легко запам’ятовувати загальну назву, наприклад, «Принтер».

Підключіть спільний принтер як LPT1

NET USE LPT1: \\[Computer-Name]\Printer /PERSISTENT:YES

5
Вам не потрібно возитися з адаптером Loopback. Просто встановіть принтер як звичайно за допомогою USB-з'єднання. Потім поділіться цим. Потім використовуйте NET USE, як зазначено вище.
Алан Б

+1 для NET USEтрюку "Поділитися та ", хоча адаптер петлі не потрібен. Варто зазначити, що якщо користувач не має пароля в своєму акаунті, вам потрібно змінити локальну політику безпеки (або відповідний ключ реєстру), щоб зробити цю роботу.
afrazier

Мені вдалося зробити всі кроки, але якщо на моєму ПК немає паралельного порту, коли я використовую, net use LPT2 \\Computer-9313\Parallel /PERSISTENT:YESя отримую, The command completed succesfullyале я не бачу LPT2 на апаратних пристроях, тому не знаю його адреси.
Андрес

1
@Andres Ви забули ввести крапку з комою після LPT2, як вище?
phuclv

1
Це двокрапка, а не крапка з комою (; vs:)
Ian Macintosh

5

Використання USB-паралельного адаптера не має сенсу. Тут ми говоримо про використання дуже старого застарілого програмного забезпечення на апаратних засобах, що мають лише USB-з'єднання. У моєму випадку принтер етикеток ZEBRA.

Рішення в моєму випадку було.

  1. Встановіть USB-принтер разом із його драйверами (лише щоб знайти, до якого USB-порту підключено)
  2. Змініть порт драйвера на FILE (і звільніть порт USB)
  3. Встановіть загальний / текстовий драйвер і змініть порт на той самий логічний порт USB, що і в пункті 1
  4. Діліться принтером із загальним / текстовим текстом, щоб зробити його видимим у VBA
  5. Встановіть адаптер Microsoft Loopback на фіксовану невикористану IP-адресу (інакше принтер не буде видно при відключенні кабелю)
  6. Призначте LPTx: порт, як було пояснено раніше командним рядком (це для кожного SW, який потребує старого LPT)

За допомогою кількох рядків коду ви зможете надіслати ASCII-коди на принтер, як це було раніше.

Тепер ви можете легко друкувати в VBA (тестується на 64-бітному Windows 7 та принтері Zebra ZM400)

Open "\\Kb\ZM400" For Output As #1       'Kb = computer Name; ZM400 = Shared printer name
For rows = 1 To 37 ' send the first 37 rows of ASCII codes from the worksheet "STRINGS"
    Print #1, Worksheets("STRINGS").Cells(rows, 1).Value
Next
Close #1

2

Можливо, перевірте WinPrint :

Бере стандартний вихід принтера, створений програмою DOS, і пересилає його на принтер Windows за замовчуванням. Перетворює кодову сторінку, знімає порожні сторінки, підтримує графіки BOX DRAWINGS. Працює на всіх платформах Windows.


2

Використовуйте програму друку DOS для маніпулювання наявними портами на потрібних пристроях. Ви можете завантажити його за цим посиланням https://www.dropbox.com/s/gdx05sckmbqnast/dosprint.exe?dl=0 (dos Print)

https://www.dropbox.com/s/alf6hdd5fctepmo/dosprintui.exe?dl=0 (dos Print UI)

Спочатку запустіть dosprint та dosprintui як адміністратор, після цього двічі клацніть на значку лотка dosprintui, ви зможете отримати список доступних портів для картографування, потім двічі клацніть на lpt1 або в кнопці встановлення та виберіть потрібний принтер для відображення на ньому та натисніть на добре. BINGO тепер ви можете надрукувати на порт LPT1, і ваш USB-принтер буде друкувати це для вас.


2

Програми DOS досі застосовуються у світі бізнесу. Поради щодо того, як змусити їх працювати належним чином на сучасній обчислювальній платформі, поширені в Інтернеті. Ось що для мене спрацювало.

16-бітна програма DOS, яка нам потрібна для роботи з резидентами на 32-бітному сервері Windows 2003, який незабаром буде видалений. До цього часу доля програми відображається на двох 32-бітних клієнтських машинах з основного домену з груповою політикою. Ярлик до файлу .cmd, який запускає програму, розміщується вручну на клієнтах, також на первинному домені. Програма добре працює на Windows 8.1. Якийсь компроміс, щоб бути впевненим, але машини будуть модернізовані до 64-розрядної Windows 8.1, коли програма DOS, яка працює від другого домену, буде звільнена.

Друк з програми представляє найбільшу проблему. Для цієї програми використовуються два різних паралельних принтера, але програма друкується лише на одному порту, і немає можливості змінити цю поведінку. Потрібно роздрукувати чек на лазерному принтері? Його потрібно приєднати до порту LPT1. Потрібно надрукувати дамп даних на матричному принтері? Його також потрібно приєднати до порту LPT1. Двоє людей щодня працюють з цією програмою, тому ми будемо використовувати їх комп’ютери, по одному для кожного принтера. Давайте встановимо перший принтер:

  • Якщо на комп'ютері є фізичний порт DB-25 (паралельний), ви можете відключити його в BIOS. Windows 8.1 не підтримуватиме його і нам це не потрібно.

  • Для підключення принтера до комп'ютера використовується модель кабелів, що рухається кабелем 16899 USB до DB25, паралельний принтер. Адаптер встановлюється автоматично і не розпізнається як паралельний пристрій або порт LPT.

  • Тепер відкрийте Пристрої та принтери. Клацніть Додати принтер і виберіть потрібний принтер у списку. У наступному діалозі виберіть Додати локальний принтер або мережевий принтер з ручними налаштуваннями, а при наступному діалозі - Використовуйте існуючий порт. Виберіть зі списку віртуальний порт принтера для USB, або USB001, або USB002, а не параметри порту LPT.

  • Перший принтер - багатомодовий матричний принтер Panasonic KX-P1191. Принтер не вказаний у діалоговому вікні, у якому запитується драйвер, і оновлення списку натисканням кнопки "Оновлення Windows" не допоможе. Перевірка веб-сайту підтримки Panasonic вказує, що принтер повністю не підтримується, але фахівець з технічної підтримки Panasonic допоміг розгадати сліди, які призвели до драйвера Epson FX Series 1 (80), включеного до Windows 8.1. Це прекрасно працює.

Тепер принтер встановлений. Але він знаходиться на порту USB001 і програма буде друкувати тільки на порт LPT1. Рішення є досить простим і може бути інтегровано прямо в пакетний файл, який використовується для запуску програми. Давайте прийдемо в стару школу і пограємо на нашому принтері: ми поділимось нею та надрукуємо на LPT1 таким чином.

  • Клацніть правою кнопкою миші принтер і виберіть "Властивості". Поділіться принтером, не перелічіть його в каталозі, створіть коротке ім’я спільного доступу лише на добру оцінку, а потім переконайтеся, що користувач клієнтської машини вказаний у розділі Групи чи імені користувача на вкладці Безпека.

  • Двоє людей, які будуть друкувати ці принтери, створюють мою зарплату, тому я надав їм права адміністратора домену. Це може бути зайвим. Обидва є користувачами на первинному домені, але не другорядному, і я не хотів витрачати час на усунення проблеми з дозволами.

Тепер змініть пакетний файл і використовуйте добре задокументовану команду net use для реалізації рішення друку:

@echo off
::delete the printer
net use lpt1 /delete
::add the printer
net use lpt1 \\\COMPUTER\PRINTER /persistent:yes
::fire up the nasty ol' DOS program
<existing syntax used to start the program>

Там, де КОМП'ЮТЕР - ім’я комп'ютера, а ПРИНТЕР - ім'я спільного доступу принтера. Процедура однаково добре працювала на другому комп’ютері для принтера HP LaserJet 1100 за допомогою драйвера HP LaserJet 1100 (MS), який постачається разом із Windows 8.1.

- ПРИМІТКИ -

Помилка системи 5:

Переконайтеся, що користувач вказаний у вкладці безпеки. "Кожен" може бути видалений. Чи потрібні користувачеві права користування доменом? Можливо, ні, якщо все працює з одного домену.

Помилка системи 66:

Перевірте свій синтаксис. Ви, мабуть, неправильно написали ім’я комп’ютера, принтера чи, можливо, пропустили двокрапку? По документації Microsoft потрібна лише одна двокрапка. Чи додасть непотрібну двокрапку в lpt1 [:], спричинить збій?

Все про мережеве використання: https://technet.microsoft.com/en-us/library/bb490717.aspx


0

На ринку є безліч "паралельних адаптерам usb". Ви можете дістати одного в Інтернеті приблизно за 10 доларів, і це, мабуть, хороше місце для початку.


Проблема не полягає в підключенні принтера до комп'ютера - він підключений. Проблема полягає в тому, щоб USB-принтер діяв так, ніби він підключений до порту LTP (віртуального порту LTP).
Дейн О'Коннор

Але у нього немає паралельного порту, і він має USB-принтер.
Девід каже повернути Моніку

0

Ви ще не сказали, яким обладнанням ви користуєтесь, але припустивши, що це ПК Wintel, ви повинні мати можливість придбати загальну для нього паралельну карту портів майже нічого. Крім цього, ви можете перенаправити його за допомогою NET USE, як це запропонував harrymc.


0

Я був у такому самому становищі з програмним забезпеченням, заснованим на бізнес Clipper. Подивився на якесь паралельне програмне забезпечення для емуляції для друку на USB-принтер, який дещо працював, але мав свої проблеми. Подолання 64-бітного win10 без дос-проблем було справжньою проблемою.

Я знайшов Harbor HMG, який, змінивши кілька рядків коду, перекомпілював програмне забезпечення на 32 біти. У мене також є додатки, які записують дані в тимчасові файли, які я захоплюю за допомогою Microsoft Access, щоб видавати чудові відформатовані звіти. Ой, BTW. Зараз додатки працюють у 64-бітових Windows 10 із значними поліпшеннями пам’яті та швидкості. Крім того, у мене є звіти, надіслані до лінійних принтерів або струменевих струменевих принтерів або будь-якого іншого.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.