Como enviar para imprimir (muitos) arquivos selecionados em um diretório em vez de um por um?

10

Estou usando o Ubuntu 12.04 e instalei com êxito minha impressora wi-fi, mas minha pergunta é: Como imprimir muitos arquivos de uma vez? Quero dizer, tenho muitos arquivos PDF ou de texto em uma pasta e quero enviá-los diretamente para a impressora, em vez de abrir um a um no visualizador de arquivos, imprimir e repetir todo o processo tantas vezes /:

Eu até não vejo a opção Imprimir ao clicar com o botão direito do mouse no arquivo ou no menu Arquivo.

Obrigado!

Oscar
fonte

Respostas:

4

Crie o arquivo: ~ / .local / share / applications / print.desktop Coloque em:

[Desktop Entry]
Encoding=UTF-8
Name=Print Directly
Comment=Print file directly with default printer.
Exec=lp %f
Type=Application
Icon=/usr/share/pixmaps/gnome-applets.png
MimeType=text/plain;text/pdf;application/pdf;application/x-pdf

Clique com o botão direito do mouse em qualquer arquivo PDF, em "Abrir com ...", veja a lista estendida de aplicativos disponíveis para arquivos PDF. Encontre a entrada "Imprimir diretamente" e adicione a associação. A partir de agora, você pode clicar com o botão direito do mouse em qualquer arquivo (ou grupos) pdf e imprimi-los com o comando lp na impressora padrão . Se você quiser fazer experimentos, instale a impressora CUPS-PDF e defina-a como padrão nas configurações de Impressoras.

sudo apt-get install cups-pdf

Você terá o arquivo de teste "impresso" na pasta ~ / PDF.

mythsmith
fonte
4

Eu tenho feito um script que irá enviar os arquivos desejados para a impressora padrão: você pode ter que modificá-lo para selecionar o folderque seus arquivos estão em e executá-lo uma vez para .pdfe, em seguida, para .txt:
find /home/mike/KeyGuides/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f; do lpr "$f"; done. Funciona como acabei de testá-lo; apenas verifique se a impressora desejada está configurada como padrão.

Se você tiver algum problema, verei se posso modificá-lo conforme necessário. (Você pode usar outras opções para lpr se precisar - veja man lpr) Ele deve funcionar para a maioria das impressoras - é bem-sucedido com a minha Canon IP4700.

Essa versão do script também move cada documento impresso para um diretório (que você deve ter criado anteriormente), para que, quando o script for executado, apenas novos documentos sejam impressos:

find /home/mike/Duck/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f;
 do lpr "$f" && mv "$f" /home/mike/Duck/printed/ ; done

fonte
Oi: obrigado pelo seu conselho, mas e se eu quiser imprimir muitos arquivos, mas não todos os arquivos nesse diretório? É o que eu gostaria de fazer, porque, à medida que novos arquivos são salvos nesse diretório, apenas imprimo os novos arquivos. Espero que eu expliquei bem :)
Oscar
Essa é realmente uma pergunta diferente da pergunta original, mas vou ver se consigo fazer algo com o script - pode ser complicado apenas imprimir as que ainda não foram impressas; embora o que possamos fazer seja adicionar um comando para mover cada documento para uma pasta especificada após a impressão. Deve ser possível inserir isso no loop while.
Observe que o lpr funciona apenas em texto simples. Você precisará usar outra ferramenta que envie um trabalho de impressão para o CUPS, se for sobre PDFs, por exemplo.
Cumulus007
Olá, pergunta não tão diferente, é por isso que coloquei "many" e "selected" no nome da pergunta, para que possam ser todas ou algumas delas: D OK, espero que você encontre uma solução para alcançá-la. Muito Obrigado!
Oscar
1
O lpr funciona com pdfs - o comando lpr bash_FAQ.pdf o imprime perfeitamente.
0

Esta não é uma solução direta para o sistema operacional Ubuntu Linux:

  • Tente usar o serviço do Google : Google - Cloud Print . Não tenho certeza se existe uma opção de multitarefa em uma etapa, embora

Além disso, uma solução mais complexa:

Instalar nautilus-actionspacote

Execute o menu Nautilus Actions Settingsfrom System> Preferencese adicione alguma ação:

Guia Ação

Item Nautilus

Etiqueta de contexto: Imprimir

Exibir item no menu de contexto de seleção

Exibir item no menu de contexto do local (não necessário)

Propriedades da ação: ativada

Guia Comando

Etiqueta do perfil:

Comando padrão:

Caminho: lp

Parâmetros:% M (clique no botão da legenda para ver informações adicionais)

Edite as informações das outras guias como deseja que o seu nautilus se comporte.

Salve a ação, reinicie o nautilus.

Seu menu de contexto exibirá "Imprimir" ...

Fonte: UbuntuForums

Usando um método simples:

Abra um terminal e digite lpre coloque um espaço na frente dele. Em seguida, arraste e solte os arquivos que deseja imprimir no terminal.

David M. Sousa
fonte
Olá, adicionei a ação e o comando no Nautilus conforme indicado, o menu aparece ao clicar com o botão direito do mouse no arquivo, mas nada acontece /: O método do terminal funcionou, mas ao imprimir arquivos PDF, a página impressa resultante possui outras fontes e não as que você veja ao abrir com a viseira.
Oscar
Desculpe, mas esse não é meu conhecimento. Roí em alguns sites para pegar as informações que acabei de publicar. Você deve verificar, no caso do Nautilus, a documentação do lp. Talvez não esteja direcionando sua impressora.
David M. Sousa
0

Versões recentes do CUPS adicionaram a capacidade de imprimir PDFs diretamente. 11.10 e versões mais recentes (e possivelmente mais antigas) possuem isso.

Outra abordagem (que eu uso com o meu pacote emulador de impressão frente e verso) é usar o recurso Imprimir em arquivo para todos os seus trabalhos de impressão e colocá-los em uma pasta que efetivamente se torna sua fila de impressão pessoal. Uma vez lá, você pode imprimir alguns ou todos eles quando quiser e excluí-los quando terminar.

Isso tem a vantagem adicional de permitir que você execute novamente os trabalhos após um congestionamento de papel, etc., sem recriá-los do zero. Ele também permite que você continue trabalhando sem parar para gerenciar sua impressora.

Se desejar, escreva um pequeno script que será executado em segundo plano e comece a imprimir as coisas que aparecem na sua fila de impressão. Se você fizer isso, poderá nomear seus trabalhos de impressão para que eles sejam classificados na fila na ordem em que você deseja que eles sejam impressos. Eu apenas uso 00 ... 99 para nomes.

Para arquivos de texto, procure aqueles que podem ter linhas longas. O CUPS (pelo menos por padrão) não quebra as linhas para você nem configura margens de página agradáveis.

Meu sistema de impressão dúplex faz muito mais do que você está solicitando, mas pode lhe dar algumas idéias. Notavelmente, ele possui dois pequenos scripts auxiliares dprint e dprintm, que pegam o texto e o doam um pouco antes de enviá-lo para a impressora.

http://sourceforge.net/projects/duplexpr/
Joe
fonte
0

Eu sei que isso é antigo - mas a maneira de fazer isso agora é revisada como descobri hoje:

você precisará das ações do gerenciador de arquivos instaladas - ele já estava no meu sistema

sudo apt-get install filemanager-actions

Em seguida, obtenha ações nautilus

sudo add-apt-repository ppa:dr3mro/nautilus-actions-extra
sudo apt-get update
sudo apt-get install nautilus-actions

Abra FileManager-Actions e crie uma nova ação conforme acima:

Action Tab
    Nautilus Item
        Display item in selection context menu (tick)
        Display item in location context menu (tick)
        Context Label : Print
        Display item in the toolbar (tick)
        Use same label for icon in the toolbar (tick)

Command Tab
    Profile
        Label: Default profile
    Command
        Path: lp
        Parameters: %f
        Working directory: %d

Edite as informações das outras guias como deseja que o seu nautilus se comporte.

Salve a ação, reinicie o nautilus.

Seu menu de contexto exibirá "Imprimir" ...

alguns links me ajudaram: LibreOffice Imprimir Botão direito do mouse Imprimir

Matthew Hudson
fonte
-1

Ou use Ruby :-)

sudo apt-get install ruby
irb
Dir.glob('*.*').each{ |f| `lp '#{ f }'` }
msa.im
fonte