## page was renamed from mary3/StampaDaMenùContestuale ## page was renamed from GuidaWiki/DocumentazioneModello #format wiki #LANGUAGE it <
> <> <> = Introduzione = 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.<
> Per '''Dolphin''' si rimanda alla [[AmbienteGrafico/Kde/DolphinMenuStampa|guida]] specifica.<
> 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]].<
> 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.<
> 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. {{{#!wiki note Le opzioni generali per le stampanti (come l'impostazione della stampante predefinita) sono disponibili nel [[AmministrazioneSistema/CentroDiControllo|centro di controllo]].<
>Vedere anche la pagina [[Hardware/StampantiScanner|Stampanti e scanner]]. }}} == Individuare il nome stampante specifica == Individuare il nome della stampante in utilizzo digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ lpstat -p -d }}} = 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. [[#Individuare_il_nome_stampante_specifica|Individuare il nome della stampante]] in utilizzo. 0. Creare nella [[#Configurazione|cartella opportuna]] lo script con il nome:{{{ Stampa }}} 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato. 0. Aprire un nuovo file script con un [[Ufficio/EditorDiTesto|editor di testo]] e inserire le seguenti stringhe:{{{ #!/bin/bash # questo script deve stare nella cartella ~/.local/share//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 , 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 }}} {{{#!wiki important Se si utilizza un file manager diverso da '''Nautilus''' sostituire la voce «`NAUTILUS`» con «`CAJA`» oppure «`NEMO`», a seconda dei casi. }}} 0. Chiudere il file e l'editor di testo. === 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_stampante_specifica|Individuare il nome della stampante]] in utilizzo. 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//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 , 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 }}}Salvare e chiudere il file. {{{#!wiki important Se si utilizza un file manager diverso da '''Nautilus''' sostituire la voce «`NAUTILUS`» con «`CAJA`» oppure «`NEMO`», a seconda dei casi. }}} === 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:{{{ #!/bin/bash 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:{{{ #!/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. Se si utilizza un file manager diverso da '''Nautilus''' sostituire la voce «`NAUTILUS`» con «`CAJA`» oppure «`NEMO`», a seconda dei casi. * 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 }}} Se si utilizza un file manager diverso da '''Nautilus''' sostituire la voce «`NAUTILUS`» con «`CAJA`» oppure «`NEMO`», a seconda dei casi. 0. Salvare e chiudere il file. == 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' }}} = Ulteriori risorse = * [[Hardware/StampantiScanner|Stampanti e scanner]] * [[Hardware/StampantiScanner/StampanteGnome|Installazione di una stampante su Gnome]] * [[https://www.cups.org/index.html|CUPS.org]] ---- CategoryProduttivita CategoryGrafica