Dimensione: 16647
Commento:
|
Dimensione: 6614
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from mary3/modificaStampa 2 | |
Linea 6: | Linea 7: |
<<Indice(depth=6)>> | <<Indice(depth=3)>> |
Linea 9: | Linea 10: |
= Introduzione = | = Altri script = |
Linea 11: | Linea 12: |
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. = Preparativi = Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://cups|cups]] e image-magick (per il formato svg). = Configurazione = Gli script sotto elencati dovranno essere creati manualmente in un'opportuna cartella a seconda del [[AmbienteGrafico/FileManager|file manager]] in utilizzo: <<Anchor(percorso)>> ||<tablestyle="width:40%;" #cccccc> '''File manager''' ||<#cccccc> '''Percorso file''' || ||<#f7f7f7> '''Nautilus''' || `~/.local/share/nautilus/scripts` || ||<#f7f7f7> '''Caja''' || `~/.config/caja/scripts` || ||<#f7f7f7> '''Nemo''' || `~/.local/share/nemo/scripts` || Nei seguenti paragrafi viene trattata nel dettaglio la configurazione degli script. ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''La modalità di aggiunta voci al menù contestuale può variare in base all'[[AmbienteGrafico|ambiente grafico]] e al [[AmbienteGrafico/FileManager|file manager]] in utilizzo.''|| ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Le opzioni generali per le stampanti (come l'impostazione della stampante predefinita) sono disponibili nel [[https://wiki.ubuntu-it.org/AmministrazioneSistema/CentroDiControllo|centro di controllo]].<<BR>>Vedere anche la pagina [[Hardware/StampantiScanner|Stampanti e scanner]]''|| = Stampa con stampante predefinita = Questo script prima riconosce il tipo di file, poi usa i comandi necessari a seconda del caso, e se invece viene selezionato un file non stampabile, ad esempio un mp3, viene notificato a schermo messaggio di errore. Verrà usata la stampante predefinita. Funziona quando: * selezioniamo uno o più file di vari tipi contemporaneamente (PDF, testo, immagini, formati di libreoffice) click destro -> Script-> Stampa * diamo click destro nello spazio vuoto di una cartella aperta, senza selezionare nessun file, stampa tutti quelli stampabili contenuti nella cartella * lo stesso succede se selezioniamo una cartella chiusa -> click destro -> Script-> Stampa 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. = Impostare stampante predefinita = Per impostare la stampante predefinita, oltre che dalle impostazione Stampanti in Centro di controllo, è possibile usare il seguente script in modo da poterlo avere anche questo nel menù contestuale {{{ #!/bin/bash system-config-printer &}}} == Altri Script per stampante predefinita == I seguenti non sono completi come come lo script "Stampa", ma stampano un solo tipo di file (PDF-testo-immagini oppure formati di !LibreOffice) possono essere utilizzati, se lo si ritiene opportuno, a seconda delle proprie esigenze (cliccare sul link, sono elencati a fondo pagina). * [[#tutti_pdf|Stampa TUTTI i PDF contenuti nella cartella]] * [[#file_selezionati_predefinita|Stampa i file selezionati]] * [[#file_LibreOffice_predefinita|Stampa file di Libreoffice]] = Script con stampante specifica = Questo script prima riconosce il tipo di file, poi usa i comandi necessari a seconda del caso, e se invece viene selezionato un file non stampabile viene notificato a schermo messaggio di errore. Verrà usata la stampante indicata nello script. Sarà dunque possibile creare uno script per ogni stampante (esempio: Stampa con Samsung, Stampa con HP...), funziona quando: * selezioniamo uno o più file di vari tipi contemporaneamente (PDF, testo, immagini, formati di libreoffice) click destro -> Script-> Stampa * diamo click destro nello spazio vuoto di una cartella aperta, senza selezionare nessun file, stampa tutti quelli stampabili contenuti nella cartella * lo stesso succede se selezioniamo una cartella chiusa -> click destro -> Script-> Stampa 0. Individuare il nome della stampante in utilizzo digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ lpstat -p -d }}} 0. A seconda del file manager in utilizzo, creare nella [[#percorso|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'" 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 con stampante specifica == I seguenti non sono completi come come il precedente "Stampa con ...", ma stampano un solo tipo di file (PDF-testo-immagini oppure formati di !LibreOffice) possono essere utilizzati a seconda delle proprie esigenze (cliccare sul link, sono elencati a fondo pagina). * [[#file_selezionati|Stampa i file PDF, JPEG, PNG, TXT selezionati]] * [[#file_LibreOffice|Stampa file di Libreoffice selezionati]] <<BR>> -------- -------- <<BR>> = Altri script "predefinita" = |
I seguenti non sono completi come come lo script "Stampa" o quello "Stampa con...", ma stampano un solo tipo di file (PDF-testo-immagini oppure formati di !LibreOffice) in quanto sono composti da un singolo comando basato su !LibreOffice oppure lpr. Possono essere utilizzati, se lo si ritiene opportuno, a seconda delle proprie esigenze |
Linea 232: | Linea 15: |
== Stampa tutti i PDF contenuti nella cartella == | == Stampa tutti i PDF contenuti nella cartella (predefinita) == |
Linea 248: | Linea 31: |
== Stampa file selezionati == | == Stampa file selezionati (predefinita) == |
Linea 266: | Linea 49: |
== Stampa file LibreOffice selezionati == | == Stampa file LibreOffice selezionati (predefinita) == |
Linea 284: | Linea 67: |
= Altri script "con nome stampante" = | |
Linea 288: | Linea 71: |
== Stampa i file PDF, JPEG e PNG, TXT selezionati == | == Stampa i file PDF, JPEG, PNG, TXT selezionati (specifica) == |
Linea 314: | Linea 97: |
== Stampa file di LibreOffice selezionati == | == Stampa file di LibreOffice selezionati (specifica) == |
Linea 355: | Linea 138: |
= 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 [[AmbienteGrafico/IconeDiAvvio|lanciatore]] sulla scrivania o sul pannello. 0. A seconda del file manager in utilizzo, creare nella [[#percorso|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. |
|
Linea 376: | Linea 143: |
* [[http://www.istitutomajorana.it/forum2/Thread-RISOLTO-Stampare-i-file-selezionati-da-men%C3%B9-contestuale-senza-prima-aprirli?pid=127769#pid127769|Script stampa su Caja-actions]] |
Indice
Problemi in questa pagina? Segnalali in questa discussione
Altri script
I seguenti non sono completi come come lo script "Stampa" o quello "Stampa con...", ma stampano un solo tipo di file (PDF-testo-immagini oppure formati di LibreOffice) in quanto sono composti da un singolo comando basato su LibreOffice oppure lpr. Possono essere utilizzati, se lo si ritiene opportuno, a seconda delle proprie esigenze
Stampa tutti i PDF contenuti nella cartella (predefinita)
Il seguente script stamperà tutti i file .pdf presenti in una cartella, indipendentemente dal numero di file selezionati con il mouse.
A seconda del file manager in utilizzo, creare nella cartella opportuna lo script con il nome:
Stampa tutti i PDF contenuti nella cartella
Rendere eseguibile il file appena creato.
Inserire le seguenti stringhe nello script:
#!/bin/bash for FILE in *.pdf *.PDF ; do lpr "$FILE" ; done
- Salvare e chiudere il file.
Stampa file selezionati (predefinita)
A seconda del file manager in utilizzo, creare nella cartella opportuna lo script con il nome:
Stampa file selezionati
Rendere eseguibile il file appena creato.
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.
Stampa file LibreOffice selezionati (predefinita)
A seconda del file manager in utilizzo, creare nella cartella opportuna lo script con il nome:
Stampa file LibreOffice selezionati
Rendere eseguibile il file appena creato.
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
Stampa i file PDF, JPEG, PNG, TXT selezionati (specifica)
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 i file PDF, JPEG e PNG, TXT selezionati
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 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 punto 1 e la stringa $NAUTILUS con il rispettivo nome del file manager in utilizzo (ad es. $CAJA).
- Salvare e chiudere il file.
Stampa file di LibreOffice selezionati (specifica)
Il seguente script è in grado di funzionare oltre che con i classici file utilizzati da LibreOffice (.odt, ods, .doc.. ), anche con file .jpeg e .png.
È possibile selezionare contemporaneamente più file di tipo differente (es. un .odt e un ods).
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 file di LibreOffice selezionati
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 printer=Samsung-M2020-Series echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file do /usr/lib/libreoffice/program/swriter -p "$printer" "$file" done exit 0
Avere cura di sostituire Samsung-M2020-Series con il nome della stampante individuato al punto 1 e la stringa $NAUTILUS con il rispettivo nome del file manager in utilizzo (ad es. $CAJA).
- Salvare e chiudere il file.
Per chi utilizza OpenOffice
Nel caso sia utilizzato OpenOffice al posto di LibreOffice:
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.
Ulteriori risorse