9294
Commento:
|
11358
|
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 6: | Linea 7: |
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=627033"; rilasci="16.04 14.04")>> | <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=627033"; rilasci="18.04 16.04 14.04")>> |
Linea 10: | Linea 11: |
Nella seguente guida viene mostrato come ottenere la voce '''Stampa''' nel menù contestuale dei file manager '''Nautilus''', '''Caja''' e '''Nemo'''. Sarà quindi possibile selezionare uno o più file e tramite il clic destro selezionare dal menù contestuale '''''Script → Stampa''''' per avviare immediatamente la stampa. In questo modo è possibile evitare che ciascun file debba essere aperto per fare clic su '''Stampa''' uno alla volta. |
Nella seguente guida viene mostrato come ottenere la voce '''Stampa''' nel menù contestuale dei file manager '''Nautilus''', '''Caja''' e '''Nemo'''. Sarà quindi possibile selezionare uno o più file e tramite il clic destro selezionare dal menù contestuale '''''Script → Stampa''''' per avviare immediatamente la stampa.<<BR>> In questo modo è possibile evitare di aprire singolarmente ogni file per fare clic su '''Stampa'''. Per '''Thunar''' si rimanda alla [[https://wiki.ubuntu-it.org/AmbienteGrafico/Xfce/AzioniThunar|guida]] specifica. |
Linea 16: | Linea 18: |
Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://cups|cups]]. | Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://cups|cups]] e [[apt://imagemagick|imagemagick]] (per il formato `.svg`). |
Linea 20: | Linea 22: |
Gli script sotto elencati dovranno essere creati manualmente in un'opportuna cartella a seconda del [[AmbienteGrafico/FileManager|file manager]] in utilizzo: * '''Script con possibilità di scelta della stampante''' * [[#file_selezionati|Stampa i file PDF, JPEG, PNG, TXT selezionati]] * [[#file_LibreOffice|Stampa file di Libreoffice selezionati]] * '''Script per stampante predefinita''' * [[#tutti_pdf|Stampa TUTTI i PDF contenuti nella cartella]] * [[#file_selezionati_predefinita|Stampa i file selezionati]] * [[#file_LibreOffice_predefinita|Stampa file di Libreoffice]] * '''Altro''' * [[#|Elimina coda di stampa]] |
Gli script dovranno essere creati manualmente in un'opportuna cartella a seconda del [[AmbienteGrafico/FileManager|file manager]] in utilizzo: |
Linea 46: | Linea 36: |
<<Anchor(file_selezionati)>> == Stampa i file PDF, JPEG e PNG, TXT selezionati == <<Anchor(individua_stampante)>> |
= Script di stampa = Gli script verranno avviati accedendo tramite clic destro al menù contestuale alla voce '''''Script → Stampa'''''. Per fare ciò è possibile agire in diversi modi. * '''Selezionando uno o più file''' contemporaneamente di vario tipo (PDF, testo, immagini, formati di !LibreOffice). * '''Clic destro nello spazio vuoto''' in una cartella aperta, senza selezionare nessun file. Verranno così stampati tutti i file stampabili all'interno della cartella. * '''Selezionando una cartella chiusa'''. Come nel caso precedente verranno stampati tutti i file stampabili interni alla cartella. ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Gli script sono in grado di riconoscere il tipo di file selezionati. Se per errore viene selezionato un file non stampabile (ad esempio `.mp3`), allora verrà restituito un messaggio di errore. In caso contrario saranno eseguiti i comandi appropriati per la stampa tramite stampante predefinita.''|| == Script per stampante predefinita == 0. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{ Stampa }}} 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato. 0. Supponendo di utilizzare come file manager: '''Nautilus''', 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=$(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 0 }}}Avere cura di sostituire la stringa '''NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''CAJA'''). * Salvare e chiudere il file. === 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. |
Linea 54: | Linea 128: |
Stampa i file PDF, JPEG e PNG, TXT selezionati }}} |
Stampa con nome-stampante }}} |
Linea 60: | Linea 134: |
inserire le seguenti stringhe nello script:{{{ #! |
inserire le seguenti stringhe nello script::{{{ |
Linea 63: | Linea 137: |
printer=Samsung-M2020-Series echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file do lpr -P "$printer" "$file" done exit 0 }}}Avere cura di sostituire '''Samsung-M2020-Series''' con il nome della stampante individuato al [[#individua_stampante|punto 1]] e la stringa '''$NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''$CAJA'''). * Salvare e chiudere il file. <<Anchor(file_LibreOffice)>> == Stampa file di LibreOffice selezionati == Il seguente script è in grado di funzionare oltre che con i classici file utilizzati da '''!LibreOffice''' (`.odt`, `ods`, `.doc`.. ), anche con file `.pdf `, `.jpeg` e `.png`.<<BR>> È possibile selezionare contemporaneamente più file di tipo differente (es. un `.odt` e un `ods). <<Anchor(individua_stampante)>> 0. Individuare il nome della stampante in utilizzo digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ lpstat -p -d }}} 0. Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://libreoffice-pdfimport|libreoffice-pdfimport]]. 0. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{ Stampa file di LibreOffice selezionati }}} 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 printer=Samsung-M2020-Series echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file do /usr/lib/libreoffice/program/swriter --pt "$printer" "$file" done exit 0 }}}Avere cura di sostituire '''Samsung-M2020-Series''' con il nome della stampante individuato al [[#individua_stampante|punto 1]] e la stringa '''$NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''$CAJA'''). ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Digitando nel teminale il comando `libreoffice --help` oppure `openoffice4 -h` si ha a disposizione l'elenco delle opzioni dei comandi, come ad es. l'opzione `--pt` per utilizzare una stampante specifica oppure `-p` per la stampante predefinita.|| * Salvare e chiudere il file. === Per chi utilizza OpenOffice === Nel caso sia utilizzato '''!OpenOffice''' al posto di '''!LibreOffice''': 0. Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://openoffice.org-pdfimport|openoffice.org-pdfimport]]. 0. Nello script occorre sostituire la stringa:{{{ /usr/lib/libreoffice/program/swriter -p "$printer" "$file" }}}con:{{{ openoffice4 -writer -p -invisible "$printer" "$file" }}}e quindi salvare e chiudere il file. <<Anchor(tutti_pdf)>> == Stampa tutti i PDF contenuti nella cartella == Il seguente script stamperà tutti i file `.pdf` presenti in una cartella, indipendentemente dal numero di file selezionati con il mouse. 0. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{ Stampa tutti i PDF contenuti nella cartella |
# 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 }}} Avere cura di sostituire la stringa '''NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''CAJA''') e '''Samsung-M2020-Series''' con il nome della propria stampante. * 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 - accesso impostazioni stampante = 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. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{ Impostazioni stampanti |
Linea 124: | Linea 210: |
#! #!/bin/bash for FILE in *.pdf *.PDF ; do lpr "$FILE" ; done }}} * Salvare e chiudere il file. <<Anchor(file_selezionati_predefinita)>> == Stampa file selezionati == 0. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{ Stampa file selezionati }}} 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato. 0. Supponendo di utilizzare come file manager: '''Nautilus''', inserire le seguenti stringhe nello script:{{{ #! #!/bin/bash echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file do lpr -P "$file" done exit 0 }}}Avere cura di sostituire la stringa '''$NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''$CAJA'''). * Salvare e chiudere il file. <<Anchor(file_LibreOffice_predefinita)>> == Stampa file LibreOffice selezionati == 0. A seconda del file manager in utilizzo, creare nella [[#percorso|cartella opportuna]] lo script con il nome:{{{ Stampa file LibreOffice selezionati }}} 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato. 0. Supponendo di utilizzare come file manager: '''Nautilus''', inserire le seguenti stringhe nello script:{{{ #! #!/bin/bash echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file do /usr/lib/libreoffice/program/swriter -p --invisible "$file" done exit 0 }}}Avere cura di sostituire la stringa '''$NAUTILUS''' con il rispettivo nome del file manager in utilizzo (ad es. '''$CAJA'''). * Salvare e chiudere il file. == Eliminare coda di stampa == |
#!/bin/bash system-config-printer & }}} * Salvare e chiudere il file. = Eliminare coda di stampa = |
Linea 175: | Linea 225: |
#! | |
Linea 189: | Linea 239: |
CategoryProduttivita AmbienteGrafico/FileManager | CategoryProduttivita CategoryGrafica |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Nella seguente guida viene mostrato come ottenere la voce Stampa nel menù contestuale dei file manager Nautilus, Caja e Nemo. Sarà quindi possibile selezionare uno o più file e tramite il clic destro selezionare dal menù contestuale Script → Stampa per avviare immediatamente la stampa.
In questo modo è possibile evitare di aprire singolarmente ogni file per fare clic su Stampa.
Per Thunar si rimanda alla guida specifica.
Preparativi
Assicurarsi di aver installato il pacchetto cups e imagemagick (per il formato .svg).
Configurazione
Gli script dovranno essere creati manualmente in un'opportuna cartella a seconda del file manager in utilizzo:
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.
La modalità di aggiunta voci al menù contestuale può variare in base all'ambiente grafico e al file manager in utilizzo. |
Le opzioni generali per le stampanti (come l'impostazione della stampante predefinita) sono disponibili nel centro di controllo. |
Script di stampa
Gli script verranno avviati accedendo tramite clic destro al menù contestuale alla voce Script → Stampa. Per fare ciò è possibile agire in diversi modi.
Selezionando uno o più file contemporaneamente di vario tipo (PDF, testo, immagini, formati di LibreOffice).
Clic destro nello spazio vuoto in una cartella aperta, senza selezionare nessun file. Verranno così stampati tutti i file stampabili all'interno della cartella.
Selezionando una cartella chiusa. Come nel caso precedente verranno stampati tutti i file stampabili interni alla cartella.
Gli script sono in grado di riconoscere il tipo di file selezionati. Se per errore viene selezionato un file non stampabile (ad esempio .mp3), allora verrà restituito un messaggio di errore. In caso contrario saranno eseguiti i comandi appropriati per la stampa tramite stampante predefinita. |
Script per stampante predefinita
A seconda del file manager in utilizzo, creare nella cartella opportuna lo script con il nome:
Stampa
Rendere eseguibile il file appena creato.
Supponendo di utilizzare come file manager: Nautilus, 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=$(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 0
Avere cura di sostituire la stringa NAUTILUS con il rispettivo nome del file manager in utilizzo (ad es. CAJA).
- Salvare e chiudere il file.
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
A seconda del file manager in utilizzo, 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
Avere cura di sostituire la stringa NAUTILUS con il rispettivo nome del file manager in utilizzo (ad es. CAJA) e Samsung-M2020-Series con il nome della propria stampante.
- Salvare e chiudere il file.
Altri script per stampante specifica
Ai seguenti link sono presenti script per stampante specifica con funzionalità parziali:
Script - accesso impostazioni stampante
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.
A seconda del file manager in utilizzo, 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 eliminare le code di stampa. Oltre che essere inserito nella cartella degli script può essere creato un lanciatore sulla scrivania o sul pannello.
A seconda del file manager in utilizzo, 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:
cancel -a exit 0
- Salvare e chiudere il file.