Ручная двусторонняя печать для Mac (и / или Linux)

мои принтеры не поддерживают автоматическую двухстороннюю печать. Я ищу решение для своих компьютеров Mac и Linux, которое я видел с большинством драйверов принтеров Windows:

  • Проверьте "ручной дуплекс" на экране принтера
  • принтер начинает печатать с одной стороны
  • появится диалоговое окно с просьбой перевернуть страницы
  • принтер печатает другую сторону.

одна вещь, которую я могу сделать, это print odd pages, затем откройте диалоговое окно и print even pages, но это очень неудобно, особенно, когда я хочу напечатать только определенный диапазон страниц документа, поскольку диалоговое окно Mac каждый раз забывает мой предыдущий диапазон страниц. Это становится еще более неудобным, при двусторонней печати 2-up или при изменении дополнительных настроек для этой одной распечатки.

есть ли какой-нибудь инструмент, который может это сделать? Или, может быть, "виртуальный драйвер принтера", который может сидеть где-то между диалоговым окном и фактическим драйвером принтера, который управляет этими шаги? (Инструмент Windowshttp://en.wikipedia.org/wiki/FinePrint может сделать что-то подобное, но мне не нужны все его функции, и мне это нужно на Mac/Linux.)

или кто-то, может быть, знает трюк, как сделать диалог печати открытым, т. е. "печатать, но не закрывать"?

обновление

не похоже, что такой инструмент существует. Насколько сложно было бы реализовать что-то подобное? Где она должна быть интегрирована - как Драйвер принтера CUPS или в качестве крючка для действия печати диалогового окна? Может ли он работать кросс-платформенно или он должен быть специфичным для Mac/Linux?

может ли кто-нибудь с опытом программирования Mac/Linux/driver пролить свет на это?

решение

текущее решение:

создать скрипт Apple Automator:


действие: извлечь нечетные и четные страницы [все страницы в отдельных files]


действие: выполнить скрипт [пропуск ввода в качестве аргументов]

mv "" /tmp/odd.pdf
mv "" /tmp/even.pdf
lpr /tmp/odd.pdf

действие: запросить подтверждение ["пожалуйста, переверните страницы"]


действие: выполнить скрипт [пропуск ввода в качестве аргументов]

lpr /tmp/even.pdf

это еще не совершенны. предложения по улучшению и альтернативы приветствуются!

1
задан Arjan
19.04.2023 23:39 Количество просмотров материала 3448
Распечатать страницу

8 ответов

почти, но сигары нет все же: 4-й шаг получает только нечетные страницы с 1-го шага, а затем берет четные страницы из этого набора... В этом нет ничего хорошего. Я удалю это некоторое время спустя, если я не думаю о чем-то умном. (Первый шаг также может быть сделан, чтобы создать два файла сразу, но вам нужно диалоговое окно подтверждения. Может быть, есть какой-то "перезапуск" или параллельная обработка в Automator.


для Mac, Automator ваш друг:

  • Открыть Automator

  • выберите "Print Plugin" (Плагины печати-это рабочие процессы, доступные в диалоговом окне печати. Они принимают PDF-версии печатаемого документа. До версии 10.6 Snow Leopard этот выбор можно было получить только после сохранения рабочего процесса, а не при создании пустого рабочего процесса. Должно работать одинаково.)

  • перетащите в рабочий процесс на справа:

    1. "извлечь нечетные и четные страницы", и выберите"нечетные"

    2. "Элементы Поиска Печати"

    3. "запросить подтверждение", написать инструкцию

    4. "извлечь нечетные и четные страницы", и выберите "четные"

    5. "Элементы Поиска Печати"

  • сохранить. Это закончится в ~/Library/PDF Services/ и, следовательно, быть частью меню PDF в печать диалог.

enter image description here

Automator на помощь

enter image description here

меню " PDF "в диалоговом окне "печать"

когда общее количество страниц нечетное, вам придется немного поиграться с первой или последней страницей первого запуска. (Если бы вы поместили весь стек обратно в принтер, то последняя страница могла бы остаться в лотке для бумаги, когда закончите. Просто попробуйте настроить инструкции в шаге 3.)

3
отвечен Arjan 2023-04-21 07:27

на sourceforge есть проект под названием duplexpr, который может делать то, что вы хотите.

http://sourceforge.net/projects/duplexpr/

Я написал его давно и не мог вызвать никакого интереса к нему, поэтому я не обновил его. Если я могу получить активную базу пользователей > 0 или кого-то, кто заинтересован в ее разработке или тестировании, я снова буду работать над ней. У меня даже есть более новый код разработки, который имеет несколько дополнительных функций. Я играл вокруг с что делает его gui-включен, так что он может быть использован с рабочего стола без перехода к командной строке.

Это набор скриптов bash, эмулирующих дуплексную печать для недуплексных принтеров. Я использую его каждый день - уже много лет.

одна уникально характеристика что она позволяет печатанию серии two-sided поэтому вы можете напечатать несколько работ сразу verb и вы только должны слегка ударить и reinsert весь стог бумаги раз вместо раз для каждой работы.

текущая версия (on sourceforge) имеет несколько проблем. Во-первых, они изменили Баша. Чтобы заставить текущие скрипты работать (после их загрузки), первая строка каждого скрипта должна быть изменена с #!/ bin / sh to #!/ bin / bash

другая проблема-проблема дизайна. Принтеры различаются по способу работы с бумагой. Некоторые печатают страницы лицевой стороной вверх, а некоторые-лицевой стороной вниз. Это означает, что должно быть несколько алгоритмов двусторонней печати. duplexpr в настоящее время поддерживается только один алгоритм. Он отлично работает на принтерах, таких как HP Deskjet 720 и 895 (старый) и HP C4480 (новый). Он почти работает на моих HP Laserjets (1006 и 1020). На них все страницы печатаются правильно и в правильном порядке, но каждая страница должна быть перевернута вручную после завершения печати (они выходят 2/1, 4/3 ... вместо 1/2, 3/4).

проверить его и вернуться ко мне, если вы заинтересованы в его использовании. Вы можете отправить мне по электронной почте через страница проекта sourceforge (url выше).

еще несколько мыслей:

duplexpr не адреса печать диапазонов страниц. Это можно сделать с помощью параметров" печать в файл "и" диапазон страниц", доступных в большинстве диалоговых окон печати приложений.

после того, как у вас есть вывод в файле (по умолчанию (по крайней мере, для Linux) формат postscript), у вас есть несколько вариантов. Затем вы можете запустить его через duplexpr (который, кстати, обрабатывает нечетное число проблема страниц, упомянутых другими плакатами).

Если вы можете справиться с помощью интерфейса командной строки (CLI), то зо командной или ЛНР, какой бы вы не установили, имеет опции вы можете указать на нечетные страницы, даже страницы, и вы можете даже дать ему диапазоны страницы, если это необходимо. Если вам это не нравится, есть удивительная небольшая утилита gui под названием xpp, которая сделает все это и многое другое. Он даже позволит вам создать псевдоним для одного из существующих принтеров, которые будут печатать только четные или нечетные страницы. Я использую его все время, чтобы оправиться от замятия бумаги и нескольких подач страниц во время второго прохода дуплексной печати (вторые стороны), поэтому я могу закончить печать любых односторонних страниц, которые не были разбиты, не начиная с нуля.

с любым из этих ручных методов, если у вас есть нечетное количество страниц, вы можете просто отправить formfeed на принтер, чтобы извлечь последнюю страницу:

echo-n $ '\f' / lp

будет делать это, или вы можете создать файл с просто загрузите его и отправьте на lp. Это работает на каждом принтере, который я пробовал до сих пор.

в любом случае, это намного проще, чем помнить, чтобы не вставлять последнюю страницу и т. д.

HTH

Joe

3
отвечен Joe 2023-04-21 09:44
2
отвечен LoB 2023-04-21 12:01

в Вене "virtual printer driver", вы можете попробовать печать в Postscript или PDF из вашего приложения. Это особенно поможет при печати определенного диапазона или сложной 2-вверх нумерации страниц.

общая идея, "печать" из приложения с настройками, которые вы хотите (диапазоны страниц, страниц на листе, и т.д.), Но отправить вывод на PS/PDF. затем использовать стандартные ОС ПС типографии/PDF, чтобы справиться с фактической двусторонняя печать.

попеременно, работать два задания печати из приложения. Набор первой генерации на PS/PDF-файл вверх-разворот, и второй, чтобы создать второй и PS/PDF из перевернутой страницы. Затем дуплексирование уже сделано, и все, что вам нужно сделать, это распечатать первый файл, перевернуть страницы и поместить их обратно в лоток принтера, а затем распечатать второй файл.

Это, конечно, не самый красивый или удобный метод, но это должно быть выполнимо путем настраивать ваш поток операций -- отсутствие дополнительного требуемого программного обеспечения. (Я считаю, что в OSX встроена возможность печати в PDF; это довольно просто настроить в Linux, если она недоступна из коробки на вашем дистрибутиве.)

1
отвечен quack quixote 2023-04-21 14:18

Gnome Ручной Дуплекс - твой друг. Интерфейс'ified, виртуальный принтер, чашки совместимы...

1
отвечен Rick Richardson 2023-04-21 16:35

основываясь на комментариях здесь и на других форумах, я сделал какое-то слился решение, объединив функции Automator и Скрипты. Как я видел, такое решение еще не опубликовано, так что это может пригодиться.

единственный пакет, который вы должны сделать-это pdftk сервера, который можно загрузить из официальный сайт pdftk. Установив сервер pdftk вы установите только один пакет, который дает вам возможность редактировать PDF файлы с помощью shell scripts. Процитирую текст с официального сайта, о сервере pdftk:

после установки откройте терминал, введите pdftk и нажмите Return. Pdftk ответит, отобразив краткую информацию об использовании. Получите доступ к документации pdftk, запустив man pdftk.

этот установщик создает каталог на вашем Mac: / opt / pdflabs/pdftk/. Это будет содержать каталог bin, который содержит программа pdftk и каталог docs, который содержит полное руководство PDFtk.

С pdftk мы сможем извлекать нечетные и четные страницы pdf (что очень быстро, по сравнению с встроенным экстрактором Automator), переупорядочивать и поворачивать страницы. Переупорядочивание и поворот удобно использовать в зависимости от используемого принтера: вам не нужно переупорядочивать страницы вручную между печатью четных и нечетных страниц. FYI: в моем примере я использовал принтер Samsung ML-2165W (если вы хотите понимание потока бумаги в принтере).

база происходит от Арьян верхний ответ:

  • Открыть Automator
  • Выберите "Print Plugin" (As Arjan писал: "... модули печати принимают PDF-версии печатаемого документа ..." это означает, что первый элемент (вы перетащите в рабочий процесс) вход будет PDF)
  • перетащите следующие элементы:

    1. установить значение переменной. В раскрывающемся меню выберите путь.
    2. Выполнить Скрипт: это та часть, где мы реализуем pdftk.

      source ~/.bash_profile
      
      while read -r p; do
          pdftk A="$p" cat Aodd output /tmp/odd.pdf
      done
      
      lpr /tmp/odd.pdf
      

      пояснение: выбор .bash_profile необходим, потому что elsehow pdftk команда не будет доступна. В то время как цикл на основе страницу Man pdftk: все вы должны знать, что он извлекает нечетные страницы входного pdf в нечетные.pdf, который будет помещен в /tmp. После Одда.pdf генерируется, мы напечатаем его с настройками по умолчанию, используя команду LPR shell.

    3. запрашивать подтверждение: Введите текст инструкции. важно: при использовании этого рабочего процесса, вы должны ждать, пока процесс печати нечетных страниц не будут завершены, а затем положить страницы обратно в лоток ввода, а затем вы можете нажать ok. Elsehow, в предстоящий сценарий оболочки (который также включает в себя печать, очевидно) будет выполнен до того, как вы сможете вернуть документы.

    4. получить значение переменной. Присвойте переменной значение Path. Это сложная часть: в раскрывающемся меню "Параметры" выберите игнорировать ввод этого действия. Это вернет вам путь исходного PDF-файла, поэтому вы не будете извлекать только что извлеченные нечетные страницы (что было проблемой в комментариях выше.)

    5. Выполнить Скрипт: печатать четные страницы (в обратном порядке, а также в повернутой ориентации).

      source ~/.bash_profile
      
      while read -r p; do
          pdftk A="$p" cat Aeven output /tmp/even.pdf
          pdftk /tmp/even.pdf cat end-1 output /tmp/even_backwards.pdf
          lpr -o orientation-requested=6 /tmp/even_backwards.pdf
      done
      

      пояснение: после извлечения четных страниц из исходного PDF-файла использование параметра end-1 с pdftk дает нам обратный PDF. Вращение будет производиться с использованием параметров команды lpr (я попытался повернуть его с помощью pdftk, который прошел гладко, но somewhy с помощью команды lpr с начальными параметрами повернул, что pdf назад, я думаю, из-за настроек принтера). - o ориентация-запрошено=6 дает нам поворот на 180 градусов (Подробнее см. man lpr).

этот снимок экрана суммирует весь рабочий процесс.

enter image description here

1
отвечен borosdenes 2023-04-21 18:52

во-первых, откройте принтер и найдите значок, указывающий, как загружать фирменную бумагу. Если он загружен лицевой стороной вверх, то используйте следующий скрипт:

#!/bin/sh

if [ "" = "--help" ]; then
  echo '
twosidedu - print a PDF document two-sided, using a single-sided printer 
that needs letterhead paper loaded face up.

USAGE:   twosidedu foo.pdf

The even numbered pages will be printed in reverse order.  When
prompted, re-insert the pages with printed side down and the top edge
according to the icon, and type <enter>.  Then, the odd-numbered pages
will be printed in normal order.'
  exit 0
fi

pdftk "" cat end-1even output - | lp
read -p "please re-insert the pages into the printer then hit <enter>" junk
pdftk "" cat 1-endodd output - | lp 

в противном случае, используйте этот скрипт:

#!/bin/sh

if [ "" = "--help" ]; then
  echo '
twosidedd - print a PDF document two-sided, using a single-sided printer
that needs letterhead paper loaded face down.

USAGE:   twosidedd foo.pdf

The even numbered pages will be printed in normal order.  When
prompted, re-insert the pages with printed side up and the top edge
according to the icon, and type <enter>.  Then, the odd-numbered pages
will be printed in normal order.'
  exit 0
fi

pdftk "" cat 1-endeven output - | lp
read -p "please re-insert the pages into the printer then hit <enter>" junk
pdftk "" cat 1-endodd output - | lp 
0
отвечен Jim Van Zandt 2023-04-21 21:09

HP для двусторонней печати по. Я просто использовал его, он работает легко и прекрасно. Конечно, вам нужен принтер HP, который у меня есть.

-1
отвечен fkenna 2023-04-21 23:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

cups
duplex
linux
macos
printer
Вверх