|
Dimensione: 7160
Commento:
|
Dimensione: 13352
Commento:
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 1: | Linea 1: |
| ## page was renamed from mary3/StampaDaMenùContestuale | |
| Linea 5: | Linea 6: |
| <<Indice>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=511838"; rilasci="16.04 14.04")>> |
<<Indice(depth=2)>> <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=627033"; rilasci="26.04 24.04 22.04 20.04 18.04")>> |
| Linea 10: | Linea 11: |
| Seguire questa guida per avere "stampa" nel menù contestuale del proprio file manager, vale a dire che quando si seleziona uno o più file, si può fare click destro -> Script -> Stampa , cioè sarà possibile stampare i file selezionati. Potremo evitare che ciascun file debba essere aperto prima di stamparlo, cliccando su stampa uno alla volta. <<BR>> = "Stampa" nel menù contestuale = Controllare che il pacchetto [[https://help.ubuntu.com/lts/serverguide/cups.html|`cups`]] sia installato (in genere, eccetto che per Lubuntu è installato di default), se serve consultare [[https://wiki.ubuntu-it.org/Server/Stampa|la documentazione ufficiale]]. Sono disponibili alcuni script da inserire nella '''cartella degli script''' del proprio [[https://wiki.ubuntu-it.org/AmbienteGrafico/FileManager|file manager]], i primi 2 prevedono che si possa indicare quale stampante usare, utile in caso di presenza di varie stampanti. Gli altri usano la stampante predefinita, cioè quella selezionata da Configura Stampanti nel Centro di controllo: ''' 0. Stampa i file PDF, JPEG e PNG, TXT selezionati 0. Stampa file di Libreoffice selezionati 0. Stampa TUTTI i PDF contenuti in una cartella. 0. Stampa i file selezionati (con la stampante predefifinita) 0. Stampa file di Libreoffice (con la stampante predefifinita) ''' Inoltre c'è anche l'utile '''Elimina coda di stampa ''' Per quanto riguarda la cartella degli script del file manager consultare le seguenti guide:<<BR>> [[https://wiki.ubuntu-it.org/AmbienteGrafico|Ambiente Grafico]]<<BR>> [[https://wiki.ubuntu-it.org/AmbienteGrafico/Gnome/ScriptNautilus|ScriptNautilus]] (sul 14.04 con Unity la cartella degli script è /home/utente/.local/share/nautilus/scripts)<<BR>> [[https://wiki.ubuntu-it.org/AmbienteGrafico/Mate/Caja#Raccolta_di_script_per_Caja|Mate: Script Caja]]<<BR>> [[https://userbase.kde.org/Adding_an_entry_to_the_Create_New_menu|KDE]] e [[https://askubuntu.com/questions/719262/how-do-i-add-custom-items-to-the-context-menu-in-dolphin-in-kde-5|Kde5]]<<BR>> [[https://wiki.lxde.org/en/PCManFM#Add_own_options_to_the_files_context_menu|Lxde]]<<BR>> [[https://wiki.ubuntu-it.org/AmbienteGrafico/Xfce/AzioniThunar#Installafont|Xfce]]<<BR>> [[https://forum.ubuntu-it.org/viewtopic.php?f=8&t=626437&p=5040532#p5040129|Cinnamon : Nemo]] = Stampa i file PDF, JPEG e PNG, TXT selezionati = Lo script seguente va personalizzato con il nome della propria stampante e con il nome del proprio file manager: * Sostituire il nome stampante ( ad esempio Samsung-M2020-Series) con il proprio, che si può ottenere dando sul terminale{{{ lpstat -p -d}}} oppure vedere il file /etc/cups/printers.conf * Sostituire "$CAJA_SCRIPT_SELECTED_FILE_PATHS" con "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" o il nome del proprio file manager{{{ |
Nella seguente guida viene mostrato come ottenere voci relative alle funzionalità di stampa nel menù contestuale (attivabili tramite click destro) dei [[AmbienteGrafico/FileManager|file manager]] '''Nautilus''', '''Caja''' e '''Nemo''' . L'integrazione avviene tramite la creazione di [[Programmazione/Script|script]] che permettono di selezionare uno o più file e avviarne la stampa immediata, senza la necessità di aprire singolarmente ogni documento. {{{#!wiki note Per '''Thunar''' si rimanda alla [[AmbienteGrafico/Xfce/AzioniThunar|guida]] specifica.<<BR>> Per '''Dolphin''' si rimanda alla [[AmbienteGrafico/Kde/DolphinMenuStampa|guida]] specifica.<<BR>> Per '''PCManFM/PcManFM-Qt''' si rimanda alla [[AmbienteGrafico/FileManager/PCmanFmMenuStampa|guida]] specifica. }}} = Preparativi = [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://cups|cups]] e [[apt://printer-driver-cups-pdf|printer-driver-cups-pdf]].<<BR>> Installare inoltre i pacchetti [[apt://imagemagick|imagemagick]], per il supporto ai file `.svg`, e [[apt://libnotify-bin|libnotify-bin]], per le notifiche a schermo. = Configurazione = La modalità per l'aggiunta di voci al menù contestuale varia in base all'[[AmbienteGrafico|ambiente grafico]] e al [[AmbienteGrafico/FileManager|file manager]] di utilizzo.<<BR>> Gli script devono essere creati manualmente nelle seguenti cartelle: <<Anchor(percorso)>> ||<tablestyle="width:40%;"> '''File manager''' || '''Percorso file''' || || '''Nautilus''' || `~/.local/share/nautilus/scripts` || || '''Caja''' || `~/.config/caja/scripts` || || '''Nemo''' || `~/.local/share/nemo/scripts` || Nei seguenti paragrafi viene trattata nel dettaglio la configurazione degli script. {{{#!wiki note Le opzioni generali per le stampanti (come l'impostazione della stampante predefinita) sono disponibili nel [[AmministrazioneSistema/CentroDiControllo|centro di controllo]].<<BR>>Vedere anche la pagina [[Hardware/StampantiScanner|Stampanti e scanner]]. }}} = Script di stampa = Lo script verrà avviato accedendo tramite clic destro al menù contestuale alla voce '''''Script → [Nome Script]'''''. Per fare ciò è possibile agire in diversi modi. * '''Selezione multipla''': selezionando uno o più file contemporaneamente di vario tipo (PDF, testo, immagini, documenti di !LibreOffice). * '''Spazio vuoto''': cliccando in un'area vuota di una cartella, vengono stampati tutti i file supportati presenti. * '''Su una cartella:''' selezionando una cartella chiusa, vengono stampati tutti i file supportati in essa contenuti. {{{#!wiki note Lo script identifica automaticamente il tipo di file. Qualora venga selezionato un file non stampabile (ad esempio un file `.mp3`), viene generata una notifica di errore, mentre per i file compatibili vengono eseguiti i relativi comandi di stampa. }}} == Script per stampante predefinita == 0. Accedere alla [[#Configurazione|cartella degli script]] relativa al proprio file manager. 0. Aprire un nuovo file script con un [[Ufficio/EditorDiTesto|editor di testo]] e inserire le seguenti stringhe:{{{ |
| Linea 54: | Linea 58: |
| printer=Samsung-M2020-Series echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file do lpr -P "$printer" "$file" done exit 0}}} * Aprire un editor di testo e copiarci lo script opportunamente personalizzato * Dare i permessi di esecuzione e metterlo nella cartella degli script (click destro->proprietà->permessi). = Stampa file di LibreOffice selezionati = Funziona per i file odt e ods di LibreOffice, inoltre stampa tutti i file .doc .docx .pdf .jpeg .png .txt e li stampa '''come si visualizzano su anteprima di stampa'''.<<BR>> È possibile selezionare più file anche di tipo differente (es un ODT e un ODS).<<BR>> * Salvarlo come "Stampa !LibreOffice selezionati" * Dare i permessi di esecuzione e metterlo nella cartella degli script.<<BR>> Anche qui il nome della stampante e del file manager vanno cambiati a seconda delle proprie esigenze: {{{ #!/bin/bash printer=Samsung-M2020-Series echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file do /usr/lib/libreoffice/program/swriter -p "$printer" "$file" |
# questo script deve stare nella cartella ~/.local/share/<FILEMANAGER>/scripts # Tutti i file eseguibili in questa cartella appariranno nel menù «Script». # # Print: (according to the selection) # all selected files # all files in the only selected folder # all files in current folder (no selection) IFS=$'\n' # don't use <space>,<tab> to split words as part of expansion # TODO eliminate the need to change $IFS PRINTER=$(lpstat -d | grep -Eo "\S+$") folder="$PWD" printable="PDF|PNG|JPEG|SVG|OpenDocument|UTF-8|ASCII|Microsoft|Windows" # FIXME # .doc & .xls created by Excel/Word are matched only if edited by LibreOffice # in case of no selection: print all files in current folder if [ $# -eq 0 ]; then selected=( $(ls "$folder") ) # if only a folder is selected, it's our target: print all its files elif [[ $# == 1 && -d "$1" ]]; then folder="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%$'\n'}" # strip trailing newline selected=( $(ls "$folder") ) # else: print all selected files else selected=($@) fi for f in ${selected[@]}; do fileType=$(file -b "$folder/$f" | grep -Eo "$printable") case $fileType in OpenDocument|Microsoft|Windows ) libreoffice -pt $PRINTER "$folder/$f" ;; PDF|PNG|JPEG|UTF-8|ASCII ) lpr -P $PRINTER "$folder/$f" ;; SVG ) # depends on imagemagick convert "$folder/$f" png:- | lpr -P $PRINTER ;; * ) notify-send -i error "Non stampato '$f'" ;; esac [ $? -eq 0 ] || notify-send -i error "ERRORE stampando '$f'" |
| Linea 79: | Linea 111: |
| exit 0}}} Lo script su citato utilizza !LibreoOffice.<<BR>> Per chi usa !OpenOffice: {{{ #!/bin/bash printer=Samsung-M2020-Series echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file do openoffice4 -writer -p -invisible "$printer" "$file" |
exit 0 }}} Se si utilizza un file manager diverso da '''Nautilus''' sostituire la voce «`NAUTILUS`» con «`CAJA`» oppure «`NEMO`», a seconda dei casi. 0. Salvare il file con il nome `Stampa`. Chiudere il file e l'editor di testo. 0. Rendere il file [[Programmazione/Script#exec|eseguibile]]. === Altri Script per stampante predefinita === Ai seguenti link sono presenti script per stampante predefinita con funzionalità parziali: * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#tutti_pdf|Stampa TUTTI i PDF contenuti nella cartella]] * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#file_selezionati_predefinita|Stampa i file selezionati]] * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#file_LibreOffice_predefinita|Stampa file di Libreoffice]] == Script - stampa con stampante specifica == La seguente procedura permette di modificare lo script precedente in modo tale che sia possibile specificare una stampante differente da quella predefinita. 0. Individuare il nome della stampante in utilizzo digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ lpstat -p -d }}} 0. Creare nella [[#Configurazione|cartella opportuna]] lo script con il nome:{{{ Stampa con nome-stampante }}} 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato. 0. Supponendo di utilizzare: * come file manager: '''Nautilus''' * come stampante: '''Samsung-M2020-Series''' inserire le seguenti stringhe nello script::{{{ #!/bin/bash # questo script deve stare nella cartella ~/.local/share/<FILEMANAGER>/scripts # Tutti i file eseguibili in questa cartella appariranno nel menù «Script». # # Print: (according to the selection) # all selected files # all files in the only selected folder # all files in current folder (no selection) IFS=$'\n' # don't use <space>,<tab> to split words as part of expansion # TODO eliminate the need to change $IFS PRINTER=Samsung-M2020-Series$ folder="$PWD" printable="PDF|PNG|JPEG|SVG|OpenDocument|UTF-8|ASCII|Microsoft|Windows" # FIXME # .doc & .xls created by Excel/Word are matched only if edited by LibreOffice # in case of no selection: print all files in current folder if [ $# -eq 0 ]; then selected=( $(ls "$folder") ) # if only a folder is selected, it's our target: print all its files elif [[ $# == 1 && -d "$1" ]]; then folder="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%$'\n'}" # strip trailing newline selected=( $(ls "$folder") ) # else: print all selected files else selected=($@) fi for f in ${selected[@]}; do fileType=$(file -b "$folder/$f" | grep -Eo "$printable") case $fileType in OpenDocument|Microsoft|Windows ) libreoffice -pt Samsung-M2020-Series "$folder/$f" ;; PDF|PNG|JPEG|UTF-8|ASCII ) lpr -P Samsung-M2020-Series "$folder/$f" ;; SVG ) # depends on imagemagick convert "$folder/$f" png:- | lpr -P Samsung-M2020-Series ;; * ) notify-send -i error "Non stampato '$f'" ;; esac [ $? -eq 0 ] || notify-send -i error "ERRORE stampando '$f'" |
| Linea 91: | Linea 196: |
| exit 0}}} NB: su [[https://wiki.ubuntu-it.org/Ufficio/ApacheOpenOffice|OpenOffice]] o [[https://wiki.ubuntu-it.org/Ufficio/LibreOffice|LibreOffice]] deve essere installato pdf-import.<<BR>> Inoltre dando su teminale `libreoffice --help` oppure `openoffice4 -h` si hanno tutte le opzioni dei comandi, ad esempio l'opzione `--pt` che serve per usare una stampante specifica.<<BR>> = Stampante predefinita = '''Se non si vuole indicare il nome della stampante''', in modo da stampare sempre sulla stampante di default predefinita (nel caso siano collegate più stampanti sarà sufficiente cambiare la stampante predefinita), usare questi: = Stampa tutti i PDF contenuti in una cartella = Questo script i PDF li stampa proprio '''tutti''', anche se ne seleziona uno solo, quindi mettere tutti i PDF che dobbiamo stampare in una cartella,<<BR>> click destro-> Script-> Stampa tutti i PDF nella cartella. <<BR>> La stampante usata da questo script è quella predefinita da Gestione Stampanti. * Aprire un editor di testo e copiarci {{{ for FILE in *.pdf *.PDF ; do lpr "$FILE" ; done}}} * Salvare con nome "Stampa TUTTI i PDF nella cartella" e dare i permessi di esecuzione (click destro->proprietà->permessi). * Copiare il file nella cartella degli script del proprio gestore file. = Stampa file selezionati con stampante predefinita = {{{ #! |
}}} {{{#!wiki important È fondamentale sostituire '''NAUTILUS''' con il nome corretto del file manager utilizzato (es: '''CAJA''' o '''NEMO''') affinché lo script funzioni correttamente con le cartelle. }}} * Salvare e chiudere il file. === Altri script per stampante specifica === Ai seguenti link sono presenti script per stampante specifica con funzionalità parziali: * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#file_selezionati|Stampa i file PDF, JPEG, PNG, TXT selezionati]] * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#file_LibreOffice|Stampa file di Libreoffice selezionati]] * [[AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi#openoffice|Esempio con OpenOffice]] = Script per gestione stampante = == Accesso rapido impostazioni == Per comodità può essere utile un accesso rapido alle impostazioni delle stampanti del [[AmministrazioneSistema/CentroDiControllo|Centro di controllo]] tramite clic destro, ad esempio per impostare rapidamente la stampante predefinita. 0. Creare nella [[#Configurazione|cartella opportuna]] lo script con il nome:{{{ Impostazioni stampanti }}} 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato. 0. Inserire le seguenti stringhe nello script:{{{ #!/bin/bash system-config-printer & }}}Salvare e chiudere il file. == Eliminare coda di stampa == Questo ulteriore script è in grado di annullare tutti i lavori in attesa nella coda di stampa (per la stampante predefinita). Oltre che essere inserito nella cartella degli script può essere creato un [[AmbienteGrafico/IconeDiAvvio|lanciatore]] sulla scrivania o sul pannello. 0. Creare nella [[#Configurazione|cartella opportuna]] lo script con il nome:{{{ Eliminare coda di stampa }}} 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato. 0. Inserire le seguenti stringhe nello script:{{{ #!/bin/bash cancel -a exit 0 }}}Salvare e chiudere il file. In alternativa: * Per cancellare la cronologia di stampa, oltre che annullare i lavori in attesa, inserire le seguenti stringhe nel suddetto script:{{{ |
| Linea 118: | Linea 245: |
| echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file do lpr -P "$file" done exit 0}}} <<BR>> = Stampa file LibreOffice selezionati con stampante predefinita = |
cancel -a -x exit 0 }}} * Per annullare l'ultimo lavoro di stampa, inserire il comando:{{{ lprm }}} = Stampare PDF fronte retro = == Script - Pagine fronte retro == * Pagine dispari 0. Creare nella [[#Configurazione|cartella opportuna]] lo script con il nome:{{{ Stampa_pag_dispari }}} 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato. 0. Inserire le seguenti stringhe nello script:{{{ |
| Linea 129: | Linea 263: |
| {{{ #! #!/bin/bash echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" | while read file do /usr/lib/libreoffice/program/swriter -p --invisible "$file" done exit 0 0}}} Sostituire "$CAJA_SCRIPT_SELECTED_FILE_PATHS" con "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" o il nome del proprio file manager = Eliminare coda di stampa = Attraverso quest'ulteriore script si può eliminare la coda di stampa. Si può inserire nella cartella degli script oppure creare un lanciatore sulla scrivania o sul pannello: {{{ #!/bin/bash cancel -a exit 0}}} |
#!/bin/bash echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file do lpr -o page-set=odd "$file" done exit 0 }}}Salvare e chiudere il file. {{{#!wiki important È fondamentale sostituire '''NAUTILUS''' con il nome corretto del file manager utilizzato (es: '''CAJA''' o '''NEMO''') affinché lo script funzioni correttamente con le cartelle. }}} * Pagine pari: 0. Con la medesima procedura creare lo script con il nome:{{{ Stampa_pag_pari }}} 0. Inserire le seguenti stringhe nello script:{{{ #!/bin/bash echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file do lpr -o page-set=even -o outputorder=reverse "$file" done exit 0 }}}Salvare e chiudere il file. {{{#!wiki important È fondamentale sostituire '''NAUTILUS''' con il nome corretto del file manager utilizzato (es: '''CAJA''' o '''NEMO''') affinché lo script funzioni correttamente con le cartelle. }}} == Procedura di stampa == A questo punto è possibile procedere alla stampa fronte retro: 0. Stampare prima le pagine dispari. 0. Girare i fogli con la parte stampata a faccia in giù. 0. Stampare le pagine pari. == Stampa fronte retro da terminale == In alternativa se non si desidera creare altre voci nel menù contestuale, per stampare un PDF fronte retro è possibile dare i seguenti comandi da [[AmministrazioneSistema/Terminale|terminale]]:{{{ lpr -o page-set=odd 'percorso file da stampare' }}} Girare i fogli con la parte stampata a faccia in giù e quindi digitare {{{ lpr -o page-set=even -o outputorder=reverse 'percorso file da stampare' }}} |
| Linea 149: | Linea 310: |
| Per aprire Gestione Stampanti fare clic sullo strumento stampanti nel [[https://wiki.ubuntu-it.org/AmministrazioneSistema/CentroDiControllo|centro di controllo]]. * [[https://wiki.ubuntu-it.org/Hardware/StampantiScanner|Stampanti e scanner]] * [[https://wiki.ubuntu-it.org/Hardware/StampantiScanner/StampanteGnome|Installazione di una stampante su Gnome]] * [[https://www.cups.org/index.html|CUPS.org]] ## da questo punto in poi non modificare! |
* [[Hardware/StampantiScanner|Stampanti e scanner]] * [[Hardware/StampantiScanner/StampanteGnome|Installazione di una stampante su Gnome]] * [[https://www.cups.org/index.html|CUPS.org]] |
| Linea 158: | Linea 316: |
| CategoryHomepage | CategoryProduttivita CategoryGrafica |
Guida verificata con Ubuntu: 22.04 24.04 26.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Nella seguente guida viene mostrato come ottenere voci relative alle funzionalità di stampa nel menù contestuale (attivabili tramite click destro) dei file manager Nautilus, Caja e Nemo .
L'integrazione avviene tramite la creazione di script che permettono di selezionare uno o più file e avviarne la stampa immediata, senza la necessità di aprire singolarmente ogni documento.
Per Thunar si rimanda alla guida specifica.
Per Dolphin si rimanda alla guida specifica.
Per PCManFM/PcManFM-Qt si rimanda alla guida specifica.
Preparativi
Installare i pacchetti cups e printer-driver-cups-pdf.
Installare inoltre i pacchetti imagemagick, per il supporto ai file .svg, e libnotify-bin, per le notifiche a schermo.
Configurazione
La modalità per l'aggiunta di voci al menù contestuale varia in base all'ambiente grafico e al file manager di utilizzo.
Gli script devono essere creati manualmente nelle seguenti cartelle:
File manager |
Percorso file |
Nautilus |
~/.local/share/nautilus/scripts |
Caja |
~/.config/caja/scripts |
Nemo |
~/.local/share/nemo/scripts |
Nei seguenti paragrafi viene trattata nel dettaglio la configurazione degli script.
Le opzioni generali per le stampanti (come l'impostazione della stampante predefinita) sono disponibili nel centro di controllo.
Vedere anche la pagina Stampanti e scanner.
Script di stampa
Lo script verrà avviato accedendo tramite clic destro al menù contestuale alla voce Script → [Nome Script]. Per fare ciò è possibile agire in diversi modi.
Selezione multipla: selezionando uno o più file contemporaneamente di vario tipo (PDF, testo, immagini, documenti di LibreOffice).
Spazio vuoto: cliccando in un'area vuota di una cartella, vengono stampati tutti i file supportati presenti.
Su una cartella: selezionando una cartella chiusa, vengono stampati tutti i file supportati in essa contenuti.
Lo script identifica automaticamente il tipo di file. Qualora venga selezionato un file non stampabile (ad esempio un file .mp3), viene generata una notifica di errore, mentre per i file compatibili vengono eseguiti i relativi comandi di stampa.
Script per stampante predefinita
Accedere alla cartella degli script relativa al proprio file manager.
Aprire un nuovo file script con un editor di testo e inserire le seguenti stringhe:
#!/bin/bash # questo script deve stare nella cartella ~/.local/share/<FILEMANAGER>/scripts # Tutti i file eseguibili in questa cartella appariranno nel menù «Script». # # Print: (according to the selection) # all selected files # all files in the only selected folder # all files in current folder (no selection) IFS=$'\n' # don't use <space>,<tab> to split words as part of expansion # TODO eliminate the need to change $IFS PRINTER=$(lpstat -d | grep -Eo "\S+$") folder="$PWD" printable="PDF|PNG|JPEG|SVG|OpenDocument|UTF-8|ASCII|Microsoft|Windows" # FIXME # .doc & .xls created by Excel/Word are matched only if edited by LibreOffice # in case of no selection: print all files in current folder if [ $# -eq 0 ]; then selected=( $(ls "$folder") ) # if only a folder is selected, it's our target: print all its files elif [[ $# == 1 && -d "$1" ]]; then folder="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%$'\n'}" # strip trailing newline selected=( $(ls "$folder") ) # else: print all selected files else selected=($@) fi for f in ${selected[@]}; do fileType=$(file -b "$folder/$f" | grep -Eo "$printable") case $fileType in OpenDocument|Microsoft|Windows ) libreoffice -pt $PRINTER "$folder/$f" ;; PDF|PNG|JPEG|UTF-8|ASCII ) lpr -P $PRINTER "$folder/$f" ;; SVG ) # depends on imagemagick convert "$folder/$f" png:- | lpr -P $PRINTER ;; * ) notify-send -i error "Non stampato '$f'" ;; esac [ $? -eq 0 ] || notify-send -i error "ERRORE stampando '$f'" done exit 0Se si utilizza un file manager diverso da Nautilus sostituire la voce «NAUTILUS» con «CAJA» oppure «NEMO», a seconda dei casi.
Salvare il file con il nome Stampa. Chiudere il file e l'editor di testo.
Rendere il file eseguibile.
Altri Script per stampante predefinita
Ai seguenti link sono presenti script per stampante predefinita con funzionalità parziali:
Script - stampa con stampante specifica
La seguente procedura permette di modificare lo script precedente in modo tale che sia possibile specificare una stampante differente da quella predefinita.
Individuare il nome della stampante in utilizzo digitando nel terminale:
lpstat -p -d
Creare nella cartella opportuna lo script con il nome:
Stampa con nome-stampante
Rendere eseguibile il file appena creato.
- Supponendo di utilizzare:
come file manager: Nautilus
come stampante: Samsung-M2020-Series
inserire le seguenti stringhe nello script::
#!/bin/bash # questo script deve stare nella cartella ~/.local/share/<FILEMANAGER>/scripts # Tutti i file eseguibili in questa cartella appariranno nel menù «Script». # # Print: (according to the selection) # all selected files # all files in the only selected folder # all files in current folder (no selection) IFS=$'\n' # don't use <space>,<tab> to split words as part of expansion # TODO eliminate the need to change $IFS PRINTER=Samsung-M2020-Series$ folder="$PWD" printable="PDF|PNG|JPEG|SVG|OpenDocument|UTF-8|ASCII|Microsoft|Windows" # FIXME # .doc & .xls created by Excel/Word are matched only if edited by LibreOffice # in case of no selection: print all files in current folder if [ $# -eq 0 ]; then selected=( $(ls "$folder") ) # if only a folder is selected, it's our target: print all its files elif [[ $# == 1 && -d "$1" ]]; then folder="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%$'\n'}" # strip trailing newline selected=( $(ls "$folder") ) # else: print all selected files else selected=($@) fi for f in ${selected[@]}; do fileType=$(file -b "$folder/$f" | grep -Eo "$printable") case $fileType in OpenDocument|Microsoft|Windows ) libreoffice -pt Samsung-M2020-Series "$folder/$f" ;; PDF|PNG|JPEG|UTF-8|ASCII ) lpr -P Samsung-M2020-Series "$folder/$f" ;; SVG ) # depends on imagemagick convert "$folder/$f" png:- | lpr -P Samsung-M2020-Series ;; * ) notify-send -i error "Non stampato '$f'" ;; esac [ $? -eq 0 ] || notify-send -i error "ERRORE stampando '$f'" doneÈ fondamentale sostituire NAUTILUS con il nome corretto del file manager utilizzato (es: CAJA o NEMO) affinché lo script funzioni correttamente con le cartelle.
- Salvare e chiudere il file.
Altri script per stampante specifica
Ai seguenti link sono presenti script per stampante specifica con funzionalità parziali:
Script per gestione stampante
Accesso rapido impostazioni
Per comodità può essere utile un accesso rapido alle impostazioni delle stampanti del Centro di controllo tramite clic destro, ad esempio per impostare rapidamente la stampante predefinita.
Creare nella cartella opportuna lo script con il nome:
Impostazioni stampanti
Rendere eseguibile il file appena creato.
Inserire le seguenti stringhe nello script:
#!/bin/bash system-config-printer &
Salvare e chiudere il file.
Eliminare coda di stampa
Questo ulteriore script è in grado di annullare tutti i lavori in attesa nella coda di stampa (per la stampante predefinita).
Oltre che essere inserito nella cartella degli script può essere creato un lanciatore sulla scrivania o sul pannello.
Creare nella cartella opportuna lo script con il nome:
Eliminare coda di stampa
Rendere eseguibile il file appena creato.
Inserire le seguenti stringhe nello script:
#!/bin/bash cancel -a exit 0
Salvare e chiudere il file.
In alternativa:
Per cancellare la cronologia di stampa, oltre che annullare i lavori in attesa, inserire le seguenti stringhe nel suddetto script:
cancel -a -x exit 0
Per annullare l'ultimo lavoro di stampa, inserire il comando:
lprm
Stampare PDF fronte retro
Script - Pagine fronte retro
- Pagine dispari
Creare nella cartella opportuna lo script con il nome:
Stampa_pag_dispari
Rendere eseguibile il file appena creato.
Inserire le seguenti stringhe nello script:
#!/bin/bash echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file do lpr -o page-set=odd "$file" done exit 0Salvare e chiudere il file.È fondamentale sostituire NAUTILUS con il nome corretto del file manager utilizzato (es: CAJA o NEMO) affinché lo script funzioni correttamente con le cartelle.
- Pagine pari:
Con la medesima procedura creare lo script con il nome:
Stampa_pag_pari
Inserire le seguenti stringhe nello script:
#!/bin/bash echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file do lpr -o page-set=even -o outputorder=reverse "$file" done exit 0Salvare e chiudere il file.È fondamentale sostituire NAUTILUS con il nome corretto del file manager utilizzato (es: CAJA o NEMO) affinché lo script funzioni correttamente con le cartelle.
Procedura di stampa
A questo punto è possibile procedere alla stampa fronte retro:
- Stampare prima le pagine dispari.
- Girare i fogli con la parte stampata a faccia in giù.
- Stampare le pagine pari.
Stampa fronte retro da terminale
In alternativa se non si desidera creare altre voci nel menù contestuale, per stampare un PDF fronte retro è possibile dare i seguenti comandi da terminale:
lpr -o page-set=odd 'percorso file da stampare'
Girare i fogli con la parte stampata a faccia in giù e quindi digitare
lpr -o page-set=even -o outputorder=reverse 'percorso file da stampare'
