16647
Commento:
|
6883
|
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=2)>> |
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'''. |
La seguente pagina è un'estensione della guida sugli [[AmbienteGrafico/FileManager/ScriptStampa|script di stampa]], in modo tale che si possa attivare la stampa di uno o più file tramite il clic destro del mouse. In questo caso vengono mostrati esempi di script parziali, nel senso che rispetto alla sopra citata guida, attraverso questi script sarà possibile stampare solo alcuni tipi di file (PDF-testo-immagini oppure formati di !LibreOffice) in quanto sono composti da un singolo comando basato su '''!LibreOffice''' oppure [[https://en.wikipedia.org/wiki/Line_Printer_Daemon_protocol|LPR]]. |
Linea 14: | Linea 15: |
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" = |
= Script per stampante predefinita = |
Linea 284: | Linea 70: |
= Altri script "con nome stampante" = | = Script per stampante specifica = |
Linea 288: | Linea 74: |
== Stampa i file PDF, JPEG e PNG, TXT selezionati == | == Stampa i file PDF, JPEG, PNG, TXT selezionati == |
Linea 355: | Linea 141: |
= 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 146: |
* [[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]] |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
La seguente pagina è un'estensione della guida sugli script di stampa, in modo tale che si possa attivare la stampa di uno o più file tramite il clic destro del mouse. In questo caso vengono mostrati esempi di script parziali, nel senso che rispetto alla sopra citata guida, attraverso questi script sarà possibile stampare solo alcuni tipi di file (PDF-testo-immagini oppure formati di LibreOffice) in quanto sono composti da un singolo comando basato su LibreOffice oppure LPR.
Script per stampante predefinita
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.
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
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
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
Script per stampante specifica
Stampa i file PDF, JPEG, PNG, TXT selezionati
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
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