3

Что мне нужно , чтобы отправить PDF документ непосредственно на принтер удаленной сети, без каких - либо изменений, as it is используя кнопку Print

В Ubuntu я просто использую драйвер Generic / Raw Queue , и все в порядке.

Проблема с Windows 10 заключается в том, что я не могу найти драйвер Generic / Raw Queue , здесь только драйвер Generic / Text only , и он не может распечатать PDF.

Я пытался использовать Microsoft / PDF to file драйвера, но он меняет PDF (меняет структуру PDF, он заменяет все на 1 изображение, которое мне не нужно).

Любые советы? Или, может быть, кто-то может отправить мне драйвер, который не изменит файл и просто отправит его?

3 ответа3

4

Если ваш принтер распознает PDF напрямую (большинству принтеров требуется какая-либо утилита), вы можете попробовать отправить его на принтер с помощью следующей команды:

LPR -S адрес_принтера_P принтера -P имя_последовательности_файла.PDF

Параметр queue_name зависит от принтера. Вы можете попробовать PDF или RAW. Если они не работают, вам нужно поискать документацию к принтеру.

Вот удобное решение, если вы не хотите вводить команды. Используйте Блокнот, чтобы создать файл, содержащий команду

LPR -S printer_IP_address -P queue_name% 1%

Назовите этот файл PrintPDF.bat и поместите его (или ссылку на него) на рабочий стол. Из проводника Windows вы можете перетащить PDF-файл на этот значок, и он будет отправлен на принтер.

0

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

Для большинства приложений это невозможно с помощью кнопки "Печать", потому что приложение, которое вы используете, пытается установить соединение с драйвером принтера, который не является необработанным, тогда как вы явно хотите обойти эти возможности. Вместо этого вы должны отправить необработанный поток непосредственно на принтер. Чтобы добиться этого в Windows (БЕЗ использования кнопки печати)

  1. Поделитесь принтером в сети.
  2. Из cmd (или PowerShell и т.д.): echo sample.pdf > \\computer\printer

Или из языка программирования, такого как JScript:

"use strict";
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile("sample.pdf", "\\\\computer\\printer", true);

Заставить приложение вести себя таким образом не будет обычным делом. Большинство приложений, способных открывать и отображать PDF, не смогут обойти драйвер. Это только по соглашению. Базовые языки (например, C++, Java) имеют методы для обработки необработанных данных, просто это не то, что обычно ассоциируется с кнопкой "Печать", которую вы описываете.

В Ubuntu я просто использую Generic / Raw Queue driver , и все в порядке.

Какое приложение в операционной системе Ubuntu позволяет это? Вообще говоря, CUPS будет использовать Ghostscript и будет переведен аналогично драйверу Microsoft PDF. Я бы оспорил утверждение о том, что отправляемые данные PDF являются "неизмененными" в Ubuntu. Более вероятно, что это модифицировано, но что модифицированная версия просто более желательна. Если вы правы и поток байтов не изменен, это больше похоже на скрытую функцию CUPS, чем на проблему с WinSpool.

-1

Вот как настроить принтер LPR/LPD в Windows 10.

Установите компоненты Windows

  • Нажмите на кнопку Пуск, затем Панель управления
  • Нажмите « Программы и компоненты», затем нажмите «**». Включите или отключите функции Windows на левой боковой панели.
  • Разверните Службы печати и документов и убедитесь, что установлены флажки рядом с LPD Print Service и LPR Port Monitor.
  • Нажмите OK и следуйте инструкциям на экране, пока компоненты не будут установлены.

image1

Создать принтер

  • Начать расширенную настройку принтера
  • Нажмите Принтер, которого я хочу, нет в списке
  • Установите флажок Добавить локальный принтер или сетевой принтер с ручными настройками.
  • Нажмите Далее
  • Проверьте Создать новый порт
  • В раскрывающемся списке выберите « Стандартный порт TCP/IP».
  • Нажмите Далее
  • Введите IP-адрес
  • Снимите флажок Запросить принтер и автоматически выберите драйвер для использования
  • Нажмите Далее
  • Оставьте стандартную универсальную сетевую карту для типа устройства и нажмите Далее

image2

  • Выберите Generic для производителя и выберите Generic/Text Only для типа принтера, затем нажмите Next

image3

  • Введите имя принтера
  • Нажмите Готово, чтобы добавить принтер

источник

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .