Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmbienteGrafico/FileManager/ScriptStampa/EsempiAlternativi"
Differenze tra le versioni 2 e 18 (in 16 versioni)
Versione 2 del 11/04/2018 10.52.23
Dimensione: 16662
Autore: mary3
Commento:
Versione 18 del 08/05/2026 17.03.34
Dimensione: 7880
Autore: ivantu
Commento: +26.04 +24.04; +revisione; + correzioni
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)>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=627033"; 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 16.04 14.04")>>
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'''.
Questa pagina costituisce un'estensione della guida [[AmbienteGrafico/FileManager/ScriptStampa|script di stampa]]. Vengono qui riportati esempi di script semplificati per l'attivazione della stampa tramite il menù contestuale (tasto destro) del file manager.<<BR>><<BR>>Questi script sono focalizzati su specifiche categorie di file (PDF, immagini, documenti di testo) e/o utilizzano singoli comandi diretti basati su '''!LibreOffice''' o sul protocollo [[https://en.wikipedia.org/wiki/Line_Printer_Daemon_protocol|LPR]].
Linea 14: Linea 14:
Per '''Thunar''' si rimanda alla [[https://wiki.ubuntu-it.org/AmbienteGrafico/Xfce/AzioniThunar|guida]] specifica. = Script per stampante predefinita =
Linea 16: Linea 16:
= Preparativi = <<Anchor(tutti_pdf)>>
== Stampa tutti i PDF contenuti nella cartella ==
Linea 18: Linea 19:
Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://cups|cups]] e image-magick (per il formato svg). Il seguente script permette di stampare tutti i file con estensione `.pdf` presenti nella cartella corrente, indipendentemente dalla selezione effettuata con il mouse.
Linea 20: Linea 21:
= 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. Accedere alla [[AmbienteGrafico/FileManager/ScriptStampa#Configurazione|cartella script]] del file manager in uso.
 0. Creare un file di testo denominato:{{{
 Stampa tutti i PDF contenuti nella cartella
 }}}
Linea 52: Linea 26:
 0. Supponendo di utilizzare come file manager: '''Nautilus''', inserire le seguenti stringhe nello script:{{{   0. Inserire le seguenti stringhe nello script:{{{
Linea 55: Linea 29:
 #Stampa tutti i file PDF nella cartella corrente
 for FILE in *.pdf *.PDF ; do lpr "$FILE" ; done
 }}}Salvare e chiudere il file.
Linea 56: Linea 33:
    # 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)
<<Anchor(file_selezionati_predefinita)>>
== Stampa file selezionati ==
Linea 64: Linea 36:
Questo script invia alla stampante predefinita esclusivamente i file selezionati dall'utente.
Linea 65: Linea 38:
    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 {{{
 0. Accedere alla [[AmbienteGrafico/FileManager/ScriptStampa#Configurazione|cartella script]] del file manager in uso.
 0. Creare un file di testo denominato:{{{
 Stampa file selezionati
 }}}
 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:{{{
Linea 121: Linea 46:
system-config-printer &}}}  #Stampa i file selezionati utilizzando la variabile d'ambiente del file manager
 echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
     do
        lpr -P "$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.
 }}}
Linea 123: Linea 57:
== Altri Script per stampante predefinita == <<Anchor(file_LibreOffice_predefinita)>>
== Stampa file LibreOffice selezionati ==
Linea 125: Linea 60:
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). Script specifico per file di testo, fogli di calcolo e presentazioni gestiti dalla suite !LibreOffice.
Linea 127: Linea 62:
  * [[#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. Accedere alla [[AmbienteGrafico/FileManager/ScriptStampa#Configurazione|cartella script]] del file manager in uso.
 0. Creare un file di testo denominato:{{{
 Stampa file LibreOffice selezionati
 }}}
Linea 148: Linea 67:
 0. Supponendo di utilizzare:
  * come file manager: '''Nautilus'''
  * come stampante: '''Samsung-M2020-Series'''
 inserire le seguenti stringhe nello script::{{{
 0. Aprire un nuovo file script con un [[Ufficio/EditorDiTesto|editor di testo]] e inserire le seguenti stringhe:{{{
Linea 154: Linea 70:
 echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
    do
 /usr/lib/libreoffice/program/swriter -p --invisible "$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.
 }}}
Linea 155: Linea 80:
    # 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)
= Script per stampante specifica =
Linea 163: Linea 82:

    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 =

<<Anchor(tutti_pdf)>>
== 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.

 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
}}}
 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato.
 0. Inserire le seguenti stringhe nello script:{{{
#!
#!/bin/bash
for FILE in *.pdf *.PDF ; do lpr "$FILE" ; done
}}}
 * Salvare e chiudere il file.

<<Anchor(file_selezionati_predefinita)>>
== Stampa file selezionati (predefinita) ==

 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 (predefinita) ==

  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



Qualora nel sistema siano configurate più stampanti, è possibile creare script dedicati a un dispositivo specifico.
Linea 288: Linea 85:
== Stampa i file PDF, JPEG, PNG, TXT selezionati (specifica) == == Stampa i file PDF, JPEG, PNG, TXT selezionati ==
Linea 291: Linea 88:
 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 i file PDF, JPEG e PNG, TXT selezionati
}}}
 0. Identificare il nome della stampante da [[AmministrazioneSistema/Terminale|terminale]], digitando il comando:{{{
 lpstat -p -d
 }}}
 0. Accedere alla [[AmbienteGrafico/FileManager/ScriptStampa#Configurazione|cartella script]] del file manager in uso.
 0. Creare un file di testo denominato:{{{
 Stampa i file PDF, JPEG e PNG, TXT selezionati
 }}}
Linea 298: Linea 96:
 0. Supponendo di utilizzare:
  * come file manager: '''Nautilus'''
  *
come stampante: '''Samsung-M2020-Series'''
inserire le seguenti stringhe nello script:{{{
 0. Aprire un nuovo file script con un [[Ufficio/EditorDiTesto|editor di testo]], supponendo di utilizzare come stampante '''Samsung-M2020-Series''' inserire le seguenti stringhe:{{{
Linea 310: Linea 105:
}}}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.
 }}}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.
 }}}
 {{{#!wiki important
 Sostituire "Samsung-M2020-Series" con il nome della stampante [[#individua_stampante|individuata]] nel sistema.
 }}}
Linea 314: Linea 114:
== Stampa file di LibreOffice selezionati (specifica) == == Stampa file di LibreOffice selezionati ==
Linea 316: Linea 116:
{{{#!wiki note
Linea 318: Linea 119:
}}}

Utilizzo del comando `libreoffice` con l'opzione '''--pt''' per indirizzare la stampa a un dispositivo specifico.
Linea 320: Linea 124:
 0. Individuare il nome della stampante in utilizzo digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
lpstat -p -d
}}}
 0. Individuare il nome della stampante in utilizzo digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
 lpstat -p -d
 }}}
 0. Creare un file di testo denominato:{{{
 Stampa file di LibreOffice selezionati
 }}}
 0. Rendere [[Programmazione/Script#exec|eseguibile]] il file appena creato.
 0. Aprire un nuovo file script con un [[Ufficio/EditorDiTesto|editor di testo]], supponendo di utilizzare come stampante '''Samsung-M2020-Series''' inserire le seguenti stringhe:{{{
 
 #!/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
 }}}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 e avere cura di sostituire '''Samsung-M2020-Series''' con il nome della stampante individuato al [[#individua_stampante2|punto 1]].
 }}}
 {{{#!wiki tip
 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.
 }}}
Linea 324: Linea 148:
 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 -p "$printer" "$file"
done
exit 0
}}}Avere cura di sostituire '''Samsung-M2020-Series''' con il nome della stampante individuato al [[#individua_stampante2|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.
<<Anchor(openoffice)>>
Linea 348: Linea 153:
 0. Nello script occorre sostituire la stringa:{{{ Nello script occorre sostituire la stringa:{{{
Linea 355: Linea 160:
= 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 373: Linea 162:
 * [[https://wiki.ubuntu-it.org/Hardware/StampantiScanner|Stampanti e scanner]]
 * [[https://wiki.ubuntu-it.org/Hardware/StampantiScanner/StampanteGnome|Installazione di una stampante su Gnome]]
 * [[Hardware/StampantiScanner|Stampanti e scanner]]
 * [[Hardware/StampantiScanner/StampanteGnome|Installazione di una stampante su Gnome]]
Linea 376: Linea 165:
## * [[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]]


Guida verificata con Ubuntu: 22.04 24.04 26.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa pagina costituisce un'estensione della guida script di stampa. Vengono qui riportati esempi di script semplificati per l'attivazione della stampa tramite il menù contestuale (tasto destro) del file manager.

Questi script sono focalizzati su specifiche categorie di file (PDF, immagini, documenti di testo) e/o utilizzano singoli comandi diretti basati su LibreOffice o sul protocollo LPR.

Script per stampante predefinita

Stampa tutti i PDF contenuti nella cartella

Il seguente script permette di stampare tutti i file con estensione .pdf presenti nella cartella corrente, indipendentemente dalla selezione effettuata con il mouse.

  1. Accedere alla cartella script del file manager in uso.

  2. Creare un file di testo denominato:

     Stampa tutti i PDF contenuti nella cartella
  3. Rendere eseguibile il file appena creato.

  4. Inserire le seguenti stringhe nello script:

     #!/bin/bash
     #Stampa tutti i file PDF nella cartella corrente
     for FILE in *.pdf *.PDF ; do lpr "$FILE" ; done
    Salvare e chiudere il file.

Stampa file selezionati

Questo script invia alla stampante predefinita esclusivamente i file selezionati dall'utente.

  1. Accedere alla cartella script del file manager in uso.

  2. Creare un file di testo denominato:

     Stampa file selezionati
  3. Rendere eseguibile il file appena creato.

  4. Aprire un nuovo file script con un editor di testo e inserire le seguenti stringhe:

     #!/bin/bash
     #Stampa i file selezionati utilizzando la variabile d'ambiente del file manager
     echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
         do
            lpr -P  "$file"
     done
     exit 0
    Salvare 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.

Stampa file LibreOffice selezionati

Script specifico per file di testo, fogli di calcolo e presentazioni gestiti dalla suite LibreOffice.

  1. Accedere alla cartella script del file manager in uso.

  2. Creare un file di testo denominato:

     Stampa file LibreOffice selezionati
  3. Rendere eseguibile il file appena creato.

  4. Aprire un nuovo file script con un editor di testo e inserire le seguenti stringhe:

     #!/bin/bash
     echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" |  while read file
        do
     /usr/lib/libreoffice/program/swriter -p --invisible "$file"
     done
     exit 0
    Salvare 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.

Script per stampante specifica

Qualora nel sistema siano configurate più stampanti, è possibile creare script dedicati a un dispositivo specifico.

Stampa i file PDF, JPEG, PNG, TXT selezionati

  1. Identificare il nome della stampante da terminale, digitando il comando:

     lpstat -p -d
  2. Accedere alla cartella script del file manager in uso.

  3. Creare un file di testo denominato:

     Stampa i file PDF, JPEG e PNG, TXT selezionati
  4. Rendere eseguibile il file appena creato.

  5. Aprire un nuovo file script con un editor di testo, supponendo di utilizzare come stampante Samsung-M2020-Series inserire le seguenti stringhe:

     #!/bin/bash
     printer=Samsung-M2020-Series
     echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
        do
            lpr -P "$printer" "$file"
     done
     exit 0
    Salvare 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.

    • Sostituire "Samsung-M2020-Series" con il nome della stampante individuata nel sistema.

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).

Utilizzo del comando libreoffice con l'opzione --pt per indirizzare la stampa a un dispositivo specifico.

  1. Individuare il nome della stampante in utilizzo digitando nel terminale il seguente comando:

     lpstat -p -d
  2. Creare un file di testo denominato:

     Stampa file di LibreOffice selezionati
  3. Rendere eseguibile il file appena creato.

  4. Aprire un nuovo file script con un editor di testo, supponendo di utilizzare come stampante Samsung-M2020-Series inserire le seguenti stringhe:

     #!/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
    Salvare 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 e avere cura di sostituire Samsung-M2020-Series con il nome della stampante individuato al punto 1.

    • 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.

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


CategoryProduttivita CategoryGrafica