.. _le_stampe/stampe_genropy/stampe_risorsa/risorse_stampa/risorsa_print/print_options:
Opzioni di stampa
=================
Ogni risorsa di stampa ha delle opzioni di stampa, che vengono mostrate di default a prescindere o meno dalla presenza di un ``table_script_parameters_pane`` al lancio della stampa:
.. image:: /_static/images/stampe_risorsa/risorse_stampa/risorsa_print/print-options.png
:width: 300px
:align: center
Queste opzioni permettono di determinare il comportamento della stampa:
- lanciando la stampa dal primo bottone ``PDF`` verrà infatti generato il *pdf* del documento, corredato da eventuali *note*, rinominato secondo quanto definito nel *Nome del file*, ed eventualmente restituito compresso in formato *zip*
- da ``Server di stampa`` è invece possibile lanciare fisicamente la stampa su una stampante di rete preventivamente configurata
- Da ``PDF via e-mail`` è possibile inviare ai destinatari desiderati la stampa in pdf come allegato a un'e-mail
- Dall'ultimo bottone ``Consegna Posta``, infine, è possibile inviare automaticamente il pdf al destinatario "oggetto" del record. Si noti che non è presente un campo "A", in quanto il destinatario verrà automaticamente individuato dal sistema. Per ogni destinatario, quindi, verrà inviato un pdf personalizzato contenente i dati del suo record.
Per sfruttare a pieno la potenzialità della **Consegna Posta** è sufficiente indicare come parametro della classe *Main* un ``mail_address`` legato al record di cui si sta effettuando la stampa::
class Main(BaseResourcePrint):
mail_address='@anagrafica_id.email'
batch_print_modes = ['pdf','mail_deliver']
Si noti che nella seconda riga che abbiamo inserito stiamo personalizzando la lista delle opzioni di stampa: è infatti possibile personalizzare a piacere questa lista (in questo caso stiamo rimuovendo ``mail_pdf`` e ``server_print``, mostrando quindi solo la stampa *PDF* di default e la *Consegna Posta*)
.. hint::
È possibile effettuare ulteriori personalizzazioni ridefinendo nella propria risorsa *print* i metodi di hook:
- ``table_script_options_pdf``, ``table_script_options_server_print``, ``table_script_options_mail_pdf`` e ``table_script_options_mail_deliver`` per specificare i parametri da inserire nel *pane* delle opzioni
- ``result_handler_pdf``, ``result_handler_print``, ``result_handler_mail_pdf`` e ``result_handler_mail_deliver`` per specificare il comportamento da tenere una volta eseguita la stampa
.. raw:: html
**Parametri:**
+------------------------+------+--------------------------------------------------+
| Nome parametro | Tipo | Descrizione |
+========================+======+==================================================+
|caption |T |Variabile globale OBBLIGATORIA, serve a fornire il|
| | |nome con cui questo batch di stampa verrà mostrato|
| | |dal menu delle stampe disponibili |
+------------------------+------+--------------------------------------------------+
|tags |T |Variabile globale facoltativa, serve a indicare i |
| | |tag utente che potranno lanciare la stampe |
+------------------------+------+--------------------------------------------------+
|description |T |Variabile globale facoltativa, serve per fornire |
| | |una descrizione ulteriore del batch |
+------------------------+------+--------------------------------------------------+
|batch_title |T |Attributo facoltativo, indica il titolo che sarà |
| | |attribuito al batch nel monitor laterale dei batch|
| | |in esecuzione. |
+------------------------+------+--------------------------------------------------+
|html_res |T |Attributo OBBLIGATORIO (a meno che la risorsa non |
| | |venga indicata diversamente), indica la risorsa |
| | |definizione di stampa associata. |
+------------------------+------+--------------------------------------------------+
|templates |T |Attributo facoltativo, permette di specificare il |
| | |template che deve essere associato alla stampa (id|
| | |o nome, es: con templates='carta_intestata' mi |
| | |riferisco al nome che è stato dato al template) |
+------------------------+------+--------------------------------------------------+
|batch_print_modes |T |Attributo facoltativo, permette di passare in una |
| | |lista le modalità di stampa ammesse. Di default |
| | |vengono offerte tutte quelle che è possibile |
| | |specificare nelle preferenze dell’applicazione |
| | |(es: batch_print_modes = ["pdf", "server_print", |
| | |"mail_pdf","mail_deliver"]) |
+------------------------+------+--------------------------------------------------+
|batch_prefix |T |Attributo facoltativo, permette di assegnare un |
| | |prefisso al batch |
+------------------------+------+--------------------------------------------------+
|batch_cancellable |B |Attributo facoltativo, di default False, permette |
| | |di consentire l'interruzione del batch cliccando |
| | |su "Stop" nella barra laterale durante |
| | |l'esecuzione |
+------------------------+------+--------------------------------------------------+
|batch_immediate |B |Attributo facoltativo, se impostato uguale a |
| | |'print' verrà immediatamente aperta la stampa una |
| | |volta completata, se impostato uguale a 'download'|
| | |verrà automaticamente avviato il download del |
| | |file, se infine impostato a True verrà invece |
| | |identificata la modalità tra le due precedenti |
| | |sulla base dei parametri inseriti all'avvio della |
| | |stampa. |
+------------------------+------+--------------------------------------------------+
|mail_address |T |Permette di indicare la colonna del record da |
| | |utilizzare per l'invio mail automatico in modalità|
| | |`mail_deliver` (es: mail_address = |
| | |'@anagrafica_id.email') |
+------------------------+------+--------------------------------------------------+
| *Table script parameters pane Parametri* |
+------------------------+------+--------------------------------------------------+
|localize_to |T |Permette di indicare una lingua nella quale |
| | |tradurre tutte le etichette delle griglie |
| | |(colonne, subtotali, tutti i campi espressi con |
| | |"!![en]Nome campo"). Es: localize_to='en' |
+------------------------+------+--------------------------------------------------+
|translate_to |T |Permette di indicare una lingua nella quale |
| | |tradurre tutti i valori della stampa. Es: |
| | |translate_to='en'. Richiede un service di |
| | |traduzione esterno appositamente configurato |
+------------------------+------+--------------------------------------------------+
|use_current_selection |B |Permette di scegliere se usare o meno la selezione|
| | |corrente |
+------------------------+------+--------------------------------------------------+