Impressão duplex manual para Mac (e / ou Linux)

7

As minhas impressoras não suportam impressão duplex automática. Estou procurando uma solução para meus computadores Mac e Linux que já vi na maioria dos drivers de impressora do Windows:

  • Marque "Duplex manual" na tela da impressora
  • A impressora começa a imprimir um lado
  • Uma caixa de diálogo aparece, pedindo para eu virar as páginas
  • A impressora imprime o outro lado.

Uma coisa que posso fazer é print odd pages e, em seguida, reabrir a caixa de diálogo e print even pages , mas isso é muito inconveniente, especialmente quando só desejo imprimir um determinado intervalo de páginas do documento como o diálogo do Mac esquece meu intervalo de página anterior todas as vezes. Fica ainda mais inconveniente, ao imprimir em frente e verso, ou ao alterar configurações adicionais para essa impressão.

Existe alguma ferramenta que pode fazer isso? Ou talvez um "driver de impressora virtual" que pode ficar em algum lugar entre a caixa de diálogo e o driver de impressora real, que gerencia essas etapas? (A ferramenta do Windows link pode fazer algo assim, mas eu não preciso de todos os seus recursos, e eu preciso disso no Mac / Linux.)

Ou alguém talvez conheça um truque, como manter a caixa de diálogo de impressão aberta, ou seja, "Imprimir, mas não fechar"?

Atualizar

Não parece, como se uma ferramenta como essa existisse ainda. Quão difícil seria implementar algo assim? Onde ele precisaria ser integrado - como um driver de impressora CUPS, ou como um gancho para a ação de impressão do diálogo? Poderia funcionar em plataforma cruzada ou teria que ser específico para Mac / Linux?

Alguém com experiência em programação para Mac / Linux / driver pode lançar uma luz sobre isso?

Solução

A solução atual:

Crie um script do Apple Automator:

Ação: Extrair Odd & Even Pages [Todas as páginas em arquivos separados]

Ação: Executar script da shell [passar entrada como argumentos]

mv "$1" /tmp/odd.pdf
mv "$2" /tmp/even.pdf
lpr /tmp/odd.pdf

Ação: Solicite Confirmação ["Por favor, vire as páginas"]

Ação: Executar script da shell [passar entrada como argumentos]

lpr /tmp/even.pdf

Ainda não é perfeito. Sugestões para melhorias e alternativas são muito bem vindas!

    
por Chris Lercher 23.03.2010 / 19:37

8 respostas

3

QUASE, mas sem charuto ainda: o 4º passo apenas pega as páginas ímpares do 1º passo, e então pega as páginas pares daquele conjunto ... Isso não é bom. Eu vou deletar isso algum tempo depois, a menos que eu pense em algo inteligente. (O primeiro passo também pode ser feito para criar dois arquivos imediatamente, mas você precisa do diálogo de confirmação. Talvez haja algum "restart" ou processamento paralelo no Automator.

Para um Mac, o Automator é seu amigo:

  • Abra o Automator

  • Selecione "Plug-in de impressão" (os plug-ins de impressão são fluxos de trabalho disponíveis na caixa de diálogo de impressão. Eles aceitam versões em PDF do documento que está sendo impresso. Antes do Snow Leopard 10.6, você pode não ter essa opção até prestes a salvar seu fluxo de trabalho, em vez de criar um fluxo de trabalho vazio. Deve funcionar da mesma forma.)

  • Arraste os seguintes itens para o fluxo de trabalho à direita:

    1. "Extrair páginas ímpares e pares" e selecione "Ímpar"

    2. "Itens do Finder de impressão"

    3. "Solicite confirmação", escreva algumas instruções

    4. "Extrair páginas pares e ímpares" e selecione "Par"

    5. "Itens do Finder de impressão"

  • Salve. Ele será exibido em ~/Library/PDF Services/ e, portanto, fará parte do menu PDF na caixa de diálogo Imprimir.


Automatorparaoresgate


Menu PDF na caixa de diálogo Imprimir

Quando o total de páginas é ímpar, você terá que mexer um pouco com a primeira ou a última página da primeira execução. (Se você colocar toda a pilha de volta na impressora, a última página pode ser deixada na bandeja de papel quando terminar. Tente ajustar as instruções na etapa 3.)

    
por 01.04.2010 / 19:34
3

Existe um projeto no sourceforge chamado duplexpr que pode fazer o que você quiser.

link

Eu escrevi há muito tempo e não pude gerar nenhum interesse nele, então não o atualizei. Se eu conseguir uma base de usuários ativa de > 0, ou alguém interessado em ajudar a desenvolver ou testar, vou trabalhar nisso de novo. Eu até tenho um código de desenvolvimento mais novo que possui alguns recursos adicionais. Eu também estou brincando com a habilidade de guiá-lo para que ele possa ser usado na área de trabalho sem ir para a linha de comando.

É um conjunto de scripts bash que emulam a impressão duplex para impressoras não duplex. Eu usei todos os dias - há muitos anos.

Uma característica única é permitir a impressão em frente e verso em lote, para que você possa imprimir vários trabalhos de uma só vez e só precisa inverter e reinserir toda a pilha de papel uma vez para cada trabalho.

A versão atual (no sourceforge) tem alguns problemas. A primeira é que eles mudaram de festa. Para que os scripts atuais funcionem (depois de baixá-los), a primeira linha de cada script deve ser alterada de #! / Bin / sh para #! / Bin / bash

O outro problema é um problema de design. Impressoras variam em como eles lidam com papel. Alguns colocam páginas com o lado impresso voltado para cima e outras com o lado impresso voltado para baixo, etc. Isso significa que deve haver mais de um algoritmo de impressão duplex. O duplexpr atualmente suporta apenas um algoritmo. Funciona perfeitamente em impressoras como a HP Deskjet 720 e 895 (antiga) e a HP C4480 (mais recente). Quase funciona nas minhas HP Laserjets (1006 e 1020). Nessas, todas as páginas impressas estão corretas e na ordem correta, mas cada página precisa ser virada manualmente depois que o trabalho terminar de imprimir (elas são exibidas em 2/1, 4/3 ... em vez de 1/2 3/4).

Dê uma olhada e volte para mim se você estiver interessado em usá-lo. Você pode me enviar e-mail através da página do projeto sourceforge (url acima).

Mais alguns pensamentos:

O duplexpr realmente não aborda os intervalos de impressão de páginas. Você pode fazer isso usando as opções "imprimir para arquivo" e "intervalo de páginas" disponíveis na maioria das caixas de diálogo de impressão de aplicativos.

Uma vez que você tenha a saída em um arquivo (no formato postscript padrão (pelo menos para Linux)), você tem várias opções. Você pode então executá-lo através do duplexpr (que, a propósito, lida com o número ímpar de problemas de páginas mencionados por outros pôsteres).

Se você pode manipular usando a interface de linha de comando (cli), então o comando lp - ou lpr, o que você instalou, tem opções que você pode especificar apenas para páginas ímpares, páginas pares e até mesmo intervalos de páginas se necessário. Se isso não é do seu agrado, há um utilitário de gui pouco surpreendente chamado xpp que fará tudo isso e muito mais. Ele permite até criar um alias para uma das suas impressoras existentes, que imprimirá apenas páginas pares ou ímpares. Eu uso o tempo todo para recuperar de atolamentos de papel e alimentação de várias páginas durante a segunda passada da impressão duplex (os segundos lados) para que eu possa terminar a impressão de páginas unilaterais que não foram lixadas sem começar do zero.

Com qualquer um desses métodos manuais, se você tiver um número ímpar de páginas, basta enviar um formfeed para a impressora para ejetar a última página:

echo -n $ '\ f' | lp

vai fazer isso ou você pode criar um arquivo com apenas um formfeed nele e enviá-lo para lp. Isso funciona em todas as impressoras que tentei até agora.

De qualquer forma, é muito mais fácil do que lembrar de não reinserir a última página, etc.

HTH

Joe

    
por 12.05.2010 / 23:43
2

Veja Software de impressão frente e verso HP .

    
por 10.11.2011 / 22:10
1

Na veia "driver de impressora virtual", você pode tentar imprimir em Postscript ou PDF a partir do seu aplicativo. Isso ajudaria especialmente ao imprimir um determinado intervalo ou uma paginação complicada de 2 páginas.

A idéia geral é "imprimir" do aplicativo com as configurações desejadas (intervalos de páginas, páginas por folha, etc), mas enviar a saída para PS / PDF. Então use o recurso de impressão PS / PDF padrão do seu sistema operacional para lidar com a duplexação real.

Como alternativa, execute dois trabalhos de impressão a partir do aplicativo. Defina o primeiro para gerar um PS / PDF de suas páginas voltadas para cima e o segundo para gerar um segundo PS / PDF de suas páginas voltadas para baixo. Em seguida, o duplex já está pronto e tudo o que você precisa fazer é imprimir o primeiro arquivo, virar as páginas e colocá-las de volta na bandeja da impressora e imprimir o segundo arquivo.

Certamente não é o método mais bonito ou conveniente, mas deve ser possível ajustando seu fluxo de trabalho - não é necessário nenhum software adicional. (Acredito que no OSX o recurso de impressão em PDF está embutido; é bastante simples de configurar no Linux se não estiver disponível imediatamente em sua distribuição.)

    
por 25.03.2010 / 20:54
1

Duplex Manual do Gnome é seu amigo. Impressora virtual, GUI'ified, compatível com CUPS ...

    
por 30.05.2010 / 22:42
1

Com base nos comentários aqui e em outros fóruns, fiz algum tipo de solução mesclada, mesclando as funções do Automator e Shell Scripts . Como eu já vi, essa solução ainda não foi postada, então isso pode ser útil.

O único pacote que você precisa é o servidor pdftk , que pode ser baixado em site oficial do pdftk . Ao instalar o servidor pdftk, você instala apenas um único pacote que permite a você arquivos PDF com scripts de shell . Deixe-me citar algum texto do site oficial, sobre o servidor pdftk:

After installation, open a Terminal, type pdftk and press Return. Pdftk will respond by displaying brief usage information. Access pdftk documenation by running man pdftk.

This installer creates a directory on you Mac: /opt/pdflabs/pdftk/. This will contain a bin directory which holds the pdftk program and a docs directory which holds the complete PDFtk manual.

Com o pdftk, poderemos extrair o & páginas pares de um pdf (que é muito rápido, comparado com o extrator embutido do Automator), reordenam e giram páginas. A reordenação e a rotação são úteis com base na impressora que você está usando: não é necessário reorganizar as páginas manualmente entre a impressão de páginas ímpares e pares. FYI: No meu exemplo, usei uma impressora Samsung ML-2165W (no caso de você querer entender o fluxo de um papel dentro da impressora).

A base vem da resposta principal de Arjan :

  • Abra o Automator
  • Selecione "Plug-in de impressão" (Como Arjan escreveu antes: "... plugins de impressão aceitam versões em PDF do documento sendo impresso ..." que significa que o primeiro item (você arrasta para o fluxo de trabalho) ) entrada será esse PDF)
  • Arraste os seguintes itens:

    1. Definir valor da variável . No menu suspenso, selecione Caminho .
    2. Executar o Script da Shell : essa é a parte em que estamos implementando o pdftk.

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

      Explicação: o fornecimento do .bash_profile é necessário, porque o comando else pdftk não será acessível. O ciclo while é escrito com base na página man do pdftk: tudo que você precisa saber é que ele extrai as páginas ímpares do pdf de entrada em odd.pdf, que será colocado em / tmp. Depois que odd.pdf for gerado, nós o imprimiremos com as configurações padrão, usando o comando shell lpr.

    3. Pedir confirmação : Coloque em algum texto de instrução. IMPORTANTE: ao usar este fluxo de trabalho, você deve aguardar até que o processo de impressão das páginas ímpares seja concluído, depois colocar as páginas de volta na bandeja de entrada e, ENTÃO, pressionar OK. Em outras palavras, o próximo shell script (que também inclui a impressão obviamente) será executado antes que você possa colocar os papéis de volta.

    4. Obtenha o valor da variável . Definir variável para o caminho. Esta é a parte complicada: no menu suspenso de opções, selecione Ignore a entrada desta ação . Isso lhe devolve o caminho do PDF original, portanto você não extrairá as páginas ímpares extraídas apenas (o que foi um problema nos comentários acima).

    5. Executar o script da shell : imprimindo as páginas pares (em ordem inversa, assim como na orientação rotacionada).

      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
      

      Explicação: Depois de extrair as páginas pares do arquivo PDF de origem, usar o parâmetro end-1 com pdftk nos dá um PDF reverso. A rotação será feita usando os parâmetros do comando lpr (tentei girá-lo com o pdftk, o que ocorreu sem problemas, mas usando o comando lpr com parâmetros iniciais girou esse PDF de volta, acho que por causa das configurações da impressora). -o orientação solicitada = 6 nos dá uma rotação de 180 graus (para mais, veja man lpr).

Esta captura de tela resume todo o fluxo de trabalho.

    
por 31.05.2016 / 11:06
0

Primeiro, abra a impressora e localize o ícone que indica como colocar papel timbrado. Se for carregado com a face para cima, use este script:

#!/bin/sh

if [ "$1" = "--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 "$1" cat end-1even output - | lp
read -p "please re-insert the pages into the printer then hit <enter>" junk
pdftk "$1" cat 1-endodd output - | lp 

Caso contrário, use este script:

#!/bin/sh

if [ "$1" = "--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 "$1" cat 1-endeven output - | lp
read -p "please re-insert the pages into the printer then hit <enter>" junk
pdftk "$1" cat 1-endodd output - | lp 
    
por 15.07.2018 / 01:24
-1

Software de impressão frente e verso HP. Acabei de usá-lo, funciona de maneira fácil e perfeita. Claro, você precisa de uma impressora HP que eu tenho.

    
por 22.02.2015 / 21:41