Come inviare per stampare (molti) file selezionati in una directory anziché uno per uno?


10

Sto usando Ubuntu 12.04 e ho installato con successo la mia stampante Wi-Fi, ma la mia domanda è: come stampare molti file alla volta? Voglio dire, ho molti file PDF o di testo in una cartella e voglio inviarli direttamente alla stampante invece di aprirli uno a uno nel visualizzatore di file e quindi stampare e quindi ripetere l'intero processo così tante volte /:

Non vedo nemmeno alcuna opzione di stampa quando si fa clic con il tasto destro sul file o nel menu File.

Grazie!

Risposte:


4

Crea il file: ~ / .local / share / application / print.desktop Inserisci:

[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

Fare clic con il tasto destro su qualsiasi file pdf, nella sezione "Apri con ..." visualizzare l'elenco esteso dell'applicazione disponibile per i file pdf. Trova la voce "Stampa diretta" e aggiungi l'associazione. D'ora in poi puoi fare clic con il tasto destro su qualsiasi file (o gruppo) pdf e farli stampare con il comando lp sulla tua stampante predefinita . Se vuoi fare esperimenti, installa la stampante CUPS-PDF e impostala come predefinita nelle impostazioni Stampanti.

sudo apt-get install cups-pdf

Avrai il file di prova "stampato" nella cartella ~ / PDF.


4

Ho fatto uno script che invierà i file desiderati alla stampante predefinita: potrebbe essere necessario modificarlo per selezionare il folderche i file sono in ed eseguirlo una volta per .pdfe poi per .txt:
find /home/mike/KeyGuides/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f; do lpr "$f"; done. Funziona come l'ho appena testato; assicurati solo che la stampante desiderata sia impostata come predefinita.

In caso di problemi, vedrò se posso modificarlo come necessario. (Puoi usare altre opzioni per lpr se hai bisogno di - vedi man lpr) Dovrebbe funzionare per la maggior parte delle stampanti - ha successo con la mia Canon IP4700.

Questa versione dello script sposta anche ciascun documento stampato in una directory (che è necessario aver creato in precedenza), in modo che quando lo script viene eseguito vengano stampati solo i nuovi documenti:

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

Ciao: grazie per il tuo consiglio, ma cosa succede se voglio stampare molti file ma non tutti i file su quella directory? Questo è quello che mi piacerebbe fare, perché quando i nuovi file vengono salvati su quella directory, stampo solo i nuovi file. Spero di averlo spiegato bene :)
Oscar

Questa è davvero una domanda diversa da quella originale, ma vedrò se posso fare qualcosa con la sceneggiatura: potrebbe essere difficile stampare solo quelli non già stampati; sebbene ciò che potremmo fare è semplicemente aggiungere un comando per spostare ciascun documento in una cartella specificata dopo che è stato stampato. Dovrebbe essere possibile inserirlo nel ciclo while.

Nota che lpr funziona solo su testo semplice. Dovrai utilizzare un altro strumento che invia un processo di stampa a CUPS se si tratta di PDF, ad esempio.
Cumulus007,

Ciao, domanda non così diversa, ecco perché ho messo "molti" e "selezionato" nel nome della domanda, in modo che possano essere tutti o alcuni di essi: D OK, spero che tu trovi una soluzione per raggiungerlo. Grazie molto!
Oscar

1
lpr funziona con pdfs - il comando lpr bash_FAQ.pdf lo stampa perfettamente.


0

Questa non è una soluzione diretta per il sistema operativo Ubuntu Linux:

  • Prova a utilizzare il servizio di Google : Google - Cloud Print . Non sono sicuro se esiste un'opzione multitasking in un passaggio

Inoltre, una soluzione più complessa:

Installa nautilus-actionspacchetto

Esegui il menu Nautilus Actions Settingsda System> Preferencese aggiungi alcune azioni:

Scheda Azione

Articolo Nautilus

Etichetta di contesto: stampa

Visualizza l'elemento nel menu contestuale di selezione

Visualizza elemento nel menu contestuale della posizione (non necessario)

Proprietà azione: abilitato

Scheda comando

Etichetta profilo:

Comando predefinito:

Percorso: lp

Parametri:% M (fare clic sul pulsante della legenda per visualizzare ulteriori informazioni)

Modifica le informazioni sulle altre schede come desideri che il tuo nautilus si comporti.

Salvare l'azione, riavviare nautilus.

Il menu contestuale mostrerà "Stampa" ...

Fonte: UbuntuForums

Utilizzando un metodo semplice:

Apri un terminale e digita lpre metti uno spazio davanti. Quindi trascinare e rilasciare i file che si desidera stampare sul terminale.


Ciao, ho aggiunto l'azione e il comando in Nautilus come indicato, il menu appare quando si fa clic destro sul file ma non succede nulla /: il metodo terminale ha funzionato, ma quando si stampano file pdf, la pagina stampata risultante ha altri caratteri e non quelli che si vedere quando si apre con la visiera.
Oscar

Scusa, ma questa non è mia conoscenza. Ho rosicchiato alcuni siti per afferrare le informazioni che avevo appena pubblicato. Dovresti controllare, sul caso Nautilus, la documentazione dell'LP. Forse non è destinato alla tua stampante.
David M. Sousa,

0

Le versioni recenti di CUPS hanno aggiunto la possibilità di stampare PDF direttamente. 11.10 e versioni più recenti (e forse più vecchie) hanno questo.

Un altro approccio (che uso con il mio pacchetto emulatore di stampa fronte / retro) è utilizzare Stampa su file per tutti i lavori di stampa e inserirli in una cartella che diventa effettivamente la coda di stampa personale. Una volta che sono lì, è possibile stampare alcuni o tutti loro quando si desidera ed eliminarli quando hanno finito.

Ciò ha l'ulteriore vantaggio di consentire di rieseguire i lavori dopo un inceppamento della carta, ecc. Senza ricrearli da zero. Inoltre, consente di continuare a lavorare senza interrompere la gestione della stampante.

Se lo desideri, potresti scrivere un piccolo script che verrebbe eseguito in background e iniziare a stampare elementi che compaiono nella coda di stampa. Se si esegue una di queste operazioni, è possibile che si desideri assegnare un nome ai lavori di stampa in modo che vengano ordinati nella coda nell'ordine in cui si desidera stampare. Uso solo 00 ... 99 per i nomi.

Per i file di testo, fai attenzione a quelli che potrebbero avere linee lunghe. CUPS (almeno per impostazione predefinita) non impacchetterà le righe per te né imposterà bei margini di pagina.

Il mio sistema di stampa duplex fa molto di più di quello che stai chiedendo, ma potrebbe darti alcune idee. In particolare ha due piccoli script helper dprint e dprintm che prendono il testo e lo domano un po 'prima di inviarlo alla stampante.

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

0

So che questo è vecchio, ma il modo per farlo è ora rivisto come ho scoperto oggi:

avrai bisogno di azioni filemanager installate - era già sul mio sistema

sudo apt-get install filemanager-actions

Successivamente ottieni azioni nautilus

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

Apri FileManager-Actions e crea una nuova azione come sopra:

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

Modifica le informazioni sulle altre schede come desideri che il tuo nautilus si comporti.

Salvare l'azione, riavviare nautilus.

Il menu contestuale mostrerà "Stampa" ...

alcuni link mi hanno aiutato: LibreOffice Print Right Click Print


-1

O usa Ruby :-)

sudo apt-get install ruby
irb
Dir.glob('*.*').each{ |f| `lp '#{ f }'` }
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.