Workflow Composer Riferimento script Per visualizzare o scaricare altre pubblicazioni Lexmark Document Solutions, fare clic qui. Ottobre 2003 www.lexmark.com Edizione: Ottobre 2003 Le informazioni incluse nel seguente paragrafo non si applicano ai Paesi in cui tali disposizioni non risultino conformi alle leggi locali: LEXMARK INTERNATIONAL, INC. FORNISCE LA PRESENTE PUBBLICAZIONE "COSÌ COM'È" SENZA GARANZIA DI ALCUN GENERE, ESPLICITA O IMPLICITA, INCLUSE, SENZA LIMITAZIONI, LE GARANZIE IMPLICITE RELATIVE ALLA COMMERCIABILITÀ O IDONEITÀ PER UNO SCOPO SPECIFICO. In alcuni Paesi non è consentita la rinuncia di responsabilità esplicita o implicita in determinate transazioni. In tali Paesi, pertanto, la presente dichiarazione potrebbe non essere valida. La presente pubblicazione può contenere inesattezze di carattere tecnico o errori tipografici. Le modifiche alle informazioni ivi riportate vengono eseguite periodicamente e aggiornate nelle edizioni successive. I miglioramenti o le modifiche al prodotto o ai programmi descritti potranno essere eseguiti in qualsiasi momento. Eventuali commenti su questa pubblicazione possono essere inviati a Lexmark International, Inc., Department F95/ 032-2, 740 West New Circle Road, Lexington, Kentucky 40550, U.S.A. Gli utenti del Regno Unito e della Repubblica d'Irlanda possono inviare i loro commenti a Lexmark International Ltd., Marketing and Services Department, Westhorpe House, Westhorpe, Marlow Bucks SL7 3RQ. Lexmark può utilizzare o distribuire le informazioni fornite in qualsiasi modo ritenga opportuno senza alcun obbligo nei confronti dell'utente. È possibile acquistare ulteriori copie di pubblicazioni relative a questo prodotto chiamando il numero 1-800-553-9727 negli Stati Uniti. Nel Regno Unito e nella Repubblica d'Irlanda, chiamare il numero +44 (0)8704 440 044. Negli altri Paesi, rivolgersi al proprio rivenditore. I riferimenti a prodotti, programmi o servizi contenuti in questa pubblicazione non implicano che il produttore intenda renderli disponibili in tutti i Paesi in cui opera. Qualsiasi riferimento a un prodotto, programma o servizio non è inteso a dichiarare o sottintendere che sia possibile utilizzare soltanto quel prodotto, programma o servizio. Ogni prodotto, programma o servizio funzionalmente equivalente che non violi i diritti di proprietà intellettuale può essere utilizzato al suo posto. La valutazione e la verifica del funzionamento insieme ad altri prodotti, programmi o servizi, tranne quelli espressamente progettati dal produttore, sono di responsabilità dell'utente. ImageQuick, Optra, Lexmark e Lexmark con il simbolo del diamante sono marchi commerciali di Lexmark International, Inc., registrati negli Stati Uniti e/o in altri Paesi. PostScript® è un marchio registrato di Adobe Systems Incorporated. Gli altri marchi commerciali appartengono ai rispettivi proprietari. © Copyright 2003 Lexmark International, Inc. Tutti i diritti riservati. DIRITTI DEL GOVERNO DEGLI STATI UNITI Questo software e qualsiasi documentazione ad esso allegata forniti nel rispetto del presente contratto costituiscono software commerciale e documentazione sviluppati esclusivamente con fondi privati. Sommario Capitolo 1: Introduzione ............................................................... 1 Compatibilità................................................................................................... 2 Novità nella versione 3.2 ................................................................................ 2 Capitolo 2: Concetti fondamentali ............................................... 3 Oggetti ............................................................................................................ 3 Dichiarazione delle variabili ............................................................................ 4 Controllo del flusso ......................................................................................... 4 If/Then/Else .............................................................................................. 4 Switch/Case .............................................................................................. 5 Istruzioni ripetitive........................................................................................... 6 Loop .......................................................................................................... 6 Repeat ...................................................................................................... 7 Operatori ........................................................................................................ 9 Matematici ................................................................................................ 9 Confronto ................................................................................................ 10 Booleano ................................................................................................ 11 Altre caratteristiche....................................................................................... 12 Abbreviazione di un oggetto utilizzando "with" ....................................... 12 Debug di uno script ................................................................................. 12 Commenti concatenati e righe di codice in uno script ............................ 13 Interruzione di uno script durante il runtime ........................................... 13 iii Capitolo 3: Oggetti tipo di dati.................................................... 14 Booleano ...................................................................................................... 15 Operatori ................................................................................................ 15 Documento ................................................................................................... 16 Metodi ..................................................................................................... 16 Operatori ................................................................................................ 20 Numero intero............................................................................................... 21 Metodi ..................................................................................................... 21 Operatori ................................................................................................ 22 Numero reale................................................................................................ 24 Metodi ..................................................................................................... 24 Operatori ................................................................................................ 25 Stringa .......................................................................................................... 26 Metodi ..................................................................................................... 26 Operatori ................................................................................................ 31 Mappa .......................................................................................................... 35 Metodi ..................................................................................................... 35 Capitolo 4: Oggetti helper ........................................................... 38 Matrice valore booleano ............................................................................... 39 Metodi ..................................................................................................... 39 Dataset ......................................................................................................... 40 Metodi ..................................................................................................... 40 Matrice numeri interi..................................................................................... 42 Metodi ..................................................................................................... 42 Opzioni di stampa......................................................................................... 43 Metodi ..................................................................................................... 43 Opzioni ................................................................................................... 44 Matrice numeri reali...................................................................................... 48 Metodi ..................................................................................................... 48 Matrice stringhe............................................................................................ 49 Metodi ..................................................................................................... 49 Textfile.......................................................................................................... 51 Metodi ..................................................................................................... 51 ImageInfo ..................................................................................................... 57 File PDF ................................................................................................. 59 Numeri di pagina .................................................................................... 59 Tipi di immagine ..................................................................................... 59 Intensità del colore dell'immagine .......................................................... 60 Sommario iv Capitolo 5: Oggetti sistema......................................................... 61 Originale ....................................................................................................... 62 Usertime ................................................................................................. 63 Conferma...................................................................................................... 66 Esempio di sostituzione .......................................................................... 70 Locale........................................................................................................... 71 Capitolo 6: Oggetti azione........................................................... 72 BarcodeRead (Codici a barre: lettura).......................................................... 73 BarcodeWrite (Codici a barre: scrittura) ....................................................... 79 ConvertImageFormat (Immagini: modifica del formato) ............................... 85 ConvertToDocument (Immagini: conversione in formato PostScript o PDF) 90 DatabaseNotes (Groupware: archiviazione) ................................................ 92 Azioni Domino.Doc....................................................................................... 97 DominoDocCheckIn (EDMS: archiviazione) ........................................... 98 DominoDocRetrieve (EDMS: recupero) ............................................... 103 Connessione a Domino.Doc ................................................................. 109 Esplorazione di una libreria Domino.Doc ............................................. 109 EmailExchange (E-mail)............................................................................. 111 EmailNotes (E-mail) ................................................................................... 114 EmailSMTP (E-mail)................................................................................... 117 Indirizzi e-mail ...................................................................................... 119 Destinatari e mittenti ............................................................................. 119 Autenticazione ...................................................................................... 120 FaxByPrinter (Fax) ..................................................................................... 121 FTPget (FTP: recupero) ............................................................................. 123 FTPput (FTP: inserimento)......................................................................... 125 Azioni GroupWise....................................................................................... 128 GWMail (E-mail) ................................................................................... 129 GWDiscuss (E-mail) ............................................................................. 133 GWCheckIn (Groupware: archiviazione) .............................................. 136 ImageCombine (Immagini: combinazione all'interno di documenti) ........... 140 ImageCrop (Immagini: ritaglio) ................................................................... 142 ImageInvert (Immagini: inversione) ............................................................ 145 ImageMerge (Immagini: sovrapposizione) ................................................. 146 ImageRotate (Immagini: rotazione) ............................................................ 151 ImageSeparate (Immagini: separazione all'interno del documento) .......... 153 Sommario v ImageText (Immagini: testo sovrapposto) .................................................. 154 ImageToHTML (Immagini: conversione in HTML) ..................................... 158 Tipi di testo ........................................................................................... 161 ImageToPDF (Immagini: conversione in PDF [con funzione di ricerca]).... 162 Tipi di testo ........................................................................................... 166 ImageToRTF (Immagini: conversione in RTF) ........................................... 167 Tipi di testo ........................................................................................... 170 ImageToText (Immagini: conversione in testo) .......................................... 171 Tipi di testo ........................................................................................... 175 LaunchExe (Avvio di un altro programma) ................................................. 176 Controllo dei valori di ritorno ................................................................. 179 MergeForm (Moduli: unione in PDF) .......................................................... 180 Azioni ODBC .............................................................................................. 181 Introduzione .......................................................................................... 181 ODBCWrite (Database ODBC: scrittura) .............................................. 182 ODBCRead (Database ODBC: lettura) ................................................ 187 PrintByDriver (Stampa) .............................................................................. 194 PrintForm (Stampa).................................................................................... 197 Tipo di stampante ................................................................................. 199 Uso di una coda di stampa Windows ................................................... 199 PrintJob (Stampa) ...................................................................................... 202 Conferma di stampa ............................................................................. 209 PrintURL (Stampa) ..................................................................................... 210 SaveToFile (Salva su file) .......................................................................... 211 SharePoint.................................................................................................. 215 SharePointWrite (EDMS: archiviazione) .............................................. 216 SharePointRead (EDMS: recupero) ..................................................... 220 TiffSplit ....................................................................................................... 227 Metodi ................................................................................................... 227 Capitolo 7: Prompt ..................................................................... 228 Prompt di tipo selezione ............................................................................. 229 Prompt di tipo messaggio........................................................................... 230 Prompt numero........................................................................................... 231 Prompt di tipo opzioni (più selezioni).......................................................... 233 Prompt di tipo opzioni (selezione singola).................................................. 236 Prompt di tipo password............................................................................. 237 Prompt di tipo testo .................................................................................... 238 Sommario vi Appendix A: Riferimento ODBC 240 Requisiti software e installazione ............................................................... 240 Supporto documenti database ............................................................. 241 Inserimento di valori nelle colonne che contengono le date ................. 241 Appendix B: Riferimento codice a barre 243 Codabar...................................................................................................... 243 Codice 2 di 5 .............................................................................................. 244 Codice 3 di 9 .............................................................................................. 245 Codice 32 ................................................................................................... 245 Codice 93 .................................................................................................. 246 Codice 128 ................................................................................................. 246 EAN-8......................................................................................................... 246 EAN-13....................................................................................................... 248 ITF .............................................................................................................. 248 Patch .......................................................................................................... 249 PDF-417 ..................................................................................................... 249 PostNet/Planet ........................................................................................... 250 UCC 128..................................................................................................... 250 UPC-A ........................................................................................................ 251 UPC-E ........................................................................................................ 252 Appendix C: Riferimento metadati 253 Opzioni di scansione .................................................................................. 253 Opzioni di copia.......................................................................................... 256 Opzioni fax ................................................................................................. 259 Opzioni e-mail/FTP..................................................................................... 260 Accesso ai dati di sostituzione in uno script ............................................... 261 Sommario vii 1 Introduzione Questo manuale fornisce un riferimento tecnico per LDDScript 3.2, il linguaggio script per la suite di prodotti Document Solutions di Lexmark™. Il Riferimento script è organizzato nel modo seguente: Capitolo 1, "Concetti fondamentali": rapida panoramica sui costrutti di base di LDDScript. Capitolo 2, "Oggetti tipo di dati": informazioni sui tipi di dati supportati. Capitolo 3, "Oggetti helper": informazioni sugli oggetti utilizzati per eseguire operazioni comuni. Capitolo 4, "Oggetti sistema": informazioni sugli oggetti che forniscono i dati con un processo inviato e restituiscono commenti all'utente. Capitolo 5, "Oggetti azione": informazioni sugli oggetti che eseguono l'elaborazione effettiva di documenti da indirizzare, memorizzare in un database, stampare e così via. Capitolo 6, "Prompt": informazioni sulla sintassi e sugli oggetti per richiedere dati agli utenti. Appendice A, "Riferimento ODBC": informazioni sulla creazione di interfacce con i database dall'interno di uno script. Appendice B, "Riferimento codici a barre": informazioni sui codici a barre supportati da LDDScript. Appendice C, "Riferimento metadati": informazioni sulle proprietà Metadata restituite quando uno script ha la priorità sul normale funzionamento di copia/fax/e-mail di una stampante MFP. Introduzione 1 Compatibilità LDDScript 3.2 continua a utilizzare la stessa sintassi e gli stessi costrutti introdotti con Lexmark Document Distributor 2.0. La suite di prodotti che utilizzano il linguaggio script include: • • • Lexmark Document Distributor Lexmark Document Producer Lexmark Document Portal Il linguaggio script può essere applicato a tutti i prodotti e consente di automatizzare il flusso di lavoro, produrre moduli basati su server e stampare moduli vuoti o precompilati. I prodotti possono essere utilizzati in modo indipendente o essere integrati, per offrire una soluzione completa per la gestione dei documenti. È necessario convertire o riscrivere gli script creati per LDD 2.x per consentirne il funzionamento in LDD 3.x. Per utilizzare gli script scritti con Workflow Composer 3.1 in LDD 3.2 non è richiesta alcuna modifica; l'unica eccezione è rappresentata dagli script che utilizzano l'azione ImageDeskew, eliminata da LDD 3.2. Novità nella versione 3.2 Di seguito sono indicate le modifiche apportate nella versione 3.2: • • • • • • La pagina di conferma è stata potenziata in modo da contenere le miniature di tutte le pagine sottoposte a scansione; inoltre, è possibile includere nella pagina di conferma le domande e le risposte inserite dall'utente di una stampante MFP. La funzione di sovrascrittura dell'azione della pagina di conferma predefinita è stata eliminata: in questo modo, è possibile inviare la pagina di conferma per e-mail, salvarla su un file e così via. L'autenticazione è stata aggiunta all'azione EmailSMTP. L'azione ImageDeskew è stata eliminata. Le prestazioni dell'azione MergeForm sono state notevolmente migliorate. Il supporto della coda di stampa di Windows è stato aggiunto all'azione PrintForm. Introduzione 2 2 Concetti fondamentali Oggetti Gli oggetti costituiscono l'elemento di base utilizzato per la generazione del codice in LDDScript. Gli oggetti contengono proprietà e metodi. Le proprietà sono oggetti tipo di dati di base, quali stringhe o numeri interi, e possono essere impostate su vari valori che influiscono sul funzionamento dell'oggetto. Un metodo è una funzione chiamata per eseguire operazioni sui dati. È possibile inoltrare parametri a un metodo che, a sua volta, può restituire un valore. I parametri e i valori di ritorno sono oggetti helper o tipo di dati. Per accedere alle proprietà e ai metodi di un oggetto viene utilizzata la notazione con il punto. Per impostare il valore di una proprietà: ObjectName.propertyName = valore Per chiamare un metodo: ObjectName.MethodName() ObjectName.MethodName(param1, param2) returnValue = ObjectName.MethodName(param1) LDDScript supporta i seguenti tipi di oggetti: • • • • Tipo di dati: la maggior parte degli oggetti di base; tutte le proprietà e la maggior parte delle variabili sono di questo tipo. Helper: offre un modo semplice per eseguire alcune operazioni comuni. Sistema: non elabora documenti; utilizzato per raccogliere gli input e fornire commenti agli utenti. Azione: elabora documenti; esegue operazioni come l'archiviazione, il routing, la distribuzione e così via. I capitoli successivi di questo manuale forniranno informazioni di riferimento per ciascun tipo di oggetto. Concetti fondamentali 3 Dichiarazione delle variabili Prima di poter utilizzare una variabile, è necessario dichiararla. Le variabili non possono essere dichiarate all'interno di un blocco "with" o di qualsiasi blocco logico come if/then o loop. Per dichiarare una variabile, specificare il nome e il tipo di oggetto corrispondente. Ad esempio: string text int num Durante l'attribuzione del nome alle variabili, è necessario rispettare alcune regole. • • • • Il nome deve essere composto da lettere, numeri e caratteri di sottolineatura. Il primo carattere del nome deve essere una lettera. I nomi devono essere univoci all'interno dello script e non supportano la distinzione tra maiuscole e minuscole; di conseguenza, "Nome", "NOME" e "nome" saranno tutti considerati come il nome della stessa variabile. Non è possibile utilizzare parole riservate (parole che hanno un significato speciale nel compilatore dello script). Controllo del flusso Per controllare l'esecuzione delle istruzioni dello script, è necessario utilizzare alcuni tipi di logica di controllo del flusso. Le istruzioni dello script possono essere eseguite in tre modi: sequenziale, selettivo o ripetitivo. Se non viene utilizzato alcun tipo di logica di controllo di flusso, le istruzioni verranno eseguite nell'ordine in cui si trovano nello script. Per l'esecuzione selettiva di determinate istruzioni dello script, è possibile utilizzare le condizioni if/then/else o switch/case. Per l'esecuzione ripetitiva delle istruzioni dello script, è possibile utilizzare le istruzioni loop e repeat. If/Then/Else Il tipo più comune di controllo di flusso è quello che consente di eseguire un'istruzione al verificarsi di una determinata condizione. In Document Server, questa capacità è implementata con il costrutto if/then/else. Il formato di base è il seguente: if (bool expression) then statement1 statementn endif Le istruzioni da statement1 a statementn vengono eseguite solo se l'espressione booleana in parentesi è TRUE. A volte è necessario valutare una serie di istruzioni, se una condizione è TRUE e un'altra è FALSE. In questo caso, è possibile utilizzare il costrutto else. if (bool expression) then statementa statementc else statementx statementz endif Concetti fondamentali 4 Le istruzioni da statementa a statementc vengono eseguite se l'espressione booleana tra le parentesi è TRUE; in caso contrario, verranno utilizzate le istruzioni da statementx a statementz. Switch/Case A volte, le condizioni da verificare potrebbero essere più di una. È possibile eseguire le verifiche con più istruzioni If/Then. L'istruzione Switch/Case fornisce un modo più semplice per effettuare confronti multipli: Switch numero intero Switch stringa switch (intvar) case intval1 statementa statementb case intval2 statementc statementd default statemente statementf endswitch switch (stringvar) case "stringval1" statementa statementb case "stringval2" statementc statementd default statemente statementf endswitch È possibile utilizzare valori stringa o numero intero con l'istruzione Switch/Case. In base al valore della variabile, verrà eseguito il blocco case corrispondente al valore specificato. Ogni blocco case può contenere più istruzioni ma ne verrà eseguito solo uno. Se il valore della variabile switch non corrisponde ad alcun case, verrà eseguito il blocco predefinito. Il blocco predefinito non è obbligatorio. Tuttavia, se utilizzato, deve essere l'ultimo nella sequenza. Esempio di Switch Le stampanti MFP (Multifunction Printers) consentono di utilizzare gli account dei processi. Quando questa funzione è attivata, gli utenti devono immettere il numero di account prima di accedere a un profilo. In questo esempio, gli utenti immettono il numero di un reparto per utilizzare i profili. Questo script di esempio utilizza un'istruzione Switch/Case per verificare il numero del reparto. string CustomSubject // Utilizzare il numero di account come un numero intero int DeptNumber = original.useracct.AsInt() switch (DeptNumber) case 35 CustomSubject = "Documento dal reparto Risorse umane" case 41 CustomSubject = "Documento dal reparto Affari legali" case 15 CustomSubject = "Documento dal reparto Spedizioni" default CustomSubject = "Documento dall'azienda" endswitch Concetti fondamentali 5 with EmailSMTP .Server="serverposta.com" .To="[email protected]" .From="[email protected]" .Subject=CustomSubject .Message="Leggere." .CharacterSet=LDD_SMTPCHARSET_US .Attachments=original.document .Go() endwith Istruzioni ripetitive Ciascuna istruzione in uno script viene ripetuta solo una volta. Le istruzioni loop e repeat consentono di eseguire lo stesso blocco di istruzioni più volte. Loop Se si desidera ripetere una serie di istruzioni un determinato numero di volte, utilizzare l'istruzione loop. Sintassi: loop (intcounter from istart to ifinish) statement1 statementn endloop dove: • • • intcounter indica una variabile numero intero già dichiarata istart è un valore numero intero da assegnare a intcounter all'inizio dell'iterazione ifinish indica il valore massimo di un numero intero per intcounter Se si utilizza una variabile numero intero come contatore, l'iterazione viene ripetuta per il numero di volte specificato in istart/ifinish. Il numero di istruzioni che è possibile inserire nel blocco loop è illimitato. Il blocco loop termina con l'istruzione endloop. L'iterazione inizia con la variabile contatore a cui viene assegnato il valore indicato da istart. Ad ogni esecuzione dell'iterazione, il valore del contatore viene incrementato di 1. L'iterazione continua fino a quando il contatore non supera il valore di ifinish. In tal modo, un'iterazione da 1 a 10 viene ripetuta fino a quando il contatore non raggiunge il valore di 11. Il valore di istart deve essere inferiore a quello di ifinish. È necessario dichiarare la variabile numero intero utilizzata per il contatore prima di poterla utilizzare nell'istruzione loop. Concetti fondamentali 6 Esempio Inviare tramite e-mail il documento originariamente sottoposto a scansione a dieci rappresentanti del servizio clienti. In questo script, le proprietà EmailSMTP comuni vengono specificate all'interno dell'istruzione Loop prima di inviare il documento tramite e-mail. string EmailAdd int LoopCount // Impostare le proprietà comuni delle e-mail. with EmailSMTP .Subject="Reclami dei clienti" .Server="server.posta.com" .From="[email protected]" .Message="Rivedere questo reclamo" .Attachments=original.document .CharacterSet=LDD_SMTPCHARSET_US endwith loop (LoopCount from 1 to 10) EmailSMTP.To="CustRep" + LoopCount.AsString() + "@fiat.com" EmailSMTP.Go() endloop Repeat L'istruzione repeat consente di eseguire un blocco di istruzioni in modo ripetitivo fino al verificarsi di un'espressione. repeat until (bool expression) statement1 statementn endrepeat L'istruzione repeat esegue il blocco di istruzioni fino a quando l'espressione booleana è TRUE. Il numero di istruzioni che è possibile inserire nel blocco loop è illimitato. L'istruzione endrepeat termina il blocco loop. Se il valore iniziale dell'espressione booleana è true, il loop non viene eseguito. Esempio Questo script utilizza il riconoscimento ottico dei caratteri per controllare i documenti sottoposti a scansione dagli utenti per ricercare documenti riservati. Se il documento è riservato, non viene inviato tramite e-mail. L'immagine sottoposta a scansione viene salvata in un file e all'utente che ha eseguito la scansione del documento viene inviato un messaggio di avvertenza. with ImageToText .input=original.document .TextType=LDD_TEXTTYPE_NORMAL .Language=LDD_LANG_ENGLISH .AllPages=TRUE .Go() endwith textfile tf string OneLine, Submitter Concetti fondamentali 7 // Aprire i risultati dell'azione OCR tf.Open(ImageToText.output) bool bConfDoc = FALSE int iCount, iEnd iCount =1 iEnd = tf.GetNumberLines() Submitter = original.username+ "@lexmark.com" // Ricercare su ogni riga il termine Riservato repeat (until (bConfDoc OR (iCount>=iEnd))) OneLine = tf.ReadLine() if (OneLine.Contains("Riservato")) then bConfDoc = TRUE endif iCount.Add(1) endrepeat // Se si tratta di un documento Riservato, salvarlo e inviare un messaggio di avvertenza if (bConfDoc) then with SaveToFile .input=original.document .Path="c:\ebc.txt" .AppendTimestamp=TRUE .Overwrite=FALSE .Go() endwith with EmailSMTP .Server="server.posta.com" .To= Submitter .From="[email protected]" .Subject="E-mail non valida rifiutata" .Message="Impossibile inviare per e-mail un documento riservato" .CharacterSet=LDD_SMTPCHARSET_US .Go() endwith else with EmailSMTP .Server="server.posta.com" .To="[email protected]" .From=Submitter .Subject="Documento sottoposto a scansione" .Message="Ecco il documento richiesto" .CharacterSet=LDD_SMTPCHARSET_US .Attachments=original.document .Go() endwith endif Concetti fondamentali 8 Operatori Matematici Questi operatori sono utilizzati per impostare o modificare il valore di una variabile o di una proprietà. Operatore Simbolo Descrizione Addizione + Per oggetti numero intero e reale, aggiunge i numeri su entrambi i lati del segno "+" e restituisce il nuovo valore. Per oggetti stringa, l'effetto è simile a quello del metodo di concatenazione. Aggiunge la stringa a destra della stringa presente a sinistra e restituisce la nuova stringa. Per gli oggetti documento, aggiunge il documento a destra del documento presente a sinistra e restituisce il nuovo documento. In tutti i casi, le variabili su entrambi i lati restano invariate. Sottrazione - Per oggetti numero intero e reale, sottrae il numero a destra dal numero a sinistra e restituisce il nuovo valore. Le variabili su entrambi i lati restano invariate. Non è valido per altri tipi di oggetti. Moltiplicazione * Per oggetti numero intero e reale, moltiplica i numeri presenti su entrambi i lati del segno " * " e restituisce il nuovo valore. Le variabili su entrambi i lati restano invariate. Non è valido per altri tipi di oggetti. Divisione / Per oggetti numero intero e reale, divide il numero a sinistra per il numero a destra e restituisce il nuovo valore. Le variabili su entrambi i lati restano invariate. Non è valido per altri tipi di oggetti. Modulo % Per oggetti numero intero, divide il numero a sinistra per il numero a destra e restituisce il resto. Le variabili su entrambi i lati restano invariate. Non è valido per altri tipi di oggetti. Ad esempio, 5/2 restituisce 1 poiché 5 diviso 2 è uguale a 2 con resto di 1. Concetti fondamentali 9 Confronto Questi operatori vengono utilizzati per confrontare i valori di variabili o di proprietà dello stesso tipo. Il risultato del confronto è rappresentato da un valore booleano (TRUE o FALSE). È possibile utilizzare uno qualsiasi dei simboli elencati per un operatore. Operatore Simboli Descrizione Minore di <, LT Per numeri interi e reali, restituisce TRUE se il valore a sinistra è minore rispetto al valore a destra. Per le stringhe, restituisce TRUE se il valore a sinistra precede, in ordine alfabetico, il valore a destra (con distinzione tra maiuscole e minuscole). Altrimenti restituisce FALSE. Maggiore di >, GT Per numeri interi e reali, restituisce TRUE se il valore a sinistra è maggiore rispetto al valore a destra. Per le stringhe, restituisce TRUE se il valore a sinistra viene dopo, in ordine alfabetico, il valore a destra (con distinzione tra maiuscole e minuscole). Altrimenti restituisce FALSE. Minore o uguale a <=, LE Per numeri interi e reali, restituisce TRUE se il valore a sinistra è minore o uguale al valore a destra. Per le stringhe, restituisce TRUE se il valore a sinistra precede o è uguale, in ordine alfabetico, al valore a destra (con distinzione tra maiuscole e minuscole). Altrimenti restituisce FALSE. Maggiore o uguale a >=, GE Per numeri interi e reali, restituisce TRUE se il valore a sinistra è maggiore o uguale al valore a destra. Per le stringhe, restituisce TRUE se il valore a sinistra segue o è uguale, in ordine alfabetico, al valore a destra (con distinzione tra maiuscole e minuscole). Altrimenti restituisce FALSE. Uguale a == , EQ Per numeri interi e reali, restituisce TRUE se il valore a sinistra è uguale al valore a destra. Per le stringhe, restituisce TRUE se il valore a sinistra è identico (con distinzione tra maiuscole e minuscole) al valore a destra. Altrimenti restituisce FALSE. (doppio segno di uguale) Diverso da !=, <>, NE Per numeri interi e reali, restituisce TRUE se il valore a sinistra non è uguale al valore a destra. Per le stringhe, restituisce TRUE se il valore a sinistra non è esattamente identico (con distinzione tra maiuscole e minuscole) al valore a destra. Altrimenti restituisce FALSE. Concetti fondamentali 10 Booleano Questi operatori sono utilizzati per creare espressioni booleane complesse. Ciascun valore ai due lati dell'operatore deve essere un valore booleano. Il risultato dell'operatore booleano è rappresentato da un valore booleano (TRUE o FALSE). È possibile utilizzare uno qualsiasi dei simboli elencati per un operatore. Operatore Simboli Descrizione E &, &&, AND Utilizza due valori booleani con una relazione di AND per ottenere il risultato booleano finale. Oppure |, ||, OR Utilizza due valori booleani con una relazione di OR per ottenere il risultato booleano finale. Non !, NOT Utilizza il valore booleano NOT per ottenere il risultato booleano finale. La seguente tabella illustra i risultati dei metodi AND e OR utilizzando: bool1 AND bool2 bool1 OR bool2 bool 1 bool2 AND OR FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE La seguente tabella illustra i risultati dei metodi NOT utilizzando: NOT bool1 bool 1 NOT TRUE FALSE FALSE TRUE Concetti fondamentali 11 Altre caratteristiche Abbreviazione di un oggetto utilizzando "with" Se in una sezione di codice lo stesso oggetto deve essere ripetuto più volte, potrebbe essere poco pratico doverne immettere continuamente il nome. Per evitare questa operazione ripetitiva, è possibile utilizzare l'istruzione with. Il formato generale è il seguente: with nomeoggetto .property = valore .property = valore .method() endwith Dopo aver dichiarato il nome dell'oggetto da utilizzare nell'istruzione with sarà possibile fare riferimento a qualsiasi proprietà o metodo dell'oggetto utilizzando il "punto" seguito dal nome della proprietà o del metodo. Si tratta del metodo più comunemente utilizzato con gli oggetti azione. Debug di uno script Durante l'esecuzione di uno script, gli oggetti azione possono scrivere messaggi di errore e di avvertenza nel registro. È inoltre possibile scrivere nel registro messaggi personalizzati che facilitano le operazioni di debug dello script. Si supponga, ad esempio, di voler conoscere il valore di una variabile o il valore di ritorno di un metodo. Per scrivere un messaggio nel registro, utilizzare l'istruzione "debug". debug (msg) msg può essere una variabile stringa, una stringa tra virgolette o un'espressione numerica. Seguono alcuni esempi: int index= 3 string ErrorMsg = "Stampa non riuscita" debug (index) debug (ErrorMsg) debug ("Processo ricevuto da" + original.username) Ciascuna di queste istruzioni scrive un messaggio nel registro del server. Concetti fondamentali 12 Commenti concatenati e righe di codice in uno script Per concatenare i commenti in uno script, è necessario utilizzare due barre ("//") se le righe vanno a capo. Ad esempio: //Questo script invia una scansione originale via fax a un database fornito dall'utente, se il database non è supportato dal software... Per concatenare le righe di codice, è necessario utilizzare il carattere di sottolineatura ("_"). Ad esempio: str email="Mario Rossi" doc ocr with EmailSMTP .Server=local.emailserver .To=email .From=email .Subject="Documento acquisito" .Message="È stato allegato il documento acquisito nel formato"_ "specificato." .CharacterSet=LDD_SMTPCHARSET_US .Attachments=ocr .Go() endwith Interruzione di uno script durante il runtime Se durante l'esecuzione dello script viene riscontrata una condizione di errore, sarebbe utile poter interrompere l'elaborazione. Per interrompere l'elaborazione dello script, utilizzare la funzione exit. void exit(string msg) La funzione exit arresta l'elaborazione dello script. Consente di inoltrare una stringa che viene visualizzata nel registro del server e sulla finestra di dialogo/pagina di conferma. Concetti fondamentali 13 3 Oggetti tipo di dati Tutti i dati utilizzati da Workflow Composer possono essere raggruppati in sei diversi tipi: • • • • • • Booleano Documento Numero intero Mappa Numero reale Stringa Ogni proprietà oggetto è costituita da uno degli Oggetti tipo di dati. Inoltre, la maggior parte delle variabili è costituita da uno di questi tipi. Di seguito viene fornita una descrizione di ciascun oggetto. Oggetti tipo di dati 14 Booleano L'oggetto booleano è utilizzato per valori che possono essere true o false. Gli unici valori validi per questa variabile sono le parole riservate TRUE e FALSE. L'oggetto non ha alcuna proprietà. Sono supportati i seguenti operatori: Operatori Simbolo Descrizione ==, EQ Uguale a <> Diverso da &, AND E |, OR Oppure !, NOT Non = Assegnazione Oggetti tipo di dati 15 Documento L'oggetto documento è utilizzato per contenere una raccolta di immagini, testo e altri file formattati. Non è necessario che tutti i file presenti in un oggetto documento siano dello stesso tipo. Una proprietà o una variabile è di questo tipo se dichiarata come doc. L'oggetto mappa non ha proprietà. Metodi Sintassi Descrizione bool AddDocument(doc doc1) Aggiunge un documento esistente alla fine di questo documento. Parametri: doc1 - documento da aggiungere. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. bool AddFile(string path [, string type]) Aggiunge un file esistente alla fine di questo documento. Questo metodo non riuscirà se il file non esiste o non può essere letto. Parametri: path - percorso completo del file da aggiungere sul server. type - se non specificato, il tipo di file verrà impostato con l'estensione del file da aggiungere; altrimenti, verrà utilizzato il valore fornito. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. void AddTempFile(string ext) Aggiunge al documento un file temporaneo. Il file verrà eliminato al termine dello script. Parametri: ext - l'estensione file da specificare per il file temporaneo. Restituisce: nessuno void Clear() Rimuove tutti i file dal documento. Parametri: nessuno Restituisce: nessuno Oggetti tipo di dati 16 Sintassi Descrizione doc Copy() Copia tutti i file di questo documento in un nuovo documento; in effetti, genera una copia dei file in modo tale che esistano due copie. Ciò consente di apportare delle modifiche a un insieme di file senza influenzare l'altro insieme. Parametri: nessuno Restituisce: Un documento che contiene una copia di tutti i file in una variabile documento che deve essere copiata. doc CopyRange(int start, int end) Copia i file specificati di questo documento in un nuovo documento; in effetti, genera una copia dei file, in modo tale che esistano due copie. Ciò consente di apportare delle modifiche a un insieme di file senza influenzare l'altro insieme. Parametri: start - indice del primo file presente nel documento da copiare; gli indici dei file iniziano da 1. end - indice del primo file presente nel documento da copiare. Restituisce: Un documento che contiene una copia dei file nell'intervallo specificato. int GetDocumentSize() Restituisce la dimensione totale, in byte, di tutti i file presenti in questo documento. Se in questo documento non esistono file, come dimensione viene restituito un valore zero (0). Parametri: nessuno Restituisce: Un numero intero che indica il numero totale di byte di questo documento. string GetDocumentType() Restituisce il tipo (formato o estensione file) del documento. Se tutti i file presenti nel documento sono delle stesso tipo, il valore è il tipo di documento, altrimenti è una stringa vuota. Parametri: nessuno Restituisce: Una stringa che contiene il tipo di documento (formato o estensione file). Oggetti tipo di dati 17 Sintassi Descrizione doc GetFile(int filenum) Restituisce un riferimento al file specificato; il documento restituito non è una copia; quindi, eventuali modifiche apportate a questo file si riflettono nell'originale. Se filenum non è valido, viene restituito un documento vuoto. Parametri: filenum - indice del file da recuperare; gli indici dei file iniziano da 1. Restituisce: Un documento che contiene un riferimento al file specificato. string GetFileLabel(int filenum) Restituisce l'etichetta del file specificato. L'etichetta viene utilizzata come nome del file (meno l'estensione) per gli allegati nella posta elettronica o nei database. Se filenum non è valido, viene restituita una stringa vuota. Parametri: filenum - indice dell'etichetta del file da recuperare; gli indici dei file iniziano da 1. Restituisce: Una stringa che contiene l'etichetta del file specificato. doc GetFileRange(int start, int end) Restituisce un riferimento ai file specificati; il documento restituito non è una copia; quindi, eventuali modifiche apportate a questi file si riflettono nell'originale. Parametri: start - indice del primo file da recuperare; gli indici dei file iniziano da 1. end - indice dell'ultimo file da recuperare. Restituisce: Un documento che contiene un riferimento ai file specificati. int GetFileSize(int filenum) Restituisce la dimensione del file specificato in byte. Se filenum non è valido, viene restituito un valore zero (0). Parametri: filenum - indice della dimensione del file da recuperare; gli indici dei file iniziano da 1. Restituisce: Un numero intero che contiene la dimensione, in byte, del file specificato. Oggetti tipo di dati 18 Sintassi Descrizione string GetFileType(int filenum) Restituisce il tipo (formato o estensione file) del file specificato. Se filenum non è valido, viene restituita una stringa vuota. Parametri: filenum - indice del tipo di file da recuperare; gli indici dei file iniziano da 1. Restituisce: Una stringa che contiene il valore del tipo di file specificato. int GetNumberFiles() Restituisce il numero dei vari file presenti in questo documento. Non restituisce il numero di pagine. Parametri: nessuno Restituisce: Un numero intero che rappresenta il numero di file presenti in questo documento. bool SetFileLabel(int filenum, string label) Imposta l'etichetta per il file specificato; tale etichetta viene utilizzata come nome file (meno l'estensione) per attribuire un nome agli allegati nella posta elettronica o nei database. Questo metodo non riesce se filenum non è valido. Parametri: filenum - indice del file; gli indici dei file iniziano da 1. label - etichetta per indicare il file specificato; poiché viene utilizzata come nome di file, l'etichetta deve seguire le regole di denominazione dei file. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. void SetFileLabelAll(string label) Imposta le etichette di tutti i file presenti in questo documento; tale etichetta viene utilizzata come nome file (meno l'estensione) per denominare gli allegati nella posta elettronica o nei database. Parametri: label - etichetta per indicare tutti i file; poiché viene utilizzata come nome file, l'etichetta deve seguire le regole di denominazione dei file. Restituisce: nessuno Nota Per le variabili di tipo doc, l'assegnazione della variabile rappresenta solo un riferimento. In altre parole, entrambe le variabili devono fare riferimento allo stesso insieme fisico di file che costituiscono il documento. Quindi, quando viene apportata una modifica a uno di questi file, questo viene modificato in entrambi i documenti. Per effettuare diverse copie di lavoro dei file, utilizzare i metodi Copy o CopyRange dell'oggetto doc. Oggetti tipo di dati 19 Operatori Simbolo Descrizione + Aggiunta (ha la stessa funzione di AddDocument) [] Indice (ha la stessa funzione di GetFile utilizzando lo stesso file) = Assegnazione (ha la stessa funzione di GetFileRange utilizzando tutti i file) Oggetti tipo di dati 20 Numero intero L'oggetto numero intero viene utilizzato per valori privi di virgole decimali. Una proprietà o una variabile è di questo tipo se dichiarata come int. L'oggetto non ha alcuna proprietà. Metodi Sintassi Descrizione void Add(int num) Aggiunge num al valore corrente. Il valore di questo oggetto viene modificato. Parametri: num - numero intero da aggiungere al valore corrente. Restituisce: nessuno real AsReal() Converte e restituisce il valore corrente di questo oggetto come un oggetto numero reale. Il valore di questo oggetto non viene modificato. Parametri: nessuno Restituisce: Un numero reale con il valore di questo oggetto. string AsString() Restituisce il valore corrente di questo oggetto come una stringa. Viene generalmente utilizzato in modo tale che sia possibile usare il numero intero come parte di una stringa. Parametri: nessuno Restituisce: Una stringa con il valore di questo oggetto. void Divide(int num) Divide il valore corrente per num. Il valore di questo oggetto viene modificato. Parametri: num - numero intero per cui eseguire la divisione. Restituisce: nessuno Oggetti tipo di dati 21 Sintassi Descrizione void Mod(int num) Divide il valore corrente per num e imposta il valore di questo oggetto sul resto. Parametri: num - numero intero per cui eseguire la divisione. Restituisce: nessuno void Multiply(int num) Moltiplica il valore corrente per num. Il valore di questo oggetto viene modificato. Parametri: num - numero intero per cui eseguire la moltiplicazione. Restituisce: nessuno Operatori Simbolo Descrizione <, LT Minore di >, GT Maggiore di <=, LE Minore o uguale a >=, GE Maggiore o uguale a ==, EQ Uguale a <>, NE, != Diverso da + Addizione - Sottrazione * Moltiplicazione / Divisione % Modulo (Resto) = Assegnazione Oggetti tipo di dati 22 Esempi Istruzione Valore di X Commento int x 0 Dichiara la variabile x = 5 5 Assegna il valore di 5 a x x.Mod(2) 1 5%2 è uguale a 2 e restituisce 1 x.Add(9) 10 x.Subtract(2) 8 x.Multiply(2) 16 x.Divide(8) 2 x.AsReal() 2 Restituisce 2.0 x.AsString() 2 Restituisce "2" Nota È anche possibile utilizzare gli operatori matematici standard (+, -, *, /). Oggetti tipo di dati 23 Numero reale L'oggetto numero reale viene utilizzato per valori con virgole decimali. Una proprietà o una variabile è di questo tipo se dichiarata come real. L'oggetto non ha alcuna proprietà. Metodi Sintassi Descrizione void Add(real num) Aggiunge num al valore corrente. Il valore di questo oggetto viene modificato. Parametri: num - numero reale da aggiungere al valore corrente. Restituisce: nessuno int AsInt() Converte e restituisce il valore corrente di questo oggetto come un oggetto int. Il valore non viene arrotondato; qualsiasi numero successivo al punto decimale viene troncato. Il valore di questo oggetto non viene modificato. Parametri: nessuno Restituisce: Un numero intero con il valore di questo oggetto. string AsString() Restituisce il valore corrente di questo oggetto come una stringa. Viene generalmente utilizzato in modo tale che sia possibile usare il numero reale come parte di una stringa. Parametri: nessuno Restituisce: Una stringa con il valore di questo oggetto. Oggetti tipo di dati 24 Sintassi Descrizione void Divide(real num) Divide il valore corrente per num. Il valore di questo oggetto viene modificato. Parametri: num - numero reale per cui eseguire la divisione. Restituisce: nessuno void Multiply(real num) Moltiplica il valore corrente per num. Il valore di questo oggetto viene modificato. Parametri: num - numero reale per cui eseguire la moltiplicazione. Restituisce: nessuno Operatori Simbolo Descrizione <, LT Minore di >, GT Maggiore di <=, LE Minore o uguale a >=, GE Maggiore o uguale a ==, EQ Uguale a <>, NE, != Diverso da + Addizione - Sottrazione * Moltiplicazione / Divisione = Assegnazione Oggetti tipo di dati 25 Stringa L'oggetto stringa è utilizzato per valori in formato testo. Una proprietà o una variabile è di questo tipo se dichiarata come string. L'oggetto non ha alcuna proprietà. Metodi Sintassi Descrizione string AsAlphaNumeric() Converte e restituisce il valore corrente della stringa come una stringa che contiene solo caratteri alfabetici e numerici del valore corrente; tutti gli altri caratteri vengono rimossi. Il valore di questa stringa non viene modificato. Parametri: nessuno Restituisce: Una stringa che contiene solo i caratteri alfabetici e numerici presenti nella stringa corrente. doc AsDoc() Restituisce il valore corrente di questa stringa come documento. Il documento ha un file che contiene il valore corrente di questa stringa in formato testo. Parametri: nessuno Restituisce: Un documento con il valore corrente di questa stringa in formato testo. int AsInt() Restituisce il valore corrente della stringa come un numero intero. Il valore corrente viene letto fino al primo carattere non numerico. Il valore restituito è zero (0) se la stringa è vuota o se il primo carattere non è numerico. Il valore di questa stringa non viene modificato. Parametri: nessuno Restituisce: Un numero intero con il valore corrente della stringa come il relativo numero intero. Oggetti tipo di dati 26 Sintassi Descrizione string AsLower() Converte e restituisce il valore corrente di questa stringa in lettere minuscole. Eventuali caratteri non alfabetici non vengono modificati. Il valore di questa stringa non viene modificato. Parametri: nessuno Restituisce: Una stringa con il valore corrente convertito in lettere minuscole. real AsReal() Restituisce il valore corrente della stringa come un numero reale. Il valore corrente viene letto fino al primo carattere non numerico. I caratteri numerici dei numeri reali includono il punto decimale. Il valore restituito è zero (0.0) se la stringa è vuota o se il primo carattere non è numerico. Il valore di questa stringa non viene modificato. Parametri: nessuno Restituisce: Un numero reale con il valore corrente della stringa come un numero reale. string AsUpper() Converte e restituisce il valore corrente di questa stringa in lettere maiuscole. Eventuali caratteri non alfabetici non vengono modificati. Il valore di questa stringa non viene modificato. Parametri: nessuno Restituisce: Una stringa con il valore corrente convertito in lettere maiuscole. bool Compare(string string1) Confronta il valore corrente di questa stringa con quello fornito. Nel confronto viene operata la distinzione tra maiuscole e minuscole. Parametri: string1 - stringa con cui viene confrontato il valore corrente di questa stringa. Restituisce: Un valore booleano TRUE, se le stringhe sono le stesse, includendo l'uso delle maiuscole e delle minuscole dei caratteri alfabetici; altrimenti, un valore FALSE. Oggetti tipo di dati 27 Sintassi Descrizione bool CompareNoCase(string string1) Confronta il valore corrente di questa stringa con quello fornito. In questo confronto non viene operata la distinzione tra maiuscole e minuscole. Parametri: string1 - stringa con cui viene confrontato il valore corrente di questa stringa. Restituisce: Un valore booleano TRUE, se le stringhe sono le stesse, escludendo l'uso delle maiuscole e delle minuscole dei caratteri alfabetici; altrimenti un valore FALSE. void Concatenate(string string1) Aggiunge string1 al valore corrente di questa stringa. Parametri: string1 - stringa da aggiungere. Restituisce: nessuno int Find(string substring, int start) Ricerca il valore corrente di questa stringa per individuare la prima occorrenza della substring specificata. Parametri: substring - la sottostringa da ricercare. start - l'indice del carattere, in questa stringa, da cui deve iniziare la ricerca; specificando il valore 1, la ricerca parte dall'inizio. Restituisce: Un numero intero che indica la posizione iniziale della sottostringa in questa stringa; 0 se la sottostringa non viene trovata. string Left(int count) Restituisce i primi count caratteri di questa stringa. Se count è maggiore della lunghezza della stringa, viene restituita l'intera stringa. Parametri: count - il numero dei caratteri da recuperare. Restituisce: Una stringa che contiene i primi count caratteri del valore corrente. int Length() Restituisce il numero dei caratteri presenti in questa stringa. Parametri: nessuno Restituisce: Un numero intero che contiene il numero dei caratteri presenti nella stringa. Oggetti tipo di dati 28 Sintassi Descrizione string Mid(int start, int count) Restituisce una sottostringa della stringa corrente, di lunghezza count, che inizia dal carattere start. Gli indici di stringa iniziano da 1. Parametri: start - l'indice del primo carattere da includere nella sottostringa. count - il numero di caratteri da includere nella sottostringa; un valore zero (0) indica il resto dei caratteri presenti nella stringa. Restituisce: Una stringa che è una sottostringa del valore corrente e contiene i caratteri nell'intervallo specificato. int Replace(string old, string new, int index, bool matchcase, bool wholeword) Ricerca il valore corrente della stringa iniziando dall'indice specificato e sostituisce la prima occorrenza della vecchia stringa con la nuova stringa. La ricerca può essere impostata con distinzione tra maiuscole e minuscole o per individuare solo parole intere. Parametri: old - la stringa da ricercare. new - la stringa utilizzata per sostituire la vecchia stringa. index - voce nel campo relativo all'indice. matchcase - indica se la ricerca deve distinguere tra maiuscole e minuscole. wholeword - indica se devono essere ricercate solo parole intere e non parti di esse. Restituisce: Un numero intero che indica l'indice del primo carattere, presente nella stringa, che corrisponde alla stringa specificata. Viene restituito il valore 0 se non esiste corrispondenza. Oggetti tipo di dati 29 Sintassi Descrizione int ReplaceAll(string old, string new, bool matchcase, bool wholeword) Ricerca il valore corrente della stringa e sostituisce tutte le occorrenze della vecchia stringa con la nuova. La ricerca può essere impostata con distinzione tra maiuscole e minuscole o per individuare solo parole intere. Parametri: old - la stringa da ricercare. new - la stringa utilizzata per sostituire la vecchia stringa. matchcase - indica se la ricerca deve distinguere tra maiuscole e minuscole. wholeword - indica se devono essere ricercate solo parole intere e non parti di esse. Restituisce: Un numero intero che indica il numero delle sostituzioni effettuate. Viene restituito il valore 0 se non esiste corrispondenza. string Right(int count) Restituisce gli ultimi count caratteri della stringa. Se count è maggiore della lunghezza della stringa, viene restituita l'intera stringa. Parametri: count - il numero dei caratteri da recuperare. Restituisce: Una stringa che contiene gli ultimi count caratteri del valore corrente. stringarray Separate(string separator) Viene ricercato il valore corrente della stringa per individuare la stringa separator; ad ogni occorrenza trovata, viene creata una nuova stringa meno il valore del separator. Quando viene raggiunta la fine della stringa, la parte rimanente viene aggiunta all'ultimo elemento della matrice. Se il separator non viene trovato, viene restituita l'intera stringa come primo elemento della matrice. Parametri: separator - la stringa utilizzata come valore separatore. Restituisce: Una matrice di stringhe in cui ogni elemento rappresenta una stringa meno il separatore. Oggetti tipo di dati 30 Sintassi Descrizione void TrimBoth() Rimuove eventuali spazi vuoti che precedono e seguono la stringa. Gli spazi vuoti possono essere caratteri di nuova riga, spazi o tabulazioni. Il valore della stringa corrente viene modificato. Parametri: nessuno Restituisce: nessuno void TrimLeft() Rimuove eventuali spazi vuoti che precedono la stringa. Gli spazi vuoti possono essere caratteri di nuova riga, spazi o tabulazioni. Il valore della stringa corrente viene modificato. Parametri: nessuno Restituisce: nessuno void TrimRight() Rimuove eventuali spazi vuoti che seguono la stringa. Gli spazi vuoti possono essere caratteri di nuova riga, spazi o tabulazioni. Il valore della stringa corrente viene modificato. Parametri: nessuno Restituisce: nessuno Operatori Simbolo Descrizione <, LT Minore di (esegue il confronto distinguendo tra maiuscole e minuscole) >, GT Maggiore di (esegue il confronto distinguendo tra maiuscole e minuscole) ==, EQ Uguale a (esegue il confronto distinguendo tra maiuscole e minuscole) <>, NE Diverso da (esegue il confronto distinguendo tra maiuscole e minuscole) + Concatenazione Oggetti tipo di dati 31 Esempi Per la stringa, str, con un valore di "ABC123abc:789": str.AsAlphaNumeric() restituisce "ABC123abc789" str.AsInt() restituisce 0 str.AsLower() restituisce "abc123abc:789" str.AsReal() restituisce 0.0 str.AsUpper() restituisce "ABC123ABC:789" str.Contains("123") restituisce TRUE str.Find("123", 1) restituisce 4 str.Length() restituisce 13 str.Left(5) restituisce "ABC12" str.Mid(6, 4) restituisce "3abc" str.Right(4) restituisce ":789" Per la stringa, str, con un valore di "12,45": str.AsReal() restituisce 12,45 str.AsInt() restituisce 12 Per la stringa, str, con un valore di "Questo è il testo di questa stringa.": str.Replace("è", "era", TRUE, FALSE, 1) restituisce 3 e modifica il valore in: "Questo è il testo di questa stringa." str.Replace("è", "era", 1, FALSE, TRUE) restituisce 6 e modifica il valore in: "Questo era il testo di questa stringa." Oggetti tipo di dati 32 str.ReplaceAll("questo", "quello", FALSE,TRUE) restituisce 2 e modifica il valore in: "Quello è il testo di quella stringa." str.ReplaceAll("questo", "quello", TRUE, FALSE) restituisce 1 e modifica il valore in: "Questo è il testo di quella stringa." Oggetti tipo di dati 33 Caratteri di escape Esistono alcuni caratteri necessari nelle stringhe, che non possono essere rappresentati utilizzando caratteri normali. Per specificare questi caratteri, gli oggetti stringa supportano i seguenti caratteri di escape. Simbolo Descrizione ^n Nuova riga di Windows ^l Avanzamento riga di Unix ^r Ritorno a capo di Unix ^t Tabulazione ^^ Accento circonflesso ^xdd Esadecimale ^" Inserisce le virgolette nella stringa Per utilizzare questi simboli, includere il carattere di escape all'interno delle virgolette. Ad esempio: string str = "Riga 1^nRiga2^tPassa alla colonna seguente" string msg = "Questa è la ^"prima^" stringa tra virgolette." Oggetti tipo di dati 34 Mappa L'oggetto mappa viene utilizzato per contenere una raccolta di coppie chiave/valore e consente di strutturare i dati in alcuni formati definiti dall'utente. È possibile suddividere ulteriormente i dati in categorie; le categorie possono avere coppie chiave/valore proprie. Tutte le chiavi e i valori presenti nella mappa sono stringhe. Il layout dei dati è il seguente: • key = valore • category.key = valore • category.subcategory.key = valore Sono consentiti più livelli di categorie. Ogni categoria deve disporre di almeno una coppia chiave/ valore. Una proprietà o una variabile è di questo tipo se dichiarata come mappa. L'oggetto mappa non ha proprietà. Metodi Sintassi Descrizione void AddItem(string key, string value) Aggiunge alla mappa la coppia chiave/valore. Per aggiungere la coppia chiave/valore a una categoria specifica, inserire il nome della categoria come parte della chiave, utilizzando un punto per separare il nome della categoria e della chiave. Se la categoria non esiste, verrà creata. Parametri: key - la chiave da aggiungere alla mappa. value - il valore da assegnare alla chiave. Restituisce: nessuno map GetCategory(string category) Restituisce una mappa delle coppie chiave/valore che appartengono alla categoria specificata. Se la categoria non esiste, verrà restituita una mappa senza alcuna voce. Parametri: category - il nome della categoria. Restituisce: Una mappa con coppie chiave/valore che appartengono alla categoria specificata. Oggetti tipo di dati 35 Sintassi Descrizione stringarray GetCategoryList() Restituisce un elenco delle categorie di livello superiore presenti nella mappa. Se non esistono categorie, viene restituita una stringarray senza elementi. Parametri: nessuno Restituisce: Un elenco delle categorie di livello superiore presenti nella mappa. stringarray GetKeyList() Restituisce un elenco delle chiavi di livello superiore presenti nella mappa. Se non esistono chiavi di livello superiore, viene restituita una stringarray senza elementi. Parametri: nessuno Restituisce: Un elenco delle chiavi di livello superiore presenti nella mappa. string GetValue(string key) Restituisce il valore della chiave specificata. Per ottenere la coppia chiave/valore da una categoria specificata, inserire il nome della categoria come parte della chiave, utilizzando un punto per separare il nome della categoria e della chiave. Se la chiave specificata non esiste, viene restituita una stringa vuota. Parametri: key - il nome della chiave. Restituisce: Il valore della chiave specificata. Oggetti tipo di dati 36 Sintassi Descrizione bool HasCategory(string category) Restituisce TRUE se la categoria specificata esiste nella mappa. Per verificare se una categoria dispone di una sottocategoria, separare i nomi di categoria e sottocategoria con un punto. Parametri: category - il nome della categoria. Restituisce: Un valore booleano che indica se la categoria esiste nella mappa. bool HasKey(string key) Restituisce TRUE se la chiave specificata esiste nella mappa. Per verificare se la coppia chiave/valore esiste in una categoria specificata, inserire il nome della categoria come parte della chiave, utilizzando un punto per separare il nome della categoria e della chiave. Parametri: key - il nome della chiave. Restituisce: Un valore booleano che indica se la chiave esiste nella mappa. Esempi Per creare una mappa contenente chiavi di primo livello di ''nome'' e ''cognome'' e una categoria di ''indirizzo'': map info info.AddItem("nome", "mario") info.AddItem("cognome", "rossi") info.AddItem("indirizzo.via", "Via Milano 123") info.AddItem("indirizzo.città", "Roma") info.AddItem("indirizzo.stato", "I") info.AddItem("indirizzo.cap,", "00100") In seguito, se si desidera ottenere le informazioni dalla mappa, aggiungere: stringarray catlist, keylist map address catlist = info.GetCategoryList() address = info.GetCategory("indirizzo") keylist = address.GetKeyList() Utilizzando le variabili precedenti: address.HasKey("numero di telefono")restituisceFALSE info.GetValue("nome")restituisce"Giovanni" info.GetValue("indirizzo.zip")restituisce"40000" address.GetValue("casella postale")restituisce"" Oggetti tipo di dati 37 4 Oggetti helper Gli oggetti helper vengono forniti per facilitare l'esecuzione di alcune operazioni comuni. Al momento, esistono nove oggetti di questo tipo: • • • • • • • • • Matrice valore booleano Dataset Matrice numeri interi Opzioni di stampa Matrice numeri reali Matrice stringhe TextFile ImageInfo TiffSeparate Per utilizzare un oggetto helper, indicare una variabile del tipo di oggetto specificato. Oggetti helper 38 Matrice valore booleano L'oggetto matrice valore booleano viene utilizzato per contenere una raccolta di valori di questo tipo. L'indice della matrice inizia da 1. Una variabile è di questo tipo se dichiarata come boolarray. L'oggetto non ha alcuna proprietà. Metodi Sintassi Descrizione void Add(bool item) Aggiunge l'elemento specificato alla fine della matrice. Parametri: item - valore booleano da aggiungere. Restituisce: nessuno bool GetAt(int index) Restituisce il valore booleano all'indice specificato. Se si specifica un indice non valido, viene restituito FALSE. Parametri: index - l'indice del valore booleano da restituire nella matrice. Restituisce: Il valore booleano all'indice specificato. int GetSize() Restituisce il numero di elementi nella matrice. Parametri: nessuno Restituisce: Un numero intero con il numero di elementi presenti nella matrice. void RemoveAll() Rimuove tutti gli elementi dalla matrice. Parametri: nessuno Restituisce: nessuno void RemoveAt(int index) Rimuove il valore booleano dall'indice specificato; tutti gli altri elementi presenti nella matrice, dopo l'indice specificato, avanzeranno di una posizione. Parametri: index - l'indice del valore booleano da rimuovere dalla matrice. Restituisce: nessuno Oggetti helper 39 Dataset L'oggetto dataset contiene il nome di un formset utilizzato per unire ma anche per creare una mappa di coppie chiave/valore correlate ai campi presenti nel formset specificato. Una proprietà o una variabile è di questo tipo se dichiarata come dataset. L'oggetto non ha alcuna proprietà. Metodi Sintassi Descrizione string GetDataItem(string key) Ricerca la mappa della chiave specificata e restituisce il valore corrispondente. Parametri: key - la coppia chiave/valore da ricercare. Restituisce: Una stringa che contiene il valore della chiave specificata. Se la chiave non esiste in quella pagina, viene restituita una stringa vuota. string GetFormset() Restituisce il nome del formset utilizzato dal dataset. Parametri: nessuno Restituisce: Una stringa contenente il nome del formset utilizzato. bool Load(doc info) Carica da un file le informazioni del dataset salvate in precedenza. Tutti i valori precedenti impostati per questo dataset vengono eliminati e sostituiti con i dati presenti nel file. Parametri: info - il documento contenente il dataset. Restituisce: Un valore booleano che indica se il dataset è stato caricato correttamente. bool Save(doc info) Salva in un file i valori correnti presenti nel dataset. Questo file può essere caricato successivamente per ricreare un'unione senza l'input originale. Parametri: info - il documento in cui salvare il dataset. Restituisce: Un valore booleano che indica se il formset è stato salvato correttamente. Oggetti helper 40 Sintassi Descrizione void SetDataItem(string key, string value) Aggiunge alla mappa la coppia chiave/valore. Parametri: key - la chiave da aggiungere. value - il valore da assegnare alla chiave. Restituisce: nessuno void SetFormset(string formset) Imposta il nome del formset utilizzato dal dataset. Parametri: formset - nome del formset. Restituisce: nessuno Oggetti helper 41 Matrice numeri interi L'oggetto matrice numeri interi viene utilizzato per contenere una raccolta di numeri interi. L'indice della matrice inizia da 1. Una variabile è di questo tipo se dichiarata come intarray. L'oggetto non ha alcuna proprietà. Metodi Sintassi Descrizione void Add(int item) Aggiunge l'elemento specificato alla fine della matrice. Parametri: item - numero intero da aggiungere. Restituisce: nessuno int GetAt(int index) Restituisce il numero intero all'indice specificato. Se si specifica un indice non valido, viene restituito zero (0). Parametri: index - l'indice del numero intero nella matrice da restituire. Restituisce: Il numero intero all'indice specificato. int GetSize() Restituisce il numero di elementi nella matrice. Parametri: nessuno Restituisce: Un numero intero con il numero di elementi presenti nella matrice. void RemoveAll() Rimuove tutti gli elementi dalla matrice. Parametri: nessuno Restituisce: nessuno void RemoveAt(int index) Rimuove il numero intero dall'indice specificato; tutti gli altri elementi presenti nella matrice, dopo l'indice specificato, avanzeranno di una posizione. Parametri: index - l'indice del numero intero da rimuovere dalla matrice. Restituisce: nessuno Oggetti helper 42 Opzioni di stampa L'oggetto opzioni di stampa viene utilizzato per specificare le opzioni per processo e per pagina, ad esempio fronte/retro, orientamento e raccoglitore di uscita. L'azione PrintForm utilizza questo oggetto per stabilire il metodo migliore per stampare il documento ricevuto. Una variabile o una proprietà è di questo tipo se dichiarata come printoptions. L'oggetto non ha alcuna proprietà. Metodi Sintassi Descrizione bool SetJobOption(int optionid, int valueid) Imposta un'opzione di stampa che si applica a un intero processo di stampa. Se combinate con le opzioni di pagina, le opzioni relative al processo si utilizzano come un valore predefinito del processo e vengono sovrascritte dalle opzioni di pagina. Parametri: optionid - l'opzione da impostare per il processo. valueid - il valore da impostare per l'opzione relativa al processo. Restituisce: Un valore booleano che indica se l'opzione relativa al processo è stata impostata. bool SetPageOption(int optionid, int valueid, int startpage, int endpage) Imposta un'opzione di stampa che si applica all'intervallo di pagine specificato. Per impostare un'opzione per una singola pagina, specificare quest'ultima come iniziale e finale. Parametri: optionid - l'opzione da impostare per il processo. valueid - il valore da impostare per l'opzione relativa al processo. startpage - la prima pagina a cui applicare l'opzione. endpage - l'ultima pagina a cui applicare l'opzione. Restituisce: Un valore booleano che indica se l'opzione di pagina è stata impostata. Oggetti helper 43 Opzioni ID opzione Valori possibili LDD_PRINTOPTION_COLLATE LDD_COLLATE_ON LDD_COLLATE_OFF LDD_PRINTOPTION_COLORMODEL LDD_COLORMODEL_BLACK LDD_COLORMODEL_CMYK LDD_PRINTOPTION_COPIES Numero intero di copie LDD_PRINTOPTION_DUPLEX LDD_DUPLEX_OFF LDD_DUPLEX_LONGEDGE LDD_DUPLEX_SHORTEDGE LDD_PRINTOPTION_HOLEPUNCH LDD_HOLEPUNCH_ON LDD_HOLEPUNCH_OFF LDD_PRINTOPTION_NUP LDD_NUP_OFF LDD_NUP_2UP LDD_NUP_3UP LDD_NUP_4UP LDD_NUP_6UP LDD_NUP_9UP LDD_NUP_12UP LDD_NUP_16UP LDD_PRINTOPTION_NUP_BORDER LDD_NUP_BORDER_ON LDD_NUP_BORDER_OFF LDD_PRINTOPTION_NUP_ORDER LDD_NUP_ORDER_HORIZONTAL LDD_NUP_ORDER_VERTICAL LDD_NUP_ORDER_REV_HORIZONTAL LDD_NUP_ORDER_REV_VERTICAL LDD_PRINTOPTION_NUP_ORIENTATION LDD_NUP_ORIENTATION_AUTO LDD_NUP_ORIENTATION_PORTRAIT LDD_NUP_ORIENTATION_LANDSCAPE LDD_PRINTOPTION_ORIENTATION LDD_ORIENTATION_PORTRAIT LDD_ORIENTATION_LANDSCAPE Oggetti helper 44 ID opzione Valori possibili LDD_PRINTOPTION_OUTPUTBIN LDD_OUTPUTBIN_STANDARD LDD_OUTPUTBIN_1 LDD_OUTPUTBIN_2 LDD_OUTPUTBIN_3 LDD_OUTPUTBIN_4 LDD_OUTPUTBIN_5 LDD_OUTPUTBIN_6 LDD_OUTPUTBIN_7 LDD_OUTPUTBIN_8 LDD_OUTPUTBIN_9 LDD_OUTPUTBIN_10 LDD_PRINTOPTION_PAPERSIZE LDD_PAPERSIZE_11X17 LDD_PAPERSIZE_A3 LDD_PAPERSIZE_A4 LDD_PAPERSIZE_A5 LDD_PAPERSIZE_FOLIO LDD_PAPERSIZE_JISB4 LDD_PAPERSIZE_JISB5 LDD_PAPERSIZE_LEGAL LDD_PAPERSIZE_LETTER LDD_PAPERSIZE_STATEMENT LDD_PAPERSIZE_UNIVERSAL LDD_PRINTOPTION_PAPERSOURCE LDD_PAPERSOURCE_TRAY1 LDD_PAPERSOURCE_TRAY2 LDD_PAPERSOURCE_TRAY3 LDD_PAPERSOURCE_TRAY4 LDD_PAPERSOURCE_TRAY5 LDD_PAPERSOURCE_ENV_FEEDER LDD_PAPERSOURCE_MP_FEEDER Oggetti helper 45 ID opzione Valori possibili LDD_PRINTOPTION_PAPERTYPE LDD_PAPERTYPE_PLAIN LDD_PAPERTYPE_COLOR LDD_PAPERTYPE_TRANSPARENCY LDD_PAPERTYPE_CARDSTOCK LDD_PAPERTYPE_LABELS LDD_PAPERTYPE_LETTERHEAD LDD_PAPERTYPE_PREPRINTED LDD_PAPERTYPE_BOND LDD_PAPERTYPE_ENVELOPE LDD_PAPERTYPE_CUSTOM1 LDD_PAPERTYPE_CUSTOM2 LDD_PAPERTYPE_CUSTOM3 LDD_PAPERTYPE_CUSTOM4 LDD_PAPERTYPE_CUSTOM5 LDD_PAPERTYPE_CUSTOM6 LDD_PRINTOPTION_RESOLUTION LDD_RESOLUTION_75 LDD_RESOLUTION_150 LDD_RESOLUTION_200 LDD_RESOLUTION_300 LDD_RESOLUTION_400 LDD_RESOLUTION_500 LDD_RESOLUTION_600 LDD_RESOLUTION_1200 LDD_RESOLUTION_1200IQ LDD_PRINTOPTION_STAPLE LDD_STAPLE_ON LDD_STAPLE_OFF LDD_PRINTOPTION_TONERSAVER LDD_TONERSAVER_ON LDD_TONERSAVER_OFF Note • LDD_PRINTOPTION_COLORMODEL è utilizzato solo per le stampe a colori. Con l'impostazione BLACK, la stampante utilizzerà solo la cartuccia nera per stampare la pagina. L'impostazione CMYK consente di utilizzare anche le cartucce a colori. • LDD_PRINTOPTION_RESOLUTION e LDD_PRINTOPTION_STAPLE non sono opzioni di pagina valide; possono essere impostate solo tramite SetJobOption. Oggetti helper 46 • Se si specificano delle opzioni di pagina, tenere presente che modificando alcune di esse, come ad esempio Dimensioni carta, altre opzioni potrebbero non funzionare correttamente. Ad esempio, se l'opzione fronte/retro è attiva per le pagine uno e due, ma Dimensioni carta per la pagina uno è impostata su Letter, mentre la pagina due è impostata su Legal, le pagine non verranno stampate in fronte/retro. • La dimensione Universale della carta può essere personalizzata tramite il menu di stampa e consente di impostare la dimensione e la modalità di alimentazione della carta. Se la dimensione della carta, in una pagina, è impostata su Universale, l'impostazione dell'orientamento di quella pagina non viene utilizzata poiché Universale è valida sia per la dimensione che per l'orientamento. • Se si imposta Dimensioni carta e Origine carta, quest'ultima ha priorità sulla prima impostazione. Si consiglia di impostarne solo una. Oggetti helper 47 Matrice numeri reali L'oggetto matrice numeri reali viene utilizzato per contenere una raccolta di numeri reali. L'indice della matrice inizia da 1. Una variabile è di questo tipo se dichiarata come realarray. L'oggetto non ha alcuna proprietà. Metodi Sintassi Descrizione void Add(real item) Aggiunge l'elemento specificato alla fine della matrice. Parametri: item - numero reale da aggiungere. Restituisce: nessuno real GetAt(int index) Restituisce il numero reale dell'indice specificato. Se si specifica un indice non valido, viene restituito zero (0.0). Parametri: index - l'indice del numero reale della matrice da restituire. Restituisce: Il numero reale dell'indice specificato. int GetSize() Restituisce il numero di elementi nella matrice. Parametri: nessuno Restituisce: Un numero intero con il numero di elementi presenti nella matrice. void RemoveAll() Rimuove tutti gli elementi dalla matrice. Parametri: nessuno Restituisce: nessuno void RemoveAt(int index) Rimuove il numero reale dell'indice specificato; tutti gli altri elementi presenti nella matrice, dopo l'indice specificato, avanzeranno di una posizione. Parametri: index - l'indice del numero reale della matrice da rimuovere. Restituisce: nessuno Oggetti helper 48 Matrice stringhe L'oggetto matrice stringhe viene utilizzato per contenere una raccolta di stringhe. L'indice della matrice inizia da 1. Una variabile è di questo tipo se dichiarata come stringarray. L'oggetto non ha alcuna proprietà. Metodi Sintassi Descrizione void Add(string item) Aggiunge l'elemento specificato alla fine della matrice. Parametri: item - stringa da aggiungere. Restituisce: nessuno string GetAt(int index) Restituisce la stringa all'indice specificato. Se si specifica un indice non valido, viene restituita una stringa vuota. Parametri: index - l'indice della stringa della matrice da restituire. Restituisce: La stringa all'indice specificato. int GetSize() Restituisce il numero di elementi nella matrice. Parametri: nessuno Restituisce: Un numero intero con il numero di elementi presenti nella matrice. void RemoveAll() Rimuove tutti gli elementi dalla matrice. Parametri: nessuno Restituisce: nessuno void RemoveAt(int index) Rimuove la stringa dall'indice specificato; tutti gli altri elementi presenti nella matrice, dopo l'indice specificato, avanzeranno di una posizione. Parametri: index - l'indice della stringa da rimuovere dalla matrice. Restituisce: nessuno Oggetti helper 49 Esempio L'esempio si riferisce a una stringa, str, con un valore "Bruno,Giovanna,Giovanni,Gianna". Chiamando il metodo separate dell'oggetto stringa, questo restituisce una matrice per ogni voce corrispondente a uno dei nomi. stringarray a string str = "Bruno,Giovanna,Giovanni,Gianna" a = str.Separate(",") a.GetSize() restituisce 4 a[1] o a.GetAt(1) restituisce "Bruno" a[2] o a.GetAt(2) restituisce "Giovanna" a[3] o a.GetAt(3) restituisce "Giovanni" a[4] o a.GetAt(4) restituisce "Gianna" string.GetSize() restituisce 4 string.Add() restituisce Qualsiasi elemento aggiunto alla matrice. string.Remove() restituisce Rimuove una voce dalla matrice. string.RemoveAll() restituisce Rimuove tutte le voci dalla matrice. Oggetti helper 50 Textfile L'oggetto textfile viene utilizzato per elaborare un singolo file di testo; non funziona con immagini o più file. Può essere utilizzato per leggere del testo da un file esistente o per scrivere un testo su un file nuovo o esistente ed essere utilizzato in altri processi. Una variabile è di questo tipo se dichiarata come textfile. L'oggetto ha una sola proprietà. Nome Descrizione Tipo Ulteriori informazioni filetype Ogni sistema operativo gestisce le nuove righe in modo differente. Utilizzare questa impostazione per indicare il sistema operativo con cui è stato creato il file e/o il sistema operativo in cui verrà utilizzato in seguito il file. int (costante LDD) Valori validi: LDD_FILETYPE_UNIX LDD_FILETYPE_DOS LDD_FILETYPE_MAC Predefinito: LDD_FILETYPE_UNIX Metodi Sintassi Descrizione bool Append(string text) Aggiunge text alla fine del file. Il puntatore del file si sposta alla fine del testo aggiunto. Il metodo non riesce se non è stato aperto alcun file o se lo spazio libero sul disco non è sufficiente. Parametri: text - dati da aggiungere al file. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. bool AppendLine(string text) Aggiunge text alla fine del file e inserisce una nuova riga alla fine del testo specificato. Il puntatore del file si sposta alla fine del testo aggiunto, dopo la nuova riga. Il metodo non riesce se non è stato aperto alcun file o se lo spazio libero sul disco non è sufficiente. Parametri: text - dati da aggiungere al file. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. Oggetti helper 51 Sintassi Descrizione bool Clear() Elimina i contenuti del file. Il metodo non riesce se non è stato aperto alcun file. Parametri: nessuno Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. void Close() Chiude il file associato a questo oggetto. Parametri: nessuno Restituisce: nessuno bool Eof() Verifica se il puntatore del file si trova alla fine del file. Se si raggiunge la fine del file, restituisce il valore TRUE, altrimenti FALSE. Parametri: nessuno Restituisce: Un valore booleano che indica se il puntatore del file si trova alla fine del file. string GetLine(int line) Restituisce la riga di testo specificata da line meno eventuali nuove righe sottratte dalla stringa restituita. Una riga termina quando si riscontra un carattere di nuova riga. Questo metodo non sposta il puntatore file. Se line non esiste o un file non è aperto, viene restituita una stringa vuota. Parametri: line - la riga del testo da ottenere. Restituisce: Una stringa contenente la riga specificata del testo, meno la nuova riga. int GetNumberLines() Restituisce il numero di righe presenti nel file. Una riga termina quando si riscontra un carattere di nuova riga. Questo metodo non sposta il puntatore file. Viene restituito zero (0) se non è stato aperto alcun file. Parametri: nessuno Restituisce: Un numero intero che specifica il numero di righe presenti in questo file. Oggetti helper 52 Sintassi Descrizione bool Open(doc doc1) Apre il primo file nel documento specificato e imposta il puntatore file all'inizio del file. In genere viene richiamato per utilizzare un file creato da un'altra azione. Il metodo non riesce se il documento specificato non esiste. Parametri: doc1 - documento da aprire. Restituisce: Un valore booleano che indica se il file è stato aperto correttamente. bool Open(string file, bool create) Apre il file specificato e imposta il puntatore del file all'inizio del file. Se il file non esiste e create è impostato su TRUE, il file verrà creato; in caso contrario, quest'ultimo non verrà creato e il metodo non riuscirà. Inoltre, il metodo potrebbe non riuscire se una qualsiasi directory specificata nel percorso non esiste o se il percorso si trova su un'unità di rete per la quale il Document Server non dispone dei diritti di accesso. Parametri: file - il percorso completo del file da aprire. create - specifica se creare il file, qualora il file non esista. Restituisce: Un valore booleano che indica se il file è stato aperto correttamente. string Read(int count) Restituisce count caratteri dal file iniziando dalla posizione corrente del puntatore. Il puntatore del file viene spostato oltre l'ultimo carattere letto. Se count è maggiore dei rimanenti caratteri nel file, viene restituito il numero di caratteri presenti dalla posizione del cursore alla fine del file. Se non è aperto alcun file o se il puntatore si trova alla fine del file, viene restituita una stringa vuota. Parametro: count - il numero di caratteri da leggere. Restituisce: Una stringa con i caratteri specificati, letti dal file. Oggetti helper 53 Sintassi Descrizione string ReadLine() Restituisce la riga successiva dal file. Il puntatore del file avanza fino al successivo carattere di fine riga. La stringa restituita non include il carattere di fine riga. Se non è aperto alcun file o se il puntatore si trova alla fine del file, viene restituita una stringa vuota. Parametri: nessuno Restituisce: Una stringa contenente la riga successiva di testo dal file. bool Rewind() Sposta il puntatore file all'inizio del file. Questo metodo non riesce se non è stato aperto alcun file. Parametri: nessuno Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. int Size() Restituisce la dimensione del file di testo in byte. Viene restituito zero (0) se non è stato aperto alcun file. Parametri: nessuno Restituisce: Un numero intero che specifica la dimensione del file in byte. Oggetti helper 54 Sintassi Descrizione bool Write(string data) Scrive data nel file di testo nella posizione corrente del puntatore file. Il puntatore del file si sposta oltre l'ultimo carattere scritto. Questo metodo non riesce se non è stato aperto alcun file o se lo spazio sul disco non è sufficiente. Parametri: data - stringa da scrivere nel file di testo. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. bool WriteLine(string data) Scrive data nel file di testo nella posizione corrente del puntatore file. Dopo data viene scritto un carattere di fine riga. Il puntatore del file si sposta oltre il carattere di fine riga. Questo metodo non riesce se non è stato aperto alcun file o se lo spazio sul disco non è sufficiente. Parametri: data - stringa da scrivere nel file di testo. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. Esempio 1 Supponiamo che la directory principale c:\ contenga un file denominato "data.txt". Di seguito è riportato il codice LDDScript che leggerà il contenuto del file "data.txt". textfile tf string data int size tf.Open("c:\data.txt", FALSE) size = tf.Size() data = tf.Read(size) tf.Close() Oggetti helper 55 Esempio 2 Supponiamo che si desideri salvare i dati utente inviati, insieme a un processo, a un file .xml per una successiva elaborazione. Il file verrà salvato in una directory dati e a ciascun file verrà attribuito il nome corrispondente alla proprietà usertime, per garantire nomi univoci. textfile tf string data tf.Open("c:\data\" + original.usertime + ".xml", TRUE) tf.WriteLine("<? versione xml=’1.0’>") tf.WriteLine("<metadati>") data = "<numero di account=’" + userdata.acct + "’>" tf.WriteLine(data) data = "<copies number=’" + userdata.copies.AsString() + "’ />" tf.WriteLine("<metadata>") tf.WriteLine("<metadata>") tf.WriteLine(data) tf.Close() Il file di dati XML generato dallo script precedente corrisponde o è simile alle seguenti informazioni: <? xml version="1.0"> <metadati> <numero di account="12345"> <numero di copie="1" /> </account> </metadati> Oggetti helper 56 ImageInfo L'oggetto ImageInfo viene utilizzato per ottenere informazioni di base su un'immagine. È possibile utilizzarlo con tutti i formati di immagine LDD supportati; alcuni metodi possono essere utilizzati anche con i file PDF. Una variabile è di questo tipo se dichiarata come imginfo. Questo oggetto non ha proprietà. Sintassi void SetImage(immagine doc) Descrizione Utilizzato per impostare il formato del file che contiene le informazioni. Se il doc contiene più file, si presume che tutti i file siano dello stesso tipo. Si tratta del primo metodo da chiamare quando si utilizza questo oggetto. Parametri: Immagine - la variabile doc contenente le immagini su cui raccogliere informazioni. Restituisce: nessuno int GetType() Utilizzato per ottenere il tipo di immagine. È possibile chiamare questo metodo per immagini e file PDF. Parametri: nessuno Restituisce: Una definizione LDD che indica il tipo di immagine. Vedere la tabella riportata di seguito per l'elenco dei formati di immagine possibili. Viene restituito zero (0) se non è stato chiamato SetImage o se il tipo di immagine non è noto. int GetHeight([int page]) Utilizzato per ottenere l'altezza in pixel della pagina specificata. Se non è specificata alcuna pagina, viene restituita l'altezza della prima pagina. È possibile chiamare questo metodo solo per le immagini. Parametri: pagina - la pagina di cui si richiede l'altezza. Restituisce: L'altezza della pagina in pixel. Viene restituito zero (0) se SetImage non è stato chiamato, il numero della pagina specificato non è valido, il file è un PDF o il tipo di immagine non è noto. Oggetti helper 57 Sintassi int GetWidth([int page]) Descrizione Utilizzato per ottenere la larghezza in pixel della pagina specificata. Se non è specificata alcuna pagina, viene restituita la larghezza della prima pagina. È possibile chiamare questo metodo solo per le immagini. Parametri: pagina - la pagina di cui si richiede la larghezza. Restituisce: La larghezza della pagina in pixel. Viene restituito zero (0) se SetImage non è stato chiamato, il numero della pagina specificato non è valido, il file è un PDF o il tipo di immagine non è noto. int GetColorDepth([int page]) Utilizzato per ottenere l'intensità del colore della pagina specificata. Se non è specificata alcuna pagina, viene restituita l'intensità del colore della prima pagina. È possibile chiamare questo metodo solo per le immagini. Parametri: pagina - la pagina di cui si richiede l'intensità del colore. Restituisce: Una definizione LDD che indica l'intensità del colore della pagina. Vedere la tabella riportata di seguito per un elenco dei valori possibili. Viene restituito zero (0) se SetImage non viene chiamato, il numero della pagina specificata non è valido, il file è un PDF o il tipo di immagine non è noto. Oggetti helper 58 Sintassi Descrizione int GetResolution([int page]) Utilizzato per ottenere la risoluzione della pagina specificata. Se non è specificata alcuna pagina, viene restituita la risoluzione della prima pagina. È possibile chiamare questo metodo solo per le immagini. Parametri: pagina - la pagina di cui si richiede la risoluzione. Restituisce: La risoluzione della pagina in DPI. Viene restituito zero (0) se SetImage non è stato chiamato, il numero della pagina specificato non è valido, il file è un PDF o il tipo di immagine non è noto. int GetNumPages() Utilizzato per ottenere il numero totale delle pagine nell'immagine. È possibile chiamare questo metodo per immagini e file PDF. Parametri: nessuno Restituisce: Il numero totale di pagine. Viene restituito zero (0) se SetImage non è stato chiamato o il tipo di immagine non è noto. File PDF Gli unici metodi che possono essere chiamati con i file PDF sono GetType() e GetNumPages(). Tutti gli altri metodi restituiscono zero (0). Numeri di pagina I seguenti metodi possono avere come parametro opzionale il numero di pagina: GetHeight(), GetWidth(), GetColorDepth(), GetResolution(). Se non è specificato alcun numero di pagina, per ottenere il valore richiesto viene utilizzata la prima pagina dell'immagine. Tipi di immagine È possibile che chiamando GetType vengano restituiti i tipi di formato di immagine riportati di seguito: LDD_IMGFORMAT_TIF TIF (non compresso) LDD_IMGFORMAT_TIFG3 TIF (compressione G3) Oggetti helper 59 LDD_IMGFORMAT_TIFG4 TIF (compressione G4) LDD_IMGFORMAT_TIFPB TIF (compressione PackBits) LDD_IMGFORMAT_BMP Bitmap LDD_IMGFORMAT_PNG PNG LDD_IMGFORMAT_JPG JPG LDD_IMGFORMAT_PCX PCX LDD_IMGFORMAT_DCX DCX LDD_IMGFORMAT_PDF PDF Intensità del colore dell'immagine È possibile che chiamando GetColorDepth vengano restituite le intensità del colore dell'immagine riportate di seguito: LDD_IMGDEPTH_BW Bianco e nero LDD_IMGDEPTH_4C Colore a 4 bit LDD_IMGDEPTH_8G Scala di grigi a 8 bit LDD_IMGDEPTH_8C Colore a 8 bit LDD_IMGDEPTH_24C Colore a 24 bit Esempio imginfo img int nPages, nType, nWidth, nWidth2 img.SetImage(original.document) // Recupera il tipo di immagine nType = img.GetType() // Recupera il numero di pagine nPages = img.GetNumPages() // Recupera solo la larghezza dei file dell'immagine (non PDF) if (nType != 0 && nType != LDD_IMGFORMAT_PDF) // Recupera la larghezza della prima pagina nWidth = img.GetWidth() // Recupera la larghezza della seconda pagina nWidth2 = img.GetWidth(2) endif Oggetti helper 60 5 Oggetti sistema Gli oggetti sistema consentono di ottenere le informazioni relative al documento inviato originariamente o le informazioni relative all'utente che ha inoltrato il processo. Inoltre, consentono di personalizzare il feedback fornito agli utenti che inviano i processi. Sono supportati i seguenti oggetti sistema: • originale - fornisce le informazioni relative al documento inviato e all'utente che lo ha inoltrato. • conferma - fornisce un'interfaccia che consente di aggiungere informazioni alla pagina o alla finestra di dialogo di conferma che appare all'utente al termine del processo. • locale - contiene i valori immessi dall'amministratore di Server Manager quando lo script viene importato sul server. Gli oggetti sistema non possono essere dichiarati come variabili e non esistono proprietà oggetto di questo tipo. Questi oggetti sono automaticamente presenti in ogni script. Per utilizzarne uno, usare il tipo di oggetto seguito da un punto, quindi il nome della proprietà o del metodo. Oggetti sistema 61 Originale L'oggetto originale contiene tutti i dati e le informazioni inviate per il processo. Le informazioni relative al mittente sono disponibili per tutti gli script; tutte le altre informazioni variano in base al tipo di script eseguito. Tutte le proprietà dell'oggetto sono di sola lettura; l'oggetto non contiene metodi. Per accedere all'elenco a discesa delle proprietà, quali userip, (visualizzato nell'elenco della barra di scorrimento) digitare un punto (.) dopo aver inserito la stringa "original". Le seguenti proprietà sono disponibili per tutti gli script: Proprietà Descrizione Tipo Ulteriori informazioni userip L'indirizzo IP della periferica (stampante MFP o workstation dell'utente) che ha inviato il processo. string Se inviata mediante il flusso di stampa, questa proprietà è una stringa vuota. username Il nome dell'utente che ha inoltrato la richiesta. string Se inviato tramite una stampante MFP che non richiede autenticazione, questo valore è "Utente MFP". Se inviato tramite un flusso di stampa, questo valore contiene le informazioni fornite da tale flusso. useracct Il numero di account inviato insieme al processo. string Valore fornito solo dalle stampanti MFP il cui account dei processi è abilitato. Per tutti gli altri processi, questo valore è una stringa vuota. usertime L'ora in cui il processo è stato inviato al server. string È la stessa ora utilizzata per tutte le azioni che hanno la proprietà AppendTimestamp. Per informazioni relative al formato di questi dati, vedere Usertime a pagina 63. scriptname Il nome dello script in esecuzione. string metadata Gli altri dati, inviati insieme al processo, che non corrispondono ad alcuna proprietà esistente. map Per ulteriori informazioni sulle proprietà metadati, vedere Riferimento metadati a pagina 253. Oggetti sistema 62 Usertime Il formato dell'indicatore di data e ora è: _MON_DD_YYYY_HH_MM_SS_MSEC dove: • MON è l'indicazione del mese • DD è l'indicazione del giorno del mese • YYYY sono le quattro cifre dell'anno • HH è l'indicazione dell'ora nel formato a 24 ore • MM è l'indicazione dei minuti • SS è l'indicazione dei secondi • MSEC è l'indicazione dei millisecondi Nota Si noti il carattere di sottolineatura iniziale inserito prima del mese. Le seguenti proprietà aggiuntive sono disponibili per gli script di Document Distributor che richiedono l'invio di un documento. Proprietà Descrizione Tipo document Il documento inviato insieme al processo. doc scansize La dimensione della carta del documento sottoposto a scansione, come impostato nel profilo. int (costante LDD) Ulteriori informazioni Se il processo viene inviato tramite una workstation, questo valore è 0. Se viene inviato tramite una stampante MFP, il valore è uno dei seguenti. LDD_SCANSIZE_A3 LDD_SCANSIZE_A4 LDD_SCANSIZE_A5 LDD_SCANSIZE_B4 LDD_SCANSIZE_B5 LDD_SCANSIZE_BOOK LDD_SCANSIZE_BUSCARD LDD_SCANSIZE_EXECUTIVE LDD_SCANSIZE_LEGAL LDD_SCANSIZE_LETTER LDD_SCANSIZE_PHOTO35 LDD_SCANSIZE_PHOTO46 LDD_SCANSIZE_TABLOID Oggetti sistema 63 Proprietà Descrizione Tipo Ulteriori informazioni scanorient L'orientamento del documento sottoposto a scansione. int (costante LDD) Se il processo viene inviato tramite una workstation e non può essere determinato, questo valore è 0. Se viene inviato tramite una stampante MFP, il valore è uno dei seguenti: LDD_ORIENTATION_PORTRAIT LDD_ORIENTATION_LANDSCAPE scandepth L'intensità del colore del documento sottoposto a scansione. int (costante LDD) Se il processo viene inviato tramite una workstation e non può essere determinato, questo valore è 0. Se viene inviato tramite una stampante MFP, il valore è uno dei seguenti: LDD_IMGDEPTH_BW LDD_IMGDEPTH_8G LDD_IMGDEPTH_24C scanres La risoluzione del documento sottoposto a scansione. real Se il processo viene inviato tramite una workstation e non può essere determinato, questo valore è 0. scanpages Il numero di pagine del documento sottoposto a scansione. int Se il processo viene inviato tramite una workstation e non può essere determinato, questo valore è 0. scanrotateodd Specifica di quanti gradi devono essere ruotate le pagine dispari per ottenere l'orientamento richiesto dal profilo. int Se il processo viene inviato tramite una workstation, questo valore è 0. Se viene inviato tramite una stampante MFP, i valori possibili sono: 0, 90, 180 e 270. scanrotateeven Specifica di quanti gradi devono essere ruotate le pagine pari per ottenere l'orientamento richiesto dal profilo. int Se il processo viene inviato tramite una workstation, questo valore è 0. Se viene inviato tramite una stampante MFP, i valori possibili sono: 0, 90, 180 e 270. Le seguenti proprietà sono disponibili per gli script di Document Producer: Proprietà Descrizione Tipo Ulteriori informazioni dataset I dati che devono essere utilizzati per eseguire l'unione del modulo per questo processo. dataset Il nome del formset e tutti gli altri dati che devono essere uniti sono già impostati. Questo valore può essere trasferito come input all'azione MergeForm. Oggetti sistema 64 Le seguenti proprietà sono disponibili per gli script di Document Producer: Proprietà Descrizione Tipo printoptions Le opzioni di stampa da printoptions utilizzare per questo processo. Questo valore può essere trasferito all'azione PrintForm. printerip L'indirizzo IP della stampante associata al client Document Portal di invio. Questo valore può essere utilizzato per stabilire la stampante adatta per la stampa del modulo. formsetname Il nome del formset da string utilizzare per questo processo. kioskid L'ID del client Document Portal che ha inviato il processo. string string Oggetti sistema 65 Ulteriori informazioni Questo valore può essere utilizzato per creare un dataset necessario per ottenere un modulo vuoto o compilato automaticamente. Conferma L'oggetto conferma consente di controllare le informazioni visualizzate nella pagina di conferma (per i processi inoltrati mediante una stampante MFP) o nella finestra di dialogo di conferma (per i processi inviati tramite Print‘N’Send o Select‘N’Send). Queste finestre di dialogo/pagine di conferma vengono visualizzate dopo l'elaborazione del processo. È possibile configurare il funzionamento predefinito di tutti gli script modificando le impostazioni del processo in Server Manager. Talvolta, potrebbe essere necessario ignorare le impostazioni predefinite dallo script stesso; in tal caso, utilizzare l'oggetto conferma. Per accedere alle proprietà e ai metodi, utilizzare: confirm.propertyname confirm.methodname() Segue un elenco delle proprietà dell'oggetto conferma. Proprietà Tipo Valore Descrizione input doc original.document Controlla l'origine utilizzata per generare le miniature sulla pagina di conferma. level int LDD_CONFIRM_OFF - Non viene utilizzata alcuna pagina o finestra di dialogo di conferma per questo script. Consente di controllare il tipo di pagina o finestra di dialogo di conferma da utilizzare per lo script. Per impostazione predefinita, viene utilizzato il valore definito nelle impostazioni del server. LDD_CONFIRM_SCRIPT - Lo script fornisce l'intero contenuto della pagina o finestra di dialogo di conferma. LDD_CONFIRM_ERROR - Tutti gli avvisi o gli errori vengono automaticamente aggiunti alla pagina o alla finestra di dialogo di conferma; lo script fornisce tutti gli altri contenuti. LDD_CONFIRM_VERBOSE - Dopo essere stati eseguiti, tutti gli oggetti azione aggiungono automaticamente informazioni, oltre a eventuali altri avvisi o errori. printmfp int LDD_CONFIRM_NEVER - Non viene mai stampata una pagina di conferma. LDD_CONFIRM_ALWAYS - Viene sempre stampata una pagina di conferma. LDD_CONFIRM_ONERROR - Viene stampata una pagina di conferma solo se. Oggetti sistema 66 Verifica se deve essere stampata una pagina di conferma per i processi inviati tramite una stampante MFP. Il valore predefinito prevede sempre la stampa. Proprietà Tipo Valore Descrizione displayws int LDD_CONFIRM_NEVER - Non viene mai visualizzata una finestra di dialogo di conferma. Controlla se, al termine dell'operazione, sul computer dell'utente che ha inviato il processo deve essere visualizzata una finestra di dialogo di conferma. Per impostazione predefinita, la finestra di dialogo viene sempre visualizzata. LDD_CONFIRM_ALWAYS - Viene sempre visualizzata una finestra di dialogo di conferma. LDD_CONFIRM_ONERROR - Viene visualizzata una finestra di dialogo di conferma solo se viene generato un avviso o un errore. thumbs int -1 = include miniature di tutte le pagine. 0 = non include miniature. 1 - 3 = include una miniatura dei primi x numeri di pagina. includePrompts bool TRUE o FALSE, Predefinito = FALSE Oggetti sistema 67 Controlla il numero delle immagini in miniatura incluse nella pagina di conferma. Per impostazione predefinita, viene utilizzato il valore definito nelle impostazioni del server. Include i prompt e le relative risposte nella pagina di conferma. Proprietà Tipo Valore Descrizione override bool TRUE o FALSE, Predefinito = FALSE Consente all'azione della pagina di conferma predefinita di stampare i processi MFP e di visualizzare una finestra di dialogo sui computer su cui viene eseguita la sostituzione. Con questa operazione, viene creata un'immagine TIF della pagina di conferma che può essere inviata per e-mail, salvata su un file o essere oggetto di qualsiasi altra azione disponibile in uno script. output doc Disponibile soltanto se la proprietà override è impostata su TRUE e dopo il richiamo del metodo Go. Contiene l'immagine TIF della pagina di conferma. Oggetti sistema 68 Segue un elenco dei metodi dell'oggetto conferma. Sintassi Descrizione void Reset() Riporta tutte le proprietà presenti in questo oggetto al valore specificato nelle impostazioni del server. void AddItem(string title, bool success, string msg [, string err]) Aggiunge una riga alla fine della pagina o della finestra di dialogo di conferma. Se richiamato più volte, ciascuna riga viene aggiunta nell'ordine in cui questo metodo viene chiamato. Parametri: title - il titolo abbreviato visualizzato nella prima colonna della pagina o della finestra di dialogo. success - indica se questa riga è stata inserita correttamente. Se impostato su TRUE, nella seconda colonna verrà visualizzato "Completed"; altrimenti, verrà visualizzato "Failed". msg - descrizione più dettagliata visualizzata nella terza colonna. err - parametro facoltativo; se specificato, questo testo viene visualizzato nella seconda colonna, dopo la parola success. Viene generalmente utilizzato per messaggi di errore o avvisi. Restituisce: nessuno void Clear() Rimuove tutti gli elementi aggiunti dal metodo SetDataItem o da qualsiasi altro oggetto alla pagina di conferma. Parametri: nessuno Restituisce: nessuno bool Go() Genera la pagina di conferma. È necessario richiamare questo metodo in uno script solo se la proprietà override è impostata su TRUE. Il server richiama automaticamente questo metodo per gli script che non sono stati ignorati. I seguenti esempi presuppongono che, per impostazione predefinita, nelle pagine/finestre di dialogo il livello di conferma sia impostato su verbose e che la stampa e la visualizzazione siano sempre attivate. Per lo script A, tutte le pagine/finestre di dialogo devono essere disattivate. All'inizio dello script viene aggiunta la seguente riga: confirm.level = LDD_CONFIRM_OFF Per lo script B, le pagine di conferma devono essere disattivate, ma le finestre di dialogo vengono visualizzate. All'inizio dello script viene aggiunta la seguente riga: confirm.printmfp = LDD_CONFIRM_NEVER Oggetti sistema 69 Per lo script C, vengono utilizzati i commenti predefiniti, tranne all'interno di un'iterazione. L'esempio prevede di modificare il livello su script prima dell'iterazione, aggiungere i propri commenti, quindi reimpostare il livello su verbose, seguendo lo script. Per far ciò, aggiungere: (elaborazione di altri script in corso) confirm.level = LDD_CONFIRM_SCRIPT loop (x da 1 a 5) (stampa copie) endloop confirm.AddItem("Stampa", TRUE, "Copie inviate al settore marketing") confirm.level = LDD_CONFIRM_VERBOSE (continuare l'elaborazione dello script) Questi esempi mostrano i diversi modi in cui l'oggetto conferma può essere utilizzato per potenziare la funzionalità specificata nelle impostazioni della pagina di conferma utilizzando una sequenza di script. Esempio di sostituzione Per l'azione della pagina di conferma predefinita, aggiungere la seguente stringa alla fine dello script: Esempio confirm.Override = TRUE // attiva la funzione override confirm.go() // genera l'immagine della pagina di conferma confirm.level = LDD_CONFIRM_OFF // disabilita l'azione della pagina di conferma //nel resto dello script with EmailSMTP .To = "[email protected]" .From = "[email protected]" .Subject = "Conferma del processo" .Message = "Questa è la conferma del processo" .Attachment = confirm.output .Server="posta.azienda.com" .CharacterSet=LDD_SMTPCHARSET_US .Go() endwith L'esempio sopra menzionato invia per e-mail la pagina di conferma (confirm.output) a un altro utente. È possibile salvare la pagina di conferma su un file, inserirla in un database o utilizzarla in un'altra azione LDD. Disattivando la pagina di conferma (con l'istruzione confirm.level), si impedisce allo script di generare automaticamente una pagina di conferma. Oggetti sistema 70 Locale L'oggetto locale contiene i valori immessi dall'amministratore durante l'importazione dello script in Server Manager. Quando si scrive uno script, una delle opzioni è quella di definire le Impostazioni locali, configurate dall'amministratore durante l'importazione dello script. Normalmente, questi valori vengono utilizzati per i dati che possono variare da server a server (come, ad esempio, gli indirizzi IP della stampante, gli indirizzi di posta elettronica, i numeri di fax, le password e così via). Questo oggetto consente l'accesso a tali informazioni. Per ciascuna impostazione richiesta all'amministratore, viene assegnato un nome di variabile e un tipo di dati insieme alle altre opzioni. Il nome della variabile diventa una delle proprietà dell'oggetto locale e il valore fornito dall'amministratore viene memorizzato in quella proprietà. Per accedere alle proprietà dell'oggetto locale, utilizzare local.propertyname. Se si desidera, ad esempio, richiedere all'amministratore l'indirizzo IP della stampante da utilizzare per lo script. Durante la scrittura dello script, definire un'impostazione locale nella finestra di dialogo Impostazioni locali nella Creazione guidata di Workflow Composer con il nome di variabile "printerip" e assegnare a questa variabile un tipo di dati stringa. Per accedere a questo valore nello script, utilizzare: string ip ip = local.printerip Mentre l'esempio precedente utilizza delle variabili per contenere i valori, ciò non è necessario per utilizzare il valore stesso. Poiché è stato definito un tipo di dati per ogni impostazione, la proprietà locale può essere utilizzata in qualsiasi punto in cui è possibile usare un valore di quel tipo di dati. Continuando con l'esempio precedente, l'azione PrintJob potrebbe utilizzare quel valore: PrintJob.ipaddress = local.printerip Oggetti sistema 71 6 Oggetti azione Molti oggetti azione creano un nuovo documento come risultato della loro esecuzione. Se un'azione include una proprietà denominata output, durante l'esecuzione viene generato un nuovo documento. Tuttavia, tale documento non esiste se non dopo aver chiamato il metodo Go. Prima di chiamare per la prima volta il metodo Go, il documento è vuoto. Questo nuovo documento di output è disponibile solo mentre viene eseguito lo script; se si intende utilizzarlo dopo aver eseguito lo script, includere nello script un'azione che salva o archivia il documento. Nella parte restante di questo capitolo vengono descritti gli oggetti azione disponibili. Oggetti azione 72 BarcodeRead (Codici a barre: lettura) Scopo: legge uno o più codici a barre di un tipo specificato su una sola pagina. Per leggere i codici a barre di diversi formati da una pagina, è necessario utilizzare questa azione più volte. L'azione non riesce se la pagina non contiene alcun codice a barre del tipo specificato. Gruppo di installazione: CD Barcode Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc È possibile leggere solo una pagina del documento. Per specificare la pagina, utilizzare la proprietà PageNumber. Validate Consente la convalida dei caratteri di codice e della checksum. bool È possibile utilizzare questa proprietà se la qualità dell'immagine è tanto scadente da non consentire la lettura del codice a barre; in tal caso è necessaria la presenza del codice a barre anziché dei dati. Ciò è valido per i codici a barre di tipo: LDD_BARCODE_CODE39 LDD_BARCODE_CODE39_CHK LDD_BARCODE_CODE93 LDD_BARCODE_ITF LDD_BARCODE_ITF_CHK LDD_BARCODE_CODE128 Non è, invece, valido per tutti gli altri tipi. Predefinito: TRUE I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 73 Nome Descrizione Tipo di dati Ulteriori informazioni Type Il tipo di codice a barre da leggere. int Per ulteriori informazioni sui diversi tipi di codici a barre, vedere Riferimento codice a barre a pagina 243. (costante LDD) Valori validi: LDD_BARCODE_CODE39 LDD_BARCODE_CODE39_CHK LDD_BARCODE_CODE93 LDD_BARCODE_CODABAR LDD_BARCODE_CODE128 LDD_BARCODE_UCC128 LDD_BARCODE_C25_INDUSTRIAL LDD_BARCODE_C25_MATRIX LDD_BARCODE_C25_DATALOGIC LDD_BARCODE_C25_AIRLINE LDD_BARCODE_ITF LDD_BARCODE_ITF_CHK LDD_BARCODE_UPCA LDD_BARCODE_UPCE LDD_BARCODE_EAN8 LDD_BARCODE_EAN8_PLUS2 LDD_BARCODE_EAN8_PLUS5 LDD_BARCODE_EAN13 LDD_BARCODE_EAN13_PLUS2 LDD_BARCODE_EAN13_PLUS5 LDD_BARCODE_PATCH LDD_BARCODE_PDF417 LDD_BARCODE_CODE32 LDD_BARCODE_POSTNET Predefinito: LDD_BARCODE_CODE39 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 74 Nome Descrizione Tipo di dati Ulteriori informazioni Direction La direzione del codice a barre sulla pagina. int Questa impostazione consente di riconoscere più rapidamente il codice a barre e può essere utilizzata per evitare che vengano riconosciuti i codici a barre di una direzione diversa. Le opzioni di inclinazione indicano che il codice a barre si trova nella direzione indicata, ma con un angolo maggiore di 15 gradi. (costante LDD) Valori validi: LDD_BCDIR_HORIZ LDD_BCDIR_HORIZ_SKEW LDD_BCDIR_VERT LDD_BCDIR_VERT_SKEW LDD_BCDIR_ANY Predefinito: LDD_BCDIR_HORIZ Quality La qualità dell'immagine che contiene il codice a barre. int (costante LDD) Questa impostazione consente di riconoscere rapidamente il codice a barre attivando l'algoritmo appropriato. Valori validi: LDD_BCQUALITY_EXCELLENT LDD_BCQUALITY_GOOD LDD_BCQUALITY_FAIR LDD_BCQUALITY_POOR Predefinito: LDD_BCQUALITY_GOOD Fixed Specifica se il valore della lunghezza è considerato un valore minimo o un valore esatto. bool Se impostato su TRUE, il valore della lunghezza è considerato un valore esatto; se impostato su FALSE, è considerato un valore minimo. Se la lunghezza è pari a zero, l'impostazione viene ignorata. Predefinito: FALSE I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 75 Nome Descrizione Tipo di dati Ulteriori informazioni Length La lunghezza prevista dei dati nel codice a barre. int Se il valore della proprietà è zero (0), viene accettata qualsiasi lunghezza. Se il valore è maggiore di zero e la proprietà fixed è impostata su FALSE, rappresenta la lunghezza minima ammessa per i dati del codice a barre. Se il valore è maggiore di zero e la proprietà fixed è impostata su TRUE, rappresenta la lunghezza esatta ammessa per i dati del codice a barre. Se non viene individuato un codice a barre della lunghezza minima o esatta, l'azione non riesce. Se il tipo di codice a barre specificato richiede una determinata lunghezza, questo campo viene ignorato. Predefinito: 0 PageNumber La pagina del documento di input in cui eseguire la ricerca. int È possibile utilizzare un valore pari a zero per l'ultima pagina. Predefinito: 1 WholePage Specifica se ricercare il codice a barre sull'intera pagina. bool Se la proprietà è impostata su TRUE, viene restituito il primo codice a barre del tipo, ed eventualmente della lunghezza, specificati. Se impostata su FALSE, la ricerca viene eseguita solo nell'area specifica. Predefinito: TRUE Left int Specifica (in pixel) il lato sinistro dell'area in cui effettuare la ricerca. Viene assegnato un valore solo quando la proprietà WholePage è impostata su FALSE. Predefinito: 0 Top int Specifica (in pixel) il lato superiore dell'area in cui effettuare la ricerca. Viene assegnato un valore solo quando la proprietà WholePage è impostata su FALSE. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 76 Nome Descrizione Tipo di dati Ulteriori informazioni Right Specifica (in pixel) il lato destro dell'area in cui effettuare la ricerca. int Viene assegnato un valore solo quando la proprietà WholePage è impostata su FALSE. Predefinito: 0 Bottom int Specifica (in pixel) il lato inferiore dell'area in cui effettuare la ricerca. Viene assegnato un valore solo quando la proprietà WholePage è impostata su FALSE. Predefinito: 0 Results Contiene il valore dei dati del codice a barre. string La proprietà è disponibile solo dopo aver chiamato il metodo Go. Se non sono stati individuati codici a barre, è una stringa vuota. I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Utilizzare questo metodo per eseguire la ricerca del codice a barre in base alle proprietà impostate. Se si rileva un codice a barre, viene restituito TRUE; in caso contrario, viene restituito FALSE. Parametri: nessuno Restituisce: Un valore booleano che indica se la lettura del codice a barre è stata completata correttamente. void Reset() Cancella tutte le proprietà e ne ripristina il valore predefinito. Parametri: nessuno Restituisce: nessuno Oggetti azione 77 Note • Utilizzare la proprietà PageNumber per specificare la pagina in cui leggere un codice a barre. Per leggere un codice a barre in più pagine, eseguire più volte l'azione BarcodeRead. • Per risultati ottimali, utilizzare un'immagine monocromatica con questa azione. Ciò consente di rilevare meglio gli spazi di un codice a barre, ottenendo risultati molto precisi. Le immagini troppo scure riducono la precisione di lettura del codice a barre. Si consigliano profili con un'impostazione di luminosità pari o inferiore a 3. • Una risoluzione di scansione di 300 punti per pollice (dpi) consente generalmente ottimi risultati. Non è consigliabile, invece, una risoluzione maggiore di 600 dpi. • Se è necessario eseguire la ricerca solo in un'area specifica di una pagina, impostare WholePage su FALSE. Ad esempio, è possibile sottoporre a scansione delle fatture, leggere il numero di fattura da un codice a barre nell'angolo destro e utilizzare questo numero come nome file per memorizzare la fattura. • I valori Right, Left, Top e Bottom dipendono dalla risoluzione di scansione utilizzata per acquisire il documento. Determinare la risoluzione di scansione necessaria, le posizioni pixel necessarie per delimitare l'area, quindi utilizzare la stessa risoluzione di scansione per tutti i profili che utilizzano lo script. Oggetti azione 78 BarcodeWrite (Codici a barre: scrittura) Scopo: scrive uno o più codici a barre di un tipo specifico su un'unica pagina. Per scrivere codici a barre di formati diversi di una pagina, è necessario eseguire questa azione più volte. Gruppo di installazione: CD Barcode Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Text Il testo da codificare nel codice a barre. string La maggior parte dei codici a barre viene rappresentata con tipi specifici di caratteri e/o lunghezze da rispettare. Per ulteriori informazioni sui diversi tipi di codice a barre, vedere Riferimento codice a barre a pagina 243. Output Il documento in cui viene scritto il risultato dell'azione. doc La proprietà è disponibile solo dopo aver chiamato il metodo Go. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 79 Nome Descrizione Tipo di dati Ulteriori informazioni Type Il tipo di codice a barre da generare. int Valori validi: (costante LDD) LDD_BARCODE_CODE39 LDD_BARCODE_CODE39_CHK LDD_BARCODE_CODE93 LDD_BARCODE_CODABAR LDD_BARCODE_CODE128 LDD_BARCODE_UCC128 LDD_BARCODE_C25_INDUSTRIAL LDD_BARCODE_C25_MATRIX LDD_BARCODE_C25_DATALOGIC LDD_BARCODE_C25_AIRLINE LDD_BARCODE_ITF LDD_BARCODE_ITF_CHK LDD_BARCODE_UPCA LDD_BARCODE_UPCE LDD_BARCODE_EAN8 LDD_BARCODE_EAN8_PLUS2 LDD_BARCODE_EAN8_PLUS5 LDD_BARCODE_EAN13 LDD_BARCODE_EAN13_PLUS2 LDD_BARCODE_EAN13_PLUS5 LDD_BARCODE_PDF417 LDD_BARCODE_CODE32 LDD_BARCODE_POSTNET LDD_BARCODE_POSTNET5 LDD_BARCODE_POSTNET9 LDD_BARCODE_POSTNET11 LDD_BARCODE_PLANET Predefinito: LDD_BARCODE_CODE39 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 80 Nome Descrizione Tipo di dati Ulteriori informazioni Resolution La risoluzione dell'immagine generata. int (costante LDD) Questa risoluzione dovrebbe corrispondere alla risoluzione dell'immagine a cui il codice a barre verrà successivamente unito. Valori validi: LDD_RESOLUTION_300 LDD_RESOLUTION_600 Predefinito: LDD_RESOLUTION_300 Direction La direzione del codice a barre generato. int (costante LDD) Valori validi: LDD_BCDIRECTION_HORIZ LDD_BCDIRECTION_VERTUP LDD_BCDIRECTION_VERTDOWN Predefinito: LDD_BCDIRECTION_HORIZ Height L'altezza del codice a int barre generato espressa in millimetri. Valori validi: 1-50 Predefinito: 10 TextJustify int (costante LDD) Controlla le modalità di allineamento del testo in relazione al codice a barre. Questa impostazione viene ignorata se l'opzione text display è impostata su None. Valori validi: LDD_BCJUSTIFY_LEFT LDD_BCJUSTIFY_CENTER LDD_BCJUSTIFY_RIGHT Predefinito: LDD_BCJUSTIFY_CENTER I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 81 Nome Descrizione Tipo di dati Ulteriori informazioni TextDisplay Controlla dove (se applicabile) viene visualizzato il testo in relazione al codice a barre. int (costante LDD) Valori validi: LDD_BCDISPLAY_NONE LDD_BCDISPLAY_HALFEMBED LDD_BCDISPLAY_EMBED LDD_BCDISPLAY_UNDER LDD_BCDISPLAY_ABOVE Predefinito: LDD_BCDISPLAY_UNDER TextSize Specifica la dimensione del font da utilizzare per il testo. int Questa impostazione specifica la dimensione del font (in punti) da utilizzare per il testo. Se impostata su zero, il font viene ridimensionato automaticamente per essere adattato alla larghezza del codice a barre. Questa impostazione viene ignorata se l'opzione text display è impostata su None. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Utilizzare questo metodo per consentire all'azione di generare il codice a barre in base alle proprietà impostate. Se il codice a barre viene generato correttamente, viene restituito TRUE; in caso contrario, viene restituito FALSE. Parametri: nessuno Restituisce: Un valore booleano che indica se la generazione del codice a barre è stata completata correttamente. void Reset() Cancella tutte le proprietà e ne ripristina il valore predefinito. Parametri: nessuno Restituisce: nessuno Oggetti azione 82 Note • La risoluzione del codice a barre generato deve corrispondere alla risoluzione dell'immagine a cui verrà unito. • Questa azione genera una bitmap in bianco e nero. È possibile inviare il risultato di questa azione come MergeFile nell'azione ImageMerge per posizionare il codice a barre sull'immagine. Oggetti azione 83 Esempio In questo esempio, l'account dei processi della stampante MFP è attivato e lo script utilizza il numero di account per generare un codice a barre. Il codice a barre viene successivamente aggiunto nell'angolo inferiore sinistro della prima pagina del documento sottoposto a scansione. Viene quindi salvato in un file, in modo da poter essere recuperato in seguito. Poiché il codice a barre generato è di 300 dpi, è necessario che anche il profilo di scansione per lo script sia impostato su 300 dpi. with BarcodeWrite .Text = original.useracct .Type = LDD_BARCODE_CODE39 .Resolution = LDD_RESOLUTION_300 .Direction = LDD_BCDIRECTION_HORIZ .Height = 10 .TextDisplay = LDD_BCDISPLAY_UNDER .TextJustify = LDD_BCJUSTIFY_CENTER .TextSize = 0 .Go() endwith // Convertire la bitmap generata dall'azione BarcodeWrite // in formato PNG per garantire risultati migliori con // l'azione ImageMerge. with ConvertImageFormat .input = BarcodeWrite.output .format = LDD_IMGFORMAT_PNG .colordepth = LDD_IMGDEPTH_BW .AllPages = TRUE .Go() endwith with ImageMerge .Input = ConvertImageFormat.output .ImageFile = BarcodeWrite.output .Position = LDD_IMGMERGEPOS_BOTTOMLEFT .Offset = 20 .AllPages = FALSE .StartPage = 1 .EndPage = 1 .Go() endwith with SaveToFile .Input = ImageMerge.output .Path = "c:\invoices\invoice.tif" .AppendTimestamp = TRUE .Go() endwith Oggetti azione 84 ConvertImageFormat (Immagini: modifica del formato) Scopo: converte uno o più file immagine nel formato file specificato. Per convertire un'immagine nel formato PostScript o PDF, utilizzare l'azione ConvertToDocument. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc Specificare un'immagine o un formato PDF. Output Il documento in cui viene scritto il risultato di questa azione. doc L'output è nel formato specificato. Format Il formato di output della conversione. int (costante LDD) Valori validi: LDD_IMGFORMAT_TIF LDD_IMGFORMAT_TIFG3 LDD_IMGFORMAT_TIFG4 LDD_IMGFORMAT_TIFPB LDD_IMGFORMAT_BMP LDD_IMGFORMAT_JPG LDD_IMGFORMAT_PJPG LDD_IMGFORMAT_PCX LDD_IMGFORMAT_DCX LDD_IMGFORMAT_PNG Predefinito: LDD_IMGFORMAT_TIF I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 85 Nome Descrizione Tipo di dati Ulteriori informazioni ColorDepth Il tipo di immagine a colori da generare. int (costante LDD) Valori validi: LDD_IMGDEPTH_BW: Bianco e nero LDD_IMGDEPTH_4C: Colore a 4 bit LDD_IMGDEPTH_8C: Colore a 8 bit LDD_IMGDEPTH_8G: Scala di grigi a 8 bit LDD_IMGDEPTH_24C: Colore a 24 bit LDD_IMGDEPTH_24G: Scala di grigi a 24 bit Predefinito: LDD_IMGDEPTH_BW JPEGQuality AllPages StartPage Specifica la quantità di compressione JPEG utilizzata. Più alto è il numero, migliore sarà la qualità ma il file sarà di dimensioni maggiori. int Converte tutte le pagine nel documento di input. bool La prima pagina da convertire. int Valori validi: 5-95 Predefinito: 95 Predefinito: TRUE Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage L'ultima pagina da convertire. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Il valore 0 indica l'ultima pagina del file. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 86 Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Intensità colore predefinite Se l'intensità colore del file di output specificato nello script non è valida, l'azione seleziona un valore predefinito appropriato per quel formato e completa la conversione. Nella tabella seguente, vengono elencate le intensità colore predefinite per i diversi formati immagine. Formato immagine Intensità colore predefinita PostScript (*.ps) Scala di grigi a 8 bit TIFF Group 4 (*.tif) Bianco e nero TIFF Group 3 (*.tif) Bianco e nero TIFF Packed Bits (*.tif) Colore a 8 bit TIFF Uncompressed (*.tif) Colore a 8 bit Bitmap (*.bmp) Colore a 8 bit Windows PCX (*.pcx) Colore a 8 bit Windows DCX (*.dcx) Colore a 8 bit JPEG (*.jpg) Colore a 24 bit Progressive JPEG (*.jpg) Colore a 24 bit PNG (*.png) Colore a 8 bit PDF (*.pdf) Colore a 8 bit Formati immagine multipagina I formati immagine TIFF e DCX possono contenere più pagine in un unico file. Tutti gli altri formati immagine possono contenere solo una pagina per file. Se si converte un'immagine TIFF o DCX con più pagine in un formato che può contenere solo una pagina per file, viene generato un file nuovo per ciascuna pagina del file multipagina originale. Oggetti azione 87 Formati di conversione valida Tipo di file Conversione valida Bitmap Bianco e nero Colore a 4 bit Scala di grigi a 8 bit Colore a 8 bit Scala di grigi a 24 bit Colore a 24 bit JPG Scala di grigi a 8 bit Colore a 24 bit TIFF (Uncompressed) Bianco e nero Colore a 4 bit Scala di grigi a 8 bit Colore a 8 bit Scala di grigi a 24 bit Colore a 24 bit TIFF (Packed Bits) Bianco e nero Colore a 4 bit Scala di grigi a 8 bit Colore a 8 bit Scala di grigi a 24 bit Colore a 24 bit TIFF (Group 3) Bianco e nero TIFF (Group 4) Bianco e nero PCX Bianco e nero Colore a 4 bit Scala di grigi a 8 bit Colore a 8 bit Scala di grigi a 24 bit Colore a 24 bit DCX Bianco e nero Colore a 4 bit Scala di grigi a 8 bit Colore a 8 bit Scala di grigi a 24 bit Colore a 24 bit Oggetti azione 88 Tipo di file Conversione valida PJPEG Scala di grigi a 8 bit Colore a 24 bit PNG Bianco e nero Colore a 4 bit Scala di grigi a 8 bit Colore a 8 bit Scala di grigi a 24 bit Colore a 24 bit Oggetti azione 89 ConvertToDocument (Immagini: conversione in formato PostScript o PDF) Scopo: converte uno o più file immagine in un formato documento PDF o PostScript. I file PDF generati sono immagini e in essi non è possibile effettuare ricerche. Al contrario, l'azione ImageToPDF utilizza un motore OCR per generare file PDF di cui è possibile ricercare gli elementi. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc Specificare un formato immagine. Output Il documento in cui viene scritto il risultato dell'azione. doc Format Il formato di output della conversione. L'intensità colore dell'output non viene modificata. int (costante LDD) Valori validi: LDD_DOCFORMAT_PS LDD_DOCFORMAT_PDF Predefinito: LDD_DOCFORMAT_PDF PaperSize Le dimensioni della carta da utilizzare per l'output. int (costante LDD) Valori validi: LDD_PAPERSIZE_11X17 LDD_PAPERSIZE_A3 LDD_PAPERSIZE_A4 LDD_PAPERSIZE_A5 LDD_PAPERSIZE_EXECUTIVE LDD_PAPERSIZE_FOLIO LDD_PAPERSIZE_JISB4 LDD_PAPERSIZE_JISB5 LDD_PAPERSIZE_LEGAL LDD_PAPERSIZE_LETTER LDD_PAPERSIZE_STATEMENT Predefinito: LDD_PAPERSIZE_LETTER I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 90 Nome Descrizione Tipo di dati Ulteriori informazioni Orientation L'orientamento delle dimensioni della carta dell'output. int (costante LDD) Se si sceglie il valore automatico, l'orientamento della carta dell'output verrà impostato in modo da corrispondere a quello dell'immagine di input. Valori validi: LDD_ORIENTATION_AUTO LDD_ORIENTATION_PORTRAIT LDD_ORIENTATION_LANDSCA PE Predefinito: LDD_ORIENTATION_AUTO PSFitToPage Indica se l'immagine deve essere adattata alla pagina intera o mantenere le dimensioni reali. bool Questo valore viene utilizzato soltanto quando si effettua la conversione in formato PostScript. Predefinito: FALSE AllPages Specifica se convertire tutte le pagine nel documento di input. bool Se la proprietà è impostata su FALSE, nell'output vengono visualizzate solo le pagine specificate. Predefinito: TRUE StartPage Pagina per avviare la conversione. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage Pagina per terminare la conversione. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Il valore 0 indica l'ultima pagina del file. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 91 DatabaseNotes (Groupware: archiviazione) Scopo: aggiunge una voce al database di Lotus Notes specificato sul server Notes indicato. Utilizza un modulo predefinito. Sono supportati documenti con più allegati. Gruppo di installazione: modulo Lotus Notes Prerequisiti: • È necessario installare il client Lotus Notes su Document Server affinché l'azione possa utilizzare le funzioni di Notes. Il client Notes fornisce le impostazioni e la sicurezza Notes sottostanti per consentire a Document Server di interagire con i server Notes. • È necessario specificare un file ID/account utente valido di Notes per consentire l'esecuzione delle azioni di Notes su Document Server. Generalmente, gli ID Notes, associati a un'applicazione server anziché a un utente, vengono chiamati ID applicazione dagli amministratori di Notes. • Se il file ID utilizzato dal client Notes dispone di una password, impostare la proprietà password nello script. Poiché è possibile impostare la proprietà attraverso un'impostazione locale nello script, la password verrà richiesta quando si carica lo script con Server Manager. Se non si fornisce la password, l'azione non viene completata correttamente. Proprietà Nome Descrizione Tipi di dati Ulteriori informazioni Password La password del file ID utilizzata dal client Notes. string La proprietà deve essere impostata nello script o con un'impostazione locale se il file ID utilizza una password. Se non si rispettano queste indicazioni, l'azione non potrà essere eseguita correttamente. Server Nome del server in cui risiede il database. string Se la proprietà non viene specificata, per impostazione predefinita viene utilizzato il computer locale. Database Nome del database di Notes da utilizzare. string Il nome del database è il nome file effettivo del database da utilizzare ed è relativo alla directory dati Notes sul server specificato. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 92 Nome Descrizione Tipi di dati Ulteriori informazioni Module Nome del modulo database di Notes da utilizzare. string Se la proprietà non viene specificata, viene utilizzato il modulo predefinito del database. ComputeWithForm Esegue calcoli, convalida campi e aggiunge valori predefiniti come specificato nel modulo Notes durante l'inserimento di un nuovo record. bool Predefinito: FALSE I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 93 Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. bool AddField(string fieldname, int datatype, Imposta un campo di tipo testo, testo complesso o data/ora del database di Notes sul valore di stringa specificato. Questo metodo non riesce se il tipo di dati specificato non corrisponde al tipo di valore fornito. string value) Parametri: fieldname - nome del campo del database di Notes da impostare. datatype - tipo di campo del database di Notes che deve corrispondere a una delle seguenti costanti LDD: LDD_NOTESDBFIELD_TEXT LDD_NOTESDBFIELD_RICHTEXT LDD_NOTESDBFIELD_DATETIME value - valore di impostazione del campo. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. Oggetti azione 94 Sintassi Descrizione bool AddField(string fieldname, int datatype, Imposta un campo di tipo numerico del database di Notes sul valore intero specificato. Questo metodo non riesce se il tipo di dati specificato non corrisponde al tipo di valore fornito. int value) Parametri: fieldname - nome del campo del database di Notes da impostare. datatype - tipo di campo del database di Notes che deve corrispondere alla seguente costante LDD: LDD_NOTESDBFIELD_NUMBER value - valore di impostazione del campo. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. bool AddField(string fieldname, int datatype, doc value) Aggiunge un allegato a un campo di tipo testo o testo complesso del database di Notes. Questo metodo non riesce se il tipo di dati specificato non corrisponde al tipo di valore fornito. Parametri: fieldname - nome del campo del database di Notes da impostare. datatype - deve corrispondere alla seguente costante LDD: LDD_NOTESDBFIELD_ATTACHMENT value - allegato da aggiungere. Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. Note Ogni volta che si chiama il metodo Go(), viene scritto un nuovo record nel database di Notes. Il record contiene i campi specificati nelle precedenti chiamate AddField(). Se vengono scritti più record nel database, chiamare il metodo Reset() per cancellare tutti i campi. Quindi, chiamare AddField() tante volte quanti sono i campi da aggiungere e poi chiamare il metodo Go() per inserire il record nel database. Oggetti azione 95 Esempio Questo script di esempio inserisce il documento originariamente sottoposto a scansione in un database di Notes con una stringa che descrive il contenuto del documento. with DatabaseNotes .Server="Mydata05/new/contracts" .ComputeWithForm = TRUE .Database="Library\VendCntr.nsf" .Form="Contratti sottoposti a scansione" .ComputeWithForm=FALSE .AddField("immagine",LDD_NOTESDBFIELD_ATTACHMENT,original.document) .AddField("DocType",LDD_NOTESDBFIELD_TEXT,"Accordo principale") .Go() endwith Oggetti azione 96 Azioni Domino.Doc Prerequisiti • Queste azioni sono state verificate solo su Lotus Domino R5.0.4a; dovrebbero essere supportate anche dagli altri server R5, che, tuttavia, non sono stati specificatamente collaudati. Il server Domino deve includere un'installazione del server Domino.Doc, versione 3.0 o superiore. • È necessario installare un client Lotus Notes, certificato da Lotus come compatibile con Domino.Doc, sullo stesso computer di Document Server. • Se la connessione tra Document Server e Domino viene stabilita utilizzando l'autenticazione Notes, è necessario un ID Notes. Se all'ID è stata associata una password, è possibile configurare Notes per condividere la password con i componenti aggiuntivi di terze parti; tuttavia, questa opzione non è obbligatoria. • Se la connessione tra Document Server e Domino viene stabilita utilizzando HTTP o HTTPS, deve essere disponibile un browser Internet certificato da Lotus in grado di funzionare con Domino. • Indipendentemente dal metodo utilizzato per la connessione a Domino, è necessario installare Enabler Desktop di Domino.Doc. È possibile installare Enabler visitando un database Domino.Doc abilitato al Web con un browser e selezionando "Informazioni introduttive" nella pagina iniziale della libreria. Oggetti azione 97 DominoDocCheckIn (EDMS: archiviazione) Scopo: inserisce uno o più documenti con metadati associati a Lotus Domino.Doc. Proprietà Nome Descrizione Tipi di dati Ulteriori informazioni Input Il documento da archiviare. Doc Ciascun file contenuto nel documento viene archiviato separatamente. L'etichetta di ciascun file contenuto nel documento viene utilizzata per generare i titoli del documento. Se più file presentano la stessa etichetta, a ciascun titolo viene aggiunto un qualificatore "(x di y)", dove x e y indicano gli indici a base 1 dei file con la stessa etichetta. Username Specifica l'utente da utilizzare per accedere. String Se la connessione viene stabilita mediante Notes, deve essere lasciato vuoto. Se, invece, la connessione viene eseguita mediante HTTP o HTTPS, è obbligatorio. Password Specifica la password dell'utente. String Se la connessione viene stabilita mediante Notes e la password è condivisa oppure non esiste alcuna password, può essere lasciato vuoto. In tutti gli altri casi, è la password dell'utente. Library Specifica la libreria Domino.Doc da utilizzare. String Per ulteriori dettagli, vedere Connessione a Domino.Doc a pagina 109. Room Specifica la stanza Domino.Doc da utilizzare. String Per ulteriori informazioni su queste quattro impostazioni, vedere Esplorazione di una libreria Domino.Doc a pagina 109. Cabinet Specifica l'archivio Domino.Doc da utilizzare. String Per ulteriori dettagli, vedere Connessione a Domino.Doc a pagina 109. Category Specifica la categoria Domino.Doc da utilizzare. String Per ulteriori dettagli, vedere Connessione a Domino.Doc a pagina 109. Binder Specifica il raccoglitore Domino.Doc da utilizzare. String Per ulteriori dettagli, vedere Connessione a Domino.Doc a pagina 109. Description La descrizione da associare a tutte le versioni di questo documento. String Utilizzata per la versione appena creata e per qualsiasi operazione successiva. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 98 Nome Descrizione Tipi di dati Ulteriori informazioni Checkinlevel Specifica se il documento da archiviare è una versione principale (1.0) o una bozza (0.1). int (costante LDD) Valori: Comment Un commento che viene applicato solo a questa versione iniziale. String Questo campo viene aggiornato generalmente in modo automatico quando il documento viene elaborato nei processi del flusso di lavoro di Domino.Doc, quali la revisione, l'approvazione e il controllo. DocumentType Specifica il tipo di documento da archiviare. String Per impostazione predefinita, la proprietà non è specificata (nessun tipo). Il tipo di documento viene definito "profilo" in Domino.Doc e specifica i campi di metadati disponibili per questo documento. Il tipo di documento deve essere uno dei tipi validi supportati al momento della creazione dell'archivio file. Il tipo di documento distingue tra maiuscole e minuscole. Se si utilizzano le funzioni del flusso di lavoro di Domino.Doc, come ad esempio l'automazione della durata del documento, DocumentType specifica anche quale flusso di lavoro verrà applicato automaticamente al documento archiviato. stringarray Dopo la chiamata del metodo Go, questa proprietà contiene una matrice di stringhe corrispondente all'identificatore Domino univoco assegnato a ciascun file archiviato. DocumentList LDD_DOMDOC_INLEVEL_VERSION LDD_DOMDOC_INLEVEL_DRAFT Predefinito: LDD_DOMDOC_INLEVEL_DRAFT I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 99 Metodi Sintassi Descrizione bool Go() Ciascun file del documento di input viene archiviato separatamente con le stesse impostazioni di metadati, profilo e sicurezza. Parametri: nessuno Restituisce: TRUE - tutti i file vengono archiviati correttamente; per la proprietà DocumentList viene specificato l'elenco degli identificatori Domino univoci assegnati a ciascun file. FALSE - impossibile inizializzare l'API, è stata specificata una libreria, un nome utente o una password non validi, un documento di input vuoto, un'impostazione di proprietà non valida. Per informazioni sull'errore, consultare il file di registro. void Reset() Cancella tutte le informazioni precedentemente impostate per questa azione e ripristina il valore predefinito di tutte le proprietà. Parametri: nessuno Restituisce: nessuno void SetMetadata(string key, string value) Imposta una coppia chiave/valore di metadati da utilizzare alla successiva chiamata del metodo Go. Le chiavi di metadati valide sono determinate dal tipo di documento indicato nella progettazione del profilo. È possibile chiamare questa funzione ogni volta che si desidera impostare tutte le voci di metadati di un documento di input. Parametri: key - nome della chiave da impostare. value - valore da utilizzare per la chiave. Restituisce: nessuno void ClearMetadata() Rimuove tutte le coppie chiave/valore di metadati attualmente memorizzate in questo oggetto. Questo metodo è molto utile se l'oggetto DominoDocCheckIn deve essere utilizzato più volte nello stesso script. Parametri: nessuno Restituisce: nessuno Oggetti azione 100 Sintassi Descrizione void SetSecurityLevel(string name, int level) Specifica il livello di accesso a questo documento da parte di un determinato utente. Se questo metodo non viene chiamato, il documento utilizzerà le stesse impostazioni di sicurezza del raccoglitore principale. È possibile chiamare questo metodo ogni volta che si desidera impostare il livello di accesso di ciascun utente. Gli utenti per cui non è stato chiamato questo metodo disporranno del livello di accesso predefinito. Parametri: name - nome completo di un utente che dispone dei diritti di accesso per partecipare a questo archivio. level - i diritti di accesso da concedere all'utente specificato per il documento da archiviare; deve essere uno dei seguenti valori: LDD_DOMDOC_SECURITY_NOACCESS LDD_DOMDOC_SECURITY_READER LDD_DOMDOC_SECURITY_EDITOR LDD_DOMDOC_SECURITY_MANAGER Restituisce: nessuno void ClearSecurityLevel() Rimuove tutti i livelli di accesso attualmente memorizzati in questo oggetto. Questo metodo è molto utile se l'oggetto DominoDocCheckIn deve essere utilizzato più volte nello stesso script. Parametri: nessuno Restituisce: nessuno Per archiviare il documento sottoposto a scansione in Domino.Doc Questo esempio presuppone che il documento sottoposto a scansione sia un unico file. Si tratta dell'esempio completo più breve relativo all'uso dell'azione CheckIn e non include opzioni. Generalmente, l'ID documento, restituito dal metodo viene memorizzato altrove per usi futuri (ad esempio, includendolo in e-mail). doc d1=original.document // il documento che deve essere archiviato string id // la posizione in cui memorizzare l'ID del documento with DominoDocCheckIn .input=d1 .library="notes://MyServer/DocumentLibrary.nsf" .cabinet="File sottoposti a scansione" .binder="LDD" .description="Inviato da "+original.userip .comment="Inserito da LDD" .Go() id=.documentlist[1] endwith Oggetti azione 101 Ulteriori opzioni di sicurezza e metadati di archiviazione In questo esempio, il documento archiviato deve essere utilizzato come rapporto di stato per il progetto corrente di Mario Rossi. Mario Rossi dispone solo dell'accesso in lettura dei documenti presenti nel raccoglitore Rapporti di stato, pertanto la sicurezza viene ignorata per consentirgli di modificare il documento. Il documento viene etichettato e vengono aggiunti ulteriori metadati. doc d1=original.document //il documento che deve essere archiviato d1.SetFileLabelAll("X: stato corrente") with DominoDocCheckIn .input=d1 .library="notes://MyServer/DocumentLibrary.nsf" .cabinet="File di progetto" .binder="Rapporti di stato" .description="Inviato da "+original.userip .comment="Inserito da LDD" .SetSecurityLevel("Mario Rossi/MyNotesDomain",LDD_DOMDOC_SECURITY_EDITOR) .documenttype="Documento generico" .SetMetadata("Descrizione","Progetto: Leader del team X: Rossi") .SetMetadata("Data",original.usertime.AsAlphanumeric()) .Go() endwith Oggetti azione 102 DominoDocRetrieve (EDMS: recupero) Scopo: recupera uno o più documenti, e relativi metadati e descrizioni associati, da una libreria Lotus Domino.Doc in base ai criteri di ricerca. Dettagli: i documenti vengono recuperati da Domino.Doc utilizzando gli ID documento univoci assegnati da Domino al momento dell'archiviazione dei documenti. Per utilizzare questa azione, vengono prima impostati i criteri di ricerca, esplorazione e connessione. Quindi, viene chiamato il metodo Query(). Se il metodo viene eseguito correttamente, nella proprietà DocumentList viene restituita una matrice di ID documento per tutti i documenti corrispondenti. La proprietà DocumentID viene impostata su uno di questi ID e il metodo Go viene chiamato per recuperare il documento nonché i metadati e le descrizioni associati. Proprietà Nome Descrizione Tipi di dati Ulteriori informazioni Username Specifica l'utente da utilizzare per accedere. string Se la connessione viene stabilita mediante Notes, deve essere lasciato vuoto. Se la connessione viene eseguita mediante HTTP o HTTPS, indica il nome utente da utilizzare per l'accesso. Password Specifica la password dell'utente. string Se la connessione viene stabilita mediante Notes e la password è condivisa oppure non esiste alcuna password, può essere lasciato vuoto. Library La libreria Domino.Doc da utilizzare. string Per dettagli, vedere Connessione a Domino.Doc a pagina 109. Room string Per dettagli, vedere Esplorazione di una libreria Domino.Doc a pagina 109. Cabinet string Category string Binder string I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 103 Nome Descrizione Tipi di dati Ulteriori informazioni Searchmethod Specifica il tipo di interrogazione da eseguire. int (costante LDD) Valori validi: LDD_DOMDOC_SMETHOD_NONE Individuare un raccoglitore e selezionarne il titolo. LDD_DOMDOC_SMETHOD_FORMULA Individuare un archivio utilizzando una formula LotusScript (facoltativo). LDD_DOMDOC_SMETHOD_FAVS Non è necessaria alcuna esplorazione; è sufficiente selezionare il titolo dai segnalibri Web del menu Preferiti. LDD_DOMDOC_SMETHOD_RECENT Non è necessaria alcuna esplorazione; è sufficiente selezionare il titolo dai segnalibri Web modificati di recente. LDD_DOMDOC_SMETHOD_OUT Non è necessaria alcuna esplorazione; è sufficiente selezionare il titolo dai segnalibri Web estratti. Predefinito: LDD_DOMDOC_SMETHOD_NONE Criteria Se è stato scelto il metodo di ricerca per formula, questo valore viene utilizzato per specificare il criterio di ricerca LotusScript o le qualifiche di ricerca di testo completo. string È possibile utilizzare la ricerca di testo completa solo se è stata abilitata per questa libreria. Questa impostazione non viene utilizzata dagli altri metodi di ricerca. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 104 Nome Descrizione Tipi di dati Ulteriori informazioni Fulltextoptions Se è stato scelto il metodo di ricerca per formula, questo valore specifica la modalità di ricerca di testo completo. int (costante LDD) Valori: LDD_DOMDOC_FULLTEXT_NONE È richiesta una corrispondenza esatta oppure nessuna ricerca di testo completo è attualmente in corso. LDD_DOMDOC_FULLTEXT_STEMWORDS Utilizza la radice delle parole per la ricerca (ad esempio specificando la radice "spedi", le corrispondenze possibili saranno "spedito, spedita, spedite, spedire, spedizione, ecc.). LDD_DOMDOC_FULLTEXT_THESAURUS Considera come corrispondenze esatte anche eventuali sinonimi. LDD_DOMDOC_FULLTEXT_BOTH - Considera sia le radici delle parole che i sinonimi. Predefinito: LDD_DOMDOC_FULLTEXT_NONE Sortoptions Se è stato scelto il metodo di ricerca per formula, questo valore specifica l'ordine in cui i documenti corrispondenti vengono restituiti nell'elenco di documenti. int (costante LDD) Valori: LDD_DOMDOC_SORT_NONE - I documenti vengono restituiti nell'ordine 'naturale'. LDD_DOMDOC_SORT_RELEVANCE Se nella stringa di ricerca LotusScript è stata specificata una priorità, le corrispondenze più simili sono all'inizio dell'elenco. LDD_DOMDOC_SORT_DATEDESCEND I documenti più recenti sono all'inizio dell'elenco. LDD_DOMDOC_SORT_DATEASCEND I documenti meno recenti sono all'inizio dell'elenco. Predefinito: LDD_DOMDOC_SORT_NONE Whichdocument Dopo la chiamata al string metodo Query, viene creato un elenco di tutti i documenti corrispondenti. Se viene specificata questa proprietà, viene ricercato nell'elenco il documento con il titolo corrispondente a questo valore. È necessario che sia presente una sola corrispondenza; se non esistono corrispondenze o esistono più corrispondenze, il metodo Query restituisce FALSE. Se è presente una sola corrispondenza, verrà restituito solo l'ID documento nella proprietà DocumentList. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 105 Nome Descrizione Tipi di dati Ulteriori informazioni DocumentID string L'ID univoco del documento da recuperare con la chiamata successiva al metodo Go. Output Il documento recuperato più di recente tramite il metodo Go. doc L'output è vuoto se nessun documento è stato recuperato correttamente. DocumentType Il tipo di documento (o il profilo del documento) recuperato più di recente tramite il metodo Go. string Questa stringa è vuota se nessun documento è stato recuperato correttamente. Description La descrizione del documento recuperato più di recente tramite il metodo Go. string Questa stringa è vuota se nessun documento è stato recuperato correttamente. DocumentList Questa matrice contiene l'elenco dei documenti corrispondenti come vengono restituiti dal metodo Query(). Array Questa matrice è vuota fino a quando non viene chiamato il metodo Query. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 106 Metodi Sintassi Descrizione bool Go() Recupera il documento singolo univoco specificato dalla proprietà DocumentID. Parametri: nessuno Restituisce: TRUE - il documento è stato trovato ed è ora disponibile nella proprietà output; anche il tipo, la descrizione e i metadati del documento sono ora disponibili. FALSE - impossibile trovare il documento. void Reset() Cancella tutte le informazioni precedentemente impostate per questa azione e ripristina il valore predefinito di tutte le proprietà. Parametri: nessuno Restituisce: nessuno Oggetti azione 107 Sintassi Descrizione bool Query() Esegue l'interrogazione di ricerca specificata dalle proprietà searchmethod, criteria, sortoptions, fulltextoptions e whichdocument. Le interrogazioni verranno spostate nell'archivio o raccoglitore richiesto se specificato o se il metodo di ricerca le richiede. Parametri: nessuno Restituisce: TRUE - l'interrogazione è corretta; l'elenco degli ID dei documenti corrispondenti è ora disponibile nella proprietà DocumentList. FALSE - l'interrogazione non è corretta; le possibili cause sono: mancato collegamento alla libreria specificata, nome utente o password non validi, mancata individuazione della libreria specificata oppure impostazione della proprietà di ricerca non valida. Se l'interrogazione è stata eseguita e non sono presenti documenti che corrispondono ai criteri di ricerca, questo metodo restituirà ancora TRUE. string GetMetadata(string key) Ottiene il valore della chiave specificata per il documento recuperato più di recente con il metodo Go. Parametri: key - la chiave per restituire il valore dei metadati. Restituisce: Il valore della chiave specificata per il documento recuperato più di recente. Questo valore è formattato secondo le specifiche del formato definite per questo tipo di documento. Se la chiave specificata non esiste, viene restituita una stringa vuota. Oggetti azione 108 Connessione a Domino.Doc Quando si utilizza un'azione, questa deve essere prima collegata a una libreria Domino.Doc specifica per poter procedere con la funzione richiesta. Ciascuna azione utilizza le proprietà username, password e library per configurare la connessione. Domino.Doc supporta tre metodi di connessione; ciascun metodo viene descritto di seguito con le impostazioni necessarie per le proprietà citate. Client Notes Questo metodo consente il collegamento a Domino.Doc con l'ID utente memorizzato nel file ID Notes locale. In questo caso, la proprietà username dovrebbe essere lasciata vuota. È possibile non specificare la proprietà password se il client Notes è stato configurato per la condivisione della password con le applicazioni dei componenti aggiuntivi; in caso contrario, utilizzare la proprietà per specificare la password esplicitamente. La proprietà library deve iniziare con "notes://" e può essere utilizzata per accedere ai server Notes gerarchici, se necessario. I valori tipici sono: – – notes://MyServer/domdoc.nsf notes://MyNotesServer/organization units/organization!!subdirectory/domdoc.nsf HTTP o HTTPS Questi metodi consentono il collegamento a Domino.Doc come utente e non sono limitati all'ID utente del file ID Notes locale. Le proprietà username e password devono essere specificate utilizzando il nome completo come è visualizzato nella rubrica dei nomi e degli indirizzi di Notes, ad esempio "Mario Rossi/NotesDomain". I valori tipici della proprietà library sono: – – http://MyWebServer/domdoc.nsf https://MySecureWebServer/domdoc.nsf Esplorazione di una libreria Domino.Doc Ciascuna azione utilizza le proprietà room, cabinet, category e binder per spostarsi a una determinata posizione della libreria Domino.Doc. Le stanze e le categorie rappresentano tecniche di raggruppamento utilizzate per agevolare l'utilizzo della visualizzazione grafica di una libreria. A ogni archivio e raccoglitore di archivio deve essere associato un nome univoco. Ad esempio, è possibile che un archivio si trovi in più stanze oppure che un raccoglitore si trovi in più categorie. I raccoglitori di diversi archivi, a differenza di quelli dello stesso archivio, possono avere lo stesso nome. Per individuare la posizione corretta nella libreria, è necessario specificare solo gli archivi e i raccoglitori. Le proprietà room e category possono essere utilizzate per individuare facilmente archivi o raccoglitori specifici (specialmente rispetto al contenuto visualizzato su un client). Durante l'archiviazione di documenti, è necessario specificare un archivio e un raccoglitore univoci. Durante il recupero di documenti, è necessario specificare solo un archivio e un raccoglitore se il metodo di ricerca specificato lo richiede. Nota Le categorie possono essere nidificate. Le categorie nidificate vengono indicate utilizzando "/" come separatore di percorso. Ad esempio, "Moduli/Medici". Oggetti azione 109 Recupero di un ID documento conosciuto L'ID documento restituito dal metodo di archiviazione identifica in modo univoco il documento e può essere inviato tramite e-mail o aggiunto in una pagina di conferma. Lo script seguente definisce un campo dati utente in modo tale che durante la sua esecuzione sia possibile immettere e recuperare un ID documento. Lo script continuerà in genere a stampare o inviare questo documento. doc d1 //il documento recuperato with DominoDocRetrieve .library="notes://MyServer/DocumentLibrary.nsf" .documentID=userdata.docid .Go() d1=.output endwith Ricerca di file che soddisfano un criterio specifico Nella struttura precedente si è scelto di etichettare e classificare i file progetto in modo coerente e di accertarsi che tutti i titoli dei documenti archiviati in Domino.Doc includessero il nome del progetto. Nell'esempio seguente vengono individuati tutti i file relativi al progetto X, quindi vengono ordinati a partire da quelli più recenti e fascicolati in un unico documento LDD che potrebbe essere, ad esempio, inviato tramite e-mail. doc dCollate //dove vengono fascicolati tutti i file corrispondenti int iIndex //indice dei documenti corrispondenti with DominoDocRetrieve .library="notes://MyServer/DocumentLibrary.nsf" .cabinet="File di progetto" .searchmethod=LDD_DOMDOC_SMETHOD_FORMULA .criteria='([Title]CONTAINS"X")' .sortoptions=LDD_DOMDOC_SORT_DATEDESCEND .Query() loop iIndex from 1 to .documentList.GetSize() .documentID=.documentList[iIndex] .Go() dCollate.AddDocument(.output) endloop endwith Oggetti azione 110 EmailExchange (E-mail) Scopo: invia e-mail a uno o più destinatari tramite un determinato server di Exchange. I destinatari potrebbero essere utenti o cartelle pubbliche di Exchange. Gruppo di installazione: modulo Microsoft Exchange Prerequisiti: esistono diversi prerequisiti per l'utilizzo dell'azione EmailExchange. • È necessario installare Microsoft Outlook sullo stesso computer di Document Server. Microsoft Outlook Express fornito con Internet Explorer non è supportato. • È necessario disporre della libreria MAPI. Per verificare che tale libreria sia installata, controllare la seguente chiave di registro: HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows Messaging Subsystem È necessario impostare i valori delle chiavi "CMC" e "MAPI" su 1. • Per accedere, è necessario un account utente valido sul server di Exchange. Con Outlook installato, tentare di accedere al server di Exchange per verificarne il funzionamento. • Document Distributor deve accedere come utente. Document Server è un servizio. Per l'azione EmailExchange, è necessario configurare l'accesso del servizio con un account utente. L'account utente selezionato deve disporre di un account e-mail Exchange valido. L'account utente dovrebbe avere accesso completo al computer host di Document Server. Per configurare l'accesso del servizio Document Server come un utente (a tal fine, è necessario collegarsi come amministratore): Windows NT: 1 Fare clic su Start/Avvio Æ Impostazioni Æ Pannello di controllo Æ Servizi. 2 Selezionare il servizio Lexmark Document Server e fare clic su Avvio. 3 Fare clic su Altro account e selezionare il nome dell'utente che ha i diritti di accesso richiesti. Digitare la password utente e confermare. 4 Fare clic su OK. Nota Per consentire al servizio di accedere con le impostazioni specificate dall'utente, è necessario chiudere e riaprire il servizio Document Server o riavviare il computer. Windows 2000/XP: 1 Fare clic su Start/Avvio Æ Impostazioni Æ Pannello di controllo Æ Strumenti amministrativi Æ Servizi. 2 Fare doppio clic sul servizio Lexmark Document Server. 3 Scegliere la scheda Accesso. 4 Fare clic su Altro account e selezionare il nome dell'utente che ha i diritti di accesso richiesti. Digitare la password utente e confermare. 5 Fare clic su OK. Nota Per consentire al servizio di accedere con le impostazioni specificate dall'utente, è necessario chiudere e riaprire il servizio Document Server o riavviare il computer. Oggetti azione 111 Informazioni sui profili Exchange Per consentire l'accesso di Document Distributor a Exchange, è necessario un "profilo" utente. Il profilo specifica l'indirizzo del server di Exchange e il nome della cassetta postale Exchange valida. Document Distributor crea un profilo Exchange se lo script fornisce: • • • Il nome del profilo che si desidera creare. L'indirizzo del computer su cui è installato Exchange. Il nome di una cassetta postale Exchange valida. Se si specifica il nome di un profilo già esistente sul computer di Document Distributor, Document Distributor tenta di accedere a Exchange con tale profilo. Se non si fornisce alcun nome di profilo, Document Distributor ricerca nel registro di sistema il nome di un profilo predefinito. Il nome di questo profilo predefinito (se esistente) si trova nella chiave di registro seguente. HKEY_CURRENT _USER\\Software\\Microsoft\\WindowsNT\\CurrentVersion\\Windows Messaging Subsystem\\Profiles Se non si specifica alcun nome di profilo nello script e non esiste alcun profilo predefinito nel sistema, Document Distributor genera un errore. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni To Elenco degli indirizzi e-mail a cui viene inviato questo messaggio. string Per specificare più destinatari, separare gli indirizzi con virgole. From L'indirizzo e-mail del mittente. string cc Elenco degli indirizzi e-mail a cui vengono inviate copie del messaggio. string Per specificare più destinatari, separare gli indirizzi con virgole. bcc Elenco degli indirizzi e-mail a cui vengono inviate copie del messaggio in forma riservata. string Per specificare più destinatari, separare gli indirizzi con virgole. Subject Oggetto dell'e-mail. string Message Stringa di testo da utilizzare come corpo del messaggio. string Attachments Può essere un: doc • Documento originale sottoposto a scansione • Output da un'azione precedente I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 112 Per allegare più file, creare una variabile di tipo doc e chiamare il metodo AddFile() dell'oggetto doc per aggiungere i file all'oggetto prima di utilizzarlo. Nome Descrizione Tipo di dati Ulteriori informazioni Server L'indirizzo IP o il nome dell'host DNS del server. string Includere questo valore se si desidera che Document Distributor crei un profilo. Mailbox Nome della cassetta postale. string Includere questo valore se si desidera che Document Distributor crei un profilo. ProfileName Profilo da utilizzare string Questo valore specifica il nome del nuovo profilo che verrà creato da Document Distributor oppure il nome di un profilo esistente che verrà utilizzato da Document Distributor. Se non si specifica alcun nome, Document Distributor ricerca un profilo predefinito nel registro; vedere Informazioni sui profili Exchange a pagina 112. Password Password per accedere al server di Exchange. string I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 113 EmailNotes (E-mail) Scopo: invia e-mail a uno o più destinatari mediante un server di posta Lotus Notes. Gruppo di installazione: modulo Lotus Notes Prerequisiti: • È necessario installare il client Lotus Notes su Document Server affinché l'azione possa utilizzare le funzioni di Notes. Il client Notes fornisce le impostazioni e la sicurezza Notes sottostanti per consentire a Document Server di interagire con i server Notes. • È necessario specificare un file ID/account utente valido di Notes per consentire l'esecuzione delle azioni di Notes su Document Server. Generalmente, gli ID Notes, associati a un'applicazione server anziché a un utente, vengono chiamati ID applicazione dagli amministratori di Notes. • Se il file ID utilizzato dal client Notes dispone di una password, impostare la proprietà password nello script. Poiché è possibile impostare la proprietà attraverso un'impostazione locale nello script, la password verrà richiesta quando si carica lo script con Server Manager. Se non si fornisce la password, l'azione non viene completata correttamente. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Password La password del file ID utilizzata dal client Notes. string La proprietà deve essere impostata nello script o con un'impostazione locale se il file ID utilizza una password. Se non si rispettano queste indicazioni, l'azione non potrà essere eseguita correttamente. To Elenco degli indirizzi e-mail a cui viene inviato questo messaggio. string Per specificare più destinatari, separare gli indirizzi con virgole. From L'indirizzo e-mail del mittente. string cc Elenco degli indirizzi e-mail a cui vengono inviate copie del messaggio. string Per specificare più destinatari, separare gli indirizzi con virgole. bcc Elenco degli indirizzi e-mail a cui vengono inviate copie del messaggio in forma riservata. string Per specificare più destinatari, separare gli indirizzi con virgole. Subject Oggetto dell'e-mail. string Message Stringa di testo da utilizzare come corpo del messaggio. string I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 114 Nome Descrizione Tipo di dati Ulteriori informazioni Attachments Gli allegati possono essere: doc Per allegare più file, creare una variabile di tipo doc e chiamare il metodo AddFile() dell'oggetto doc per aggiungere i file all'oggetto prima di utilizzarlo. int (costante LDD) Valori delle proprietà: • Documento originale sottoposto a scansione • Output da un'azione precedente DeliveryPriority Priorità di consegna dell'e-mail. LDD_PRIORITY_LOW LDD_PRIORITY_NORMAL LDD_PRIORITY_HIGH Predefinito: LDD_PRIORITY_NORMAL MailImportance Importanza dell'e-mail. int (costante LDD) Valori delle proprietà: LDD_PRIORITY_LOW LDD_PRIORITY_NORMAL LDD_PRIORITY_HIGH Predefinito: LDD_PRIORITY_NORMAL MoodStamp Moodstamp è una proprietà facoltativa. int (costante LDD) Valori delle proprietà: LDD_MOODSTAMP_NORMAL LDD_MOODSTAMP_PERSONAL LDD_MOODSTAMP_CONFIDENTIAL LDD_MOODSTAMP_PRIVATE LDD_MOODSTAMP_THANKYOU LDD_MOODSTAMP_URGENT LDD_MOODSTAMP_GOODJOB LDD_MOODSTAMP_JOKE LDD_MOODSTAMP_FYI LDD_MOODSTAMP_QUESTION LDD_MOODSTAMP_REMINDER Predefinito: LDD_MOODSTAMP_NORMAL I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 115 Nome Descrizione Tipo di dati Ulteriori informazioni DeliveryReport Stato di consegna della nota. int (costante LDD) Valori delle proprietà: LDD_DELIVERYREPORT_CONFIRM LDD_DELIVERYREPORT_FAILURE LDD_DELIVERYREPORT_TRACEPATH LDD_DELIVERYREPORT_NONE Predefinito: LDD_DELIVERYREPORT_FAILURE ReturnReceipt Consente di inviare una ricevuta di ritorno al mittente. bool TRUE se si desidera una ricevuta di ritorno; altrimenti, FALSE. Predefinito: FALSE PreventCopying Impedisce che la nota venga copiata. bool TRUE per impedire la copia; altrimenti, FALSE. Predefinito: FALSE SaveSent ViewIcon Indica se è necessario salvare una copia del messaggio nella cartella della posta inviata. bool L'icona da visualizzare accanto al messaggio nella posta in arrivo di un client Notes. int TRUE per salvare il messaggio; altrimenti, FALSE. Predefinito: FALSE Se la proprietà è impostata su zero, viene utilizzata l'icona predefinita in base al tono dell'e-mail. In caso contrario, è possibile impostare qualsiasi ID valido dell'icona Notes, che sovrascriverà l'impostazione predefinita. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Note • Gli indirizzi e-mail possono essere indirizzi Lotus Notes o Internet. • Lotus Notes non richiede valori per To, From, cc o bcc. Tuttavia, è necessario che un messaggio specifichi un valore per almeno una di queste proprietà. Oggetti azione 116 EmailSMTP (E-mail) Scopo: invia un'e-mail a uno o più destinatari tramite il server SMTP (Simple Mail Transfer Protocol) specificato. Gruppo di installazione: modulo SMTP Prerequisiti: questa azione funziona solo sui server SMTP che non richiedono cifratura. Pertanto, se il server SMTP specificato richiede una connessione protetta, l'azione non verrà eseguita. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni To Elenco degli indirizzi e-mail a cui viene inviato questo messaggio. string Per specificare più destinatari, separare gli indirizzi con virgole. From L'indirizzo e-mail del mittente. string Nel caso di alcuni server SMTP, è necessario che il campo From contenga un indirizzo valido per poter indirizzare il messaggio e-mail. cc Elenco degli indirizzi e-mail string a cui vengono inviate copie del messaggio. Per specificare più destinatari, separare gli indirizzi con virgole. bcc Elenco degli indirizzi e-mail a cui vengono inviate copie del messaggio in forma riservata. string Per specificare più destinatari, separare gli indirizzi con virgole. ReplyTo L'indirizzo a cui inviare la risposta, se diverso da quello contenuto nel campo "From". string Ad esempio, nel caso di una segretaria che invii e-mail per un manager. Sender L'indirizzo e-mail a cui inviare eventuali errori. string Subject L'oggetto del messaggio. string Message Stringa di testo da utilizzare come corpo del messaggio. string Server L'indirizzo IP o il nome dell'host DNS del server SMTP. string I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 117 Nome Descrizione Tipo di dati Ulteriori informazioni CharacterSet Il set di caratteri utilizzato per il testo dell'oggetto e il corpo del messaggio inviato. int (costante LDD) Valori validi: LDD_SMTPCHARSET_US LDD_SMTPCHARSET_WEUROPE LDD_SMTPCHARSET_EEUROPE LDD_SMTPCHARSET_SEUROPE LDD_SMTPCHARSET_NEUROPE LDD_SMTPCHARSET_CYRILLIC LDD_SMTPCHARSET_ARABIC LDD_SMTPCHARSET_GREEK LDD_SMTPCHARSET_HEBREW LDD_SMTPCHARSET_TURKISH LDD_SMTPCHARSET_NORDIC Predefinito: LDD_SMTPCHARSET_US Attachments doc Gli allegati possono essere: • Documento originale sottoposto a scansione • Output da un'azione precedente Authentication Determina il metodo di autenticazione utilizzato da LDD. Per allegare più file, creare una variabile di tipo doc e chiamare il metodo AddFile() dell'oggetto doc per aggiungere i file all'oggetto prima di utilizzarlo. Valori validi: LDD_SMTPAUTH_NONE LDD_SMTPAUTH_LOGIN LDD_SMTPAUTH_PLAIN LDD_SMTPAUTH_CRAMMD5 LDD_SMTPAUTH_DIGESTMD5 LDD_SMTPAUTH_AUTO Predefinito: LDD_SMTPAUTH_AUTO Realm Area di autenticazione specifica per l'accesso su un server SMTP che condivide più domini. string Richiesta solo sui server SMTP che condividono più domini. User Name Il nome dell'account con cui si accede al server SMTP. string Se non specificato, il nome viene ricavato dall'indirizzo del mittente. Password La password che consente di accedere al server SMTP. string I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 118 Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Indirizzi e-mail Questa azione supporta indirizzi e-mail elaborati e sintetici. I tre esempi che seguono inviano e-mail allo stesso indirizzo: • • • [email protected] Mario Rossi <[email protected]> "Rossi, Mario" <[email protected]> Il primo esempio è sintetico e fornisce semplicemente un indirizzo e-mail. Il secondo esempio è elaborato; si tratta di una frase seguita da un indirizzo e-mail racchiuso tra <>. Il terzo esempio è elaborato con caratteri speciali; quindi, la frase deve essere racchiusa tra virgolette e seguita dall'indirizzo e-mail tra <>. Il nome elaborato viene visualizzato nel client di posta elettronica in forma descrittiva. Quando vengono utilizzati indirizzi e-mail elaborati, è possibile utilizzare all'interno della frase solo caratteri ASCII a 7 bit. Non è quindi possibile utilizzare caratteri accentati e altri caratteri non standard che sono validi nei campi relativi all'oggetto e al messaggio (in base al set di caratteri specificato). Destinatari e mittenti Le seguenti proprietà consentono di impostare i destinatari delle e-mail: • • • To - il destinatario a cui il messaggio viene inviato direttamente cc - il destinatario a cui viene inviata una copia del messaggio bcc - il destinatario a cui viene inviata una copia del messaggio in maniera riservata Non è necessario specificare un valore per nessuna di queste proprietà, ma è necessario specificare almeno un destinatario in una di esse. È possibile specificare più indirizzi per ciascuna proprietà separandoli tramite delle virgole. Le seguenti proprietà consentono di impostare le modalità di visualizzazione del mittente sul computer del destinatario: • • From - specifica il mittente del messaggio Reply to - se il destinatario risponde, specifica l'indirizzo a cui inviare tale risposta Oggetti azione 119 • Sender - specifica il mittente del messaggio; a questo indirizzo verranno inviati eventuali errori rilevati dal server SMTP La proprietà To è obbligatoria e può contenere uno o più indirizzi e-mail. La proprietà Reply to è facoltativa ed è possibile impostarla su uno o più indirizzi; se omessi, vengono utilizzati gli indirizzi dell'elenco To. La proprietà Sender è facoltativa se viene specificato un solo indirizzo dall'elenco; se vengono invece specificati più indirizzi, la proprietà To è obbligatoria. Quando impostata, la proprietà Sender può contenere un solo indirizzo. Se l'indirizzo non è specificato, la proprietà viene impostata sul primo (o unico) indirizzo presente nell'elenco To. Esempio Il direttore del servizio fidi di una banca desidera inviare un messaggio a diversi indirizzi per rendere noti i nuovi tassi d'interesse sui prestiti. Il seguente frammento visualizza uno dei messaggi inviati quando viene eseguito questo script. with EmailSMTP .To = "^"Rossi, Mario^" <[email protected]>" .From = "Giovanna Bianchi<[email protected]>" .ReplyTo = "Tassi di interesse sui prestiti <[email protected]>" .Sender = "[email protected]" .Subject = "Comunicazione sui tassi di interesse" .Message = "Vedere l'allegato per i nuovi tassi d'interesse sui prestiti." .Attachment = original.document .Go() endwith In questo frammento, il messaggio viene inviato a Mario Rossi. Viene usato un indirizzo e-mail elaborato contenente caratteri speciali (la virgola) che, pertanto, viene incluso tra virgolette. Poiché le virgolette sono necessarie per le stringhe LDDScript, "^" è una sequenza di escape che consente di utilizzare le virgolette anche all'interno della stringa. Il mittente del messaggio e-mail è il direttore del servizio fidi Giovanna Bianchi. Se il destinatario Mario Rossi desidera rispondere a questo messaggio e-mail, la risposta verrà inviata a Giorgio, l'assistente di Giovanna, incaricato di rispondere alle domande. Se si verificano errori e non è possibile inviare il messaggio e-mail, viene inviato un messaggio all'amministratore. Autenticazione Il meccanismo di autenticazione consente di verificare l'autorizzazione di un utente a inviare messaggi e-mail con uno specifico percorso di ritorno (un indirizzo valido del mittente e del destinatario). Alcuni server SMTP non richiedono l'autenticazione mentre altri possono avere una configurazione più complessa. Nella maggior parte dei casi, è sufficiente fornire una password. Per ulteriori informazioni, rivolgersi al fornitore del servizio SMTP. Sono supportati i seguenti metodi di autenticazione: • • • None - può essere valido se il server SMTP non è soggetto a restrizioni o è stato configurato per ritenere implicitamente attendibile il server LDD. Login - è il metodo più comune sui server Windows. Plain - è un metodo comune sui server UNIX. Oggetti azione 120 • • CRAMMD5 - è un metodo molto comune e non invia la password come testo normale. DIGESTMD5 - metodo molto comune in grado di fronteggiare i più comuni attacchi di posta elettronica. Se si specifica il metodo di autenticazione automatico, il server LDD determina il meccanismo più sicuro e con più funzioni supportato dai server LDD e SMTP. FaxByPrinter (Fax) Scopo: invia un fax tramite una stampante Lexmark dotata di server di stampa MarkNet™ con funzionalità fax. Gruppo di installazione: modulo Stampa Prerequisiti: un server di stampa MarkNet che supporta il servizio fax. Input: file PostScript (PS), bianco e nero o scala di grigi a 8 bit. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento da inviare via fax. doc Il documento deve essere in formato .PS. IPAddress L'indirizzo IP o il nome host DNS della stampante che supporta il servizio fax. string FaxNumber Il numero di telefono a cui inviare il fax. string StationID L'ID stazione da utilizzare per il fax. string WaitForCompletion Attendere il completamento del fax prima di continuare. bool Se impostato su TRUE, il metodo Go non restituisce alcun valore finché il fax non viene inviato correttamente, si verifica un errore oppure viene raggiunto il timeout specificato da WaitTimeout. Se impostato su FALSE, il metodo Go restituisce un valore immediatamente dopo aver inviato la richiesta di fax. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 121 Nome Descrizione Tipo di dati Ulteriori informazioni WaitTimeout Il numero massimo di minuti da attendere per il completamento del fax o perché venga generato un errore. int Questa impostazione viene ignorata se WaitForCompletion è impostato su FALSE. Questo valore consente di impostare l'intervallo di tempo per la richiesta iniziale e per eventuali tentativi successivi. Valori validi: da 0 a 60 Predefinito: 0 RedialMinutes L'intervallo di attesa espresso in minuti prima di un nuovo tentativo se il fax non viene inviato correttamente. int Per non eseguire ulteriori tentativi, questo valore deve essere impostato su 0. Per utilizzare i valori impostati sulla pagina Web della stampante, utilizzare la costante LDD, LDD_PRINTER_DEFAULT. Valori validi: da 0 a 9 oppure LDD_PRINTER_DEFAULT Predefinito: LDD_PRINTER_DEFAULT RedialTimes Il numero massimo di tentativi da eseguire per inviare il fax. int Per utilizzare i valori impostati sulla pagina Web della stampante, utilizzare la costante LDD, LDD_PRINTER_DEFAULT. Valori validi: da 1 a 200 oppure LDD_PRINTER_DEFAULT Predefinito: LDD_PRINTER_DEFAULT I nomi in grassetto sono proprietà obbligatorie. Metodi Nome Sintassi Descrizione Go bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. Reset void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 122 FTPget (FTP: recupero) Scopo: recupera un file da un server FTP specificato. Gruppo di installazione: Document Server Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Output Il documento in cui viene scritto il risultato di questa azione. doc ServerAddress L'indirizzo IP o il nome host DNS del server FTP da cui recuperare il file. string UserName Il nome utente che consente di accedere al server FTP. string Ulteriori informazioni Se non è una proprietà obbligatoria, immettere una stringa vuota. Predefinito: anonymous Password La password che consente di accedere al server FTP. string Se non è una proprietà obbligatoria, immettere una stringa vuota. Predefinito: anonymous Account Il nome dell'account utilizzato, se richiesto. string La maggior parte dei server FTP non richiede di specificare un account. TransferMode La modalità utilizzata per trasferire il file richiesto. int (costante LDD) Se il documento contiene un'immagine o più immagini, selezionare la modalità LDD_FTPMODE_BINARY. Se il documento contiene del testo, selezionare la modalità LDD_FTPMODE_ASCII. Predefinito: LDD_FTPMODE_BINARY SourcePath Il file da recuperare. string I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 123 Se non è stato specificato alcun percorso con il nome file, il file viene recuperato dalla directory FTP predefinita dell'utente; vedere Percorso di origine esempio a pagina 124. Metodi Nome Sintassi Descrizione Go bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. Reset void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Nota A causa delle differenze tra i file system, durante il trasferimento di un file in modalità ASCII, le dimensioni del nuovo file potrebbero non essere uguali a quelle del file originale sul server FTP. Percorso di origine esempio Spiegazione /sample1.tif Recupera il file "sample1.tif" dalla directory principale del computer di origine. /sample1.tif Recupera il file "sample1.tif" dalla directory FTP predefinita dell'utente. /zdir/sample1.tif Recupera il file "sample1.tif" dalla directory "zdir" contenuta nella directory principale del computer di origine (non la directory FTP predefinita dell'utente). myfile/sample1.tif Recupera il file "sample1.tif" dalla sottodirectory "myfile" contenuta nella directory FTP predefinita dell'utente. Oggetti azione 124 FTPput (FTP: inserimento) Scopo: trasferisce un documento a un server FTP specificato. Gruppo di installazione: Document Server Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Input Documento da trasferire. doc ServerAddress Indirizzo IP o nome host DNS del server FTP a cui trasferire il documento. string UserName Il nome utente che consente di accedere al server FTP. string Ulteriori informazioni Se non è una proprietà obbligatoria, immettere una stringa vuota. Predefinito: anonymous Password La password che consente di accedere al server FTP. string Se non è una proprietà obbligatoria, immettere una stringa vuota. Predefinito: anonymous DestinationPath Il nome completo del percorso string del file trasferito al server FTP. Se il valore contiene solo un nome file, il file verrà memorizzato nella directory FTP predefinita dell'utente; vedere Percorso di destinazione - esempio a pagina 126. Account Il nome dell'account utilizzato, se richiesto. string La maggior parte dei server FTP non richiede di specificare un account. AppendTimeStamp Aggiunge al nome del file un indicatore dell'anno, del mese, del giorno e dell'ora, in modo da non sovrascrivere i file omonimi. bool La variabile riservata original.usertime viene utilizzata per l'indicatore di data e ora. Predefinito: TRUE I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 125 Nome Descrizione Tipo di dati Ulteriori informazioni CreateDirectory Crea il percorso specificato nel parametro "DestinationPath", se non è già presente. bool Se il valore è FALSE e la directory specificata non esiste, l'azione ha esito negativo. Predefinito: FALSE TransferMode La modalità utilizzata per trasferire il documento. int Se il documento contiene (costante LDD) un'immagine, selezionare la modalità LDD_FTPMODE_BINARY. Se il documento contiene del testo, selezionare la modalità LDD_FTPMODE_ASCII. Predefinito: LDD_FTPMODE_BINARY Overwrite Sovrascrive il file FTP precedente. bool Predefinito: TRUE I nomi in grassetto sono proprietà obbligatorie. Metodi Nome Sintassi Descrizione Go bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. Reset void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Nota Se un documento contiene più file, nei file creati sul server FTP viene aggiunto un numero dopo l'estensione e prima dell'indicatore di data e ora (se richiesto), in modo da creare un nome file univoco. A causa delle differenze tra i file system, durante il trasferimento di un file in modalità ASCII, le dimensioni del nuovo file sul server FTP potrebbero non essere uguali a quelle del file originale. Percorso di destinazione esempio /sample1.tif Spiegazione Colloca il file "sample1.tif" nella directory principale del computer di destinazione. Oggetti azione 126 Percorso di destinazione esempio Spiegazione /sample1.tif Colloca il file "sample1.tif" nella directory FTP predefinita dell'utente con il nome "sample1.tif". /zdir/sample1.tif Colloca il file "sample1.tif" nella directory "zdir" contenuto nella directory principale del computer di destinazione (non la directory FTP predefinita dell'utente). Oggetti azione 127 Azioni GroupWise Prerequisiti: • Nel computer host deve essere disponibile la connettività NetWare necessaria, inclusi tutti i driver richiesti per collegare il server LDS (Lexmark Document Solutions) a un server NetWare. Controllare le proprietà delle risorse di rete per verificare che durante l'installazione di GroupWise siano stati installati i gateway e i protocolli necessari. Oltre al protocollo TCP/IP, il modulo può utilizzare qualsiasi protocollo disponibile. • È necessario installare anche il software client NetWare. In particolare, è necessario installare Novell Client per Windows NT, Windows 2000 o Windows XP sul server. Il client deve essere compatibile con la versione di NetWare in esecuzione sull'host GroupWise. Come requisito minimo, il client deve essere configurato per puntare a un server NetWare con una struttura e un contesto specifici. Consultare le Impostazioni avanzate nella finestra di dialogo Novell Client. • È necessario installare il client Novell GroupWise per Windows anche sul computer server. Se l'applicazione GroupWise può essere avviata tramite un'icona sul computer server senza utilizzare ulteriori input da parte dell'utente oltre il nome utente e la password, l'installazione è stata eseguita correttamente. • GroupWise richiede la versione 6 o successive. • In base alla configurazione di GroupWise preferita, potrebbe essere necessario configurare Document Server, in modo da accedere come utente particolare all'avvio. È possibile eseguire questa impostazione nell'applet Servizi del Pannello di controllo (in Strumenti di amministrazione in Windows 2000). In questo modo, il modulo GroupWise è abilitato a recuperare qualsiasi configurazione di NetWare necessaria dalle impostazioni di livello utente nel registro. L'interazione con il desktop non è necessaria. Occorre eseguire il client GroupWise. Si consiglia di disattivare tutti i componenti interattivi di GroupWise, quali l'applicazione Notify, sul computer server. Opzioni di configurazione È possibile utilizzare il modulo GroupWise in tre modi: • • • Ciascuna chiamata di GroupWise richiede un nome utente e una password per l'accesso. Chiamate diverse possono effettuare l'accesso come utenti diversi. Ciascuna chiamata di GroupWise richiede un accesso con gli stessi nome utente e password, ma l'accesso viene comunque verificato dal proxy come qualsiasi altro utente. La verifica da parte del proxy non richiede una password, ma è necessario che il proxy di destinazione conceda i diritti di accesso. Ciascuna chiamata di GroupWise effettua l'accesso utilizzando le impostazioni predefinite al livello di sistema specificate all'avvio di Novell Client o di GroupWise. Non è necessario specificare un nome e una password di accesso per ogni script. L'accesso del proxy è disponibile. Suggerimento Si consiglia di utilizzare la terza modalità. In particolare, è consigliabile creare un account di GroupWise dedicato per Document Distributor. Per consentire a LDD di operare per conto di altri utenti, l'amministratore di GroupWise o gli utenti stessi possono impostare LDD in modo che funzioni come un proxy. Tali accessi proxy non richiedono l'esposizione delle password utente su LDD ed è possibile impostare l'accesso dell'account LDD come un'impostazione predefinita a livello Oggetti azione 128 di sistema. Questo metodo consente all'amministratore di GroupWise, e non all'amministratore di Document Server, di controllare la protezione. Per ulteriori dettagli su ciascuno di questi prerequisiti, consultare la guida in linea di GroupWise Administrator, NetWare Administrator, Novell Client o GroupWise. GWMail (E-mail) Scopo: invia un'e-mail mediante GroupWise. Risultati: è possibile inviare un'e-mail a uno o più destinatari con o senza file allegati in diversi formati. Viene controllata la distribuzione, la priorità, la notifica e la protezione dei messaggi. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni RootAccount L'ID utente del modulo per l'accesso tramite Novell Client per Windows. string Non è necessariamente uguale al nome utente di GroupWise. Se non viene specificato alcun valore, ne verrà ricercato uno predefinito nel sistema. RootPassword La password per l'accesso a Novell Client. string Se non viene specificato alcun valore, ne verrà ricercato uno predefinito nel sistema. ProxyAccount L'account proxy con cui il modulo gestisce l'intero GroupWise. string Il nome account specificato deve essere un nome account di GroupWise e deve essere incluso nella rubrica del sistema GroupWise. Se necessario, GroupWise esegue il completamento del nome. L'utente che deve essere verificato dal proxy, o l'amministratore GroupWise, deve disporre di diritti di accesso al proxy adeguati ai parametri specificati nell'account principale. Se la proprietà non è specificata, la gestione di GroupWise viene eseguita con l'account principale. To Elenco degli indirizzi e-mail a cui viene inviato questo messaggio. string Le voci dell'elenco possono essere separate da virgole, come gli altri moduli di posta LDD, o da punti e virgole, come nel client GroupWise. Gli indirizzi vengono prelevati dalla rubrica del mittente ed è previsto il completamento del nome. È possibile utilizzare anche indirizzi esterni quali SMTP e MAPI, se supportati dal server GroupWise. Nota È necessario specificare almeno un destinatario nei campi To, From, cc o bcc. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 129 Nome Descrizione Tipo di dati Ulteriori informazioni From L'indirizzo e-mail del mittente. string Il nome dell'utente principale o verificato dal proxy viene sempre aggiunto a questo campo. Non è possibile impostare un indirizzo From con intenzioni fraudolente utilizzando questo metodo. L'impostazione predefinita è un indirizzo From non elaborato. Una voce adeguata a questo campo potrebbe essere "Inviato da LDD per conto di" o una simile. cc Elenco degli indirizzi e-mail a cui vengono inviate copie del messaggio. string Come nel campo To, le voci dell'elenco possono essere delimitate da virgole o da punti e virgole e possono comprendere qualsiasi indirizzo che è possibile prelevare dalle rubriche o dalle connessioni a server GroupWise esterni. bcc Elenco degli indirizzi e-mail a cui vengono inviate copie del messaggio in forma riservata. string È impossibile visualizzare gli altri destinatari del messaggio ricevuto. Vengono applicate le stesse condizioni dei campi To e cc. Subject La riga relativa all'oggetto di questo messaggio. string Message Il contenuto di questo messaggio. string MessageFormat Il formato in cui viene codificato il messaggio ASCII. int Valori validi: (costante LDD) LDD_GWMSGTYPE_PLAINTEXT Il corpo del messaggio è soggetto alla limitazione di GroupWise che consente di inserire un massimo di circa 32.000 caratteri. LDD_GWMSGTYPE_RICHTEXT Predefinito: LDD_GWMSGTYPE_PLAINTEXT Attachments I file allegati da aggiungere a questo messaggio. doc I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 130 Per allegare più file, creare una variabile di tipo doc e chiamare il metodo AddFile() dell'oggetto doc per aggiungere i file all'oggetto prima di utilizzarlo. Nome Descrizione Tipo di dati Ulteriori informazioni bool ConvertAttachments Specifica se dalla centrale di GroupWise è possibile modificare gli allegati in moduli visualizzabili all'interno di GroupWise stesso. Il valore predefinito è FALSE, che consente di trasmettere qualsiasi allegato nel formato originale come inviato da LDD. È possibile che i destinatari debbano utilizzare un'applicazione esterna per visualizzare tali allegati. L'impostazione di questo valore su TRUE consente alla centrale di modificare i formati degli allegati in moduli visualizzabili all'interno di GroupWise. Tali modifiche possono influire sulla compressione o sul formato dei file e non garantiscono la conservazione dei codici di formattazione o dei dettagli grafici. Per ulteriori dettagli sulle conversioni, contattare l'amministratore della centrale. Priority Viene applicata, quando possibile, in base al meccanismo di trasporto utilizzato per inviare il messaggio. Per le destinazioni GroupWise, la priorità viene indicata dal colore dell'icona della posta in arrivo dei destinatari. La priorità assegnata a questo messaggio. int (costante LDD) Valori validi: LDD_PRIORITY_LOW LDD_PRIORITY_NORMAL LDD_PRIORITY_HIGH Predefinito: LDD_PRIORITY_NORMAL Private RequestReply bool Specifica se questo messaggio viene nascosto agli utenti proxy ed è visualizzabile solo dal destinatario designato. int (costante LDD) Indica se il messaggio è accompagnato da una richiesta di risposta. Valido solo per destinazioni GroupWise. Rilevante solo per destinazioni GroupWise. Predefinito: FALSE Valori validi: LDD_GWREPLY_NONE LDD_GWREPLY_CONVENIENT LDD_GWREPLY_DAYS Predefinito: LDD_GWREPLY_NONE I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 131 Nome Descrizione Tipo di dati Ulteriori informazioni ReplyDays Se RequestReply è impostato su LDD_GWREPLY_ DAYS, questo numero specifica i giorni di attesa prima che venga generato un promemoria per i destinatari. int Valido solo per destinatari GroupWise. Se abilitato, il valore predefinito è 0, che richiede una risposta nello stesso giorno. NotifyOpened Quando il destinatario apre i messaggi, è possibile inviare una notifica al mittente proxy utilizzando l'applicazione Notify di GroupWise o la conferma di invio dell'e-mail. int Valido solo per destinazioni GroupWise. Valori validi: LDD_GWNOTIFICATION_NONE LDD_GWNOTIFICATION_MESSAGE LDD_GWNOTIFICATION_USER LDD_GWNOTIFICATION_BOTH Predefinito: LDD_GWNOTIFICATION_NONE NotifyDeleted int Quando il destinatario elimina i messaggi, è possibile inviare una notifica al mittente proxy utilizzando l'applicazione Notify di GroupWise o la conferma di invio dell'e-mail. Valido solo per destinazioni GroupWise. Valori validi: LDD_GWNOTIFICATION_NONE LDD_GWNOTIFICATION_MESSAGE LDD_GWNOTIFICATION_USER LDD_GWNOTIFICATION_BOTH Predefinito: LDD_GWNOTIFICATION_NONE I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 132 GWDiscuss (E-mail) Scopo: invia un messaggio di posta in una cartella condivisa come discussione. Il messaggio può essere visualizzato da tutti gli utenti che hanno accesso alla cartella di destinazione. È possibile utilizzare il messaggio di posta come un semplice contenitore di documenti o di file accessibili tramite la ricerca di testo completo. Risultati: il messaggio di posta viene inviato su una cartella condivisa e può includere file allegati. Possono visualizzare questo messaggio di posta tutti gli utenti che condividono l'accesso a questa cartella. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni RootAccount L'ID utente del modulo per l'accesso tramite Novell Client per Windows. string Non è necessariamente uguale al nome utente di GroupWise. Se non viene specificato alcun valore, ne verrà ricercato uno predefinito nel sistema. RootPassword La password per l'accesso a Novell Client. string Se non viene specificato alcun valore, ne verrà ricercato uno predefinito nel sistema. ProxyAccount L'account proxy con cui il modulo gestisce l'intero GroupWise. string Il nome account specificato deve essere un nome account di GroupWise e deve essere incluso nella rubrica del sistema GroupWise. Se necessario, GroupWise esegue il completamento del nome. L'utente che deve essere verificato dal proxy, o l'amministratore GroupWise, deve disporre di diritti di accesso al proxy adeguati ai parametri specificati nell'account principale. Se la proprietà non è specificata, la gestione di GroupWise viene eseguita con l'account principale. From Testo aggiuntivo da aggiungere al campo From come parte del messaggio. string In questo campo l'utente deve aggiungere il nome dell'utente principale o del proxy. L'impostazione predefinita è un indirizzo From non elaborato. Una voce adeguata a questo campo potrebbe essere "Inviato da LDD per conto di Mario Rossi" o una simile. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 133 Nome Descrizione Tipo di dati Ulteriori informazioni Folder Il percorso di una cartella in cui scrivere il messaggio di posta. string Il percorso della cartella è relativo alla directory home dell'utente per conto del quale opera Document Server. Può trattarsi di un utente verificato dal proxy o dell'account principale dell'accesso LDD. La nidificazione della cartella è supportata utilizzando il separatore "/", così ad esempio Archivio/Condivisione/Discussione è un percorso corretto. Possono visualizzare questo messaggio di posta tutti gli utenti con diritti di condivisione-lettura per questa cartella. Tutti gli utenti con diritti di condivisione-aggiunta possono creare e-mail di discussione in questa cartella. Subject La riga relativa all'oggetto di questo messaggio. string Message Il contenuto di questo messaggio. string Il corpo del messaggio è soggetto alla limitazione di GroupWise che consente di inserire un massimo di circa 32.000 caratteri. Il corpo del messaggio è disponibile per la ricerca di testo completo che abilita le operazioni di indicizzazione altrimenti non disponibili all'interno di GroupWise. MessageFormat Il formato in cui viene codificato il messaggio ASCII. int (costante LDD) Valori validi: LDD_GWMSGTYPE_PLAINTEXT LDD_GWMSGTYPE_RICHTEXT Predefinito: LDD_GWMSGTYPE_PLAINTEXT Attachments I file allegati da string aggiungere a questo messaggio. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 134 Per allegare più file, creare una variabile di tipo doc e chiamare il metodo AddFile() dell'oggetto doc per aggiungere i file all'oggetto prima di utilizzarlo. Nome Descrizione Tipo di dati Ulteriori informazioni ConvertAttachments Specifica se dalla centrale di GroupWise è possibile modificare gli allegati in moduli visualizzabili all'interno di GroupWise stesso. bool Il valore predefinito è FALSE, che consente di trasmettere qualsiasi allegato nel formato originale come inviato da LDD. È possibile che i destinatari debbano utilizzare un'applicazione esterna per visualizzare tali allegati. L'impostazione di questo valore su TRUE consente alla centrale di modificare i formati degli allegati in moduli visualizzabili all'interno di GroupWise. Tali modifiche possono influire sulla compressione o sul formato dei file e non garantiscono la conservazione dei codici di formattazione o dei dettagli grafici. Per ulteriori dettagli sulle conversioni, contattare l'amministratore della centrale. Priority int (costante LDD) Viene applicata, quando possibile, in base al meccanismo di trasporto utilizzato per inviare il messaggio. Per destinazioni GroupWise, la priorità viene indicata dal colore dell'icona della posta in arrivo del destinatario. La priorità assegnata a questo messaggio. Valori validi: LDD_PRIORITY_LOW LDD_PRIORITY_NORMAL LDD_PRIORITY_HIGH Predefinito: LDD_PRIORITY_NORMAL I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Nota Il messaggio di posta di discussione non viene visualizzato come discussioni create dal client GroupWise (graffetta e puntina), ma come bozza (matita e busta). Le due funzioni sono piuttosto diverse fra loro. Oggetti azione 135 GWCheckIn (Groupware: archiviazione) Scopo: archivia un file del documento in una libreria di documenti GroupWise. Risultati: viene creato un nuovo documento nella libreria di destinazione. Inoltre, è possibile impostare i diritti di accesso per questo nuovo documento nella libreria in base a singoli utenti o a gruppi di utenti. L'azione può creare un riferimento al documento in una cartella condivisa per un facile accesso da parte di più utenti. È possibile applicare i controlli di accesso alle singole versioni. Il nuovo documento è il 'documento principale' di una nuova gerarchia di controllo della versione. Proprietà oltre alle impostazioni del modulo Common GroupWise, questo modulo è dotato delle seguenti proprietà. Nome Descrizione Tipo di dati Ulteriori informazioni RootAccount L'ID utente del modulo per l'accesso tramite Novell Client per Windows. string Non è necessariamente uguale al nome utente di GroupWise. Se non viene specificato alcun valore, ne verrà ricercato uno predefinito nel sistema. RootPassword La password per l'accesso a Novell Client. string Se non viene specificato alcun valore, ne verrà ricercato uno predefinito nel sistema. ProxyAccount L'account proxy con cui il modulo gestisce l'intero GroupWise. string Il nome account specificato deve essere un nome account di GroupWise e deve essere incluso nella rubrica del sistema GroupWise. Se necessario, GroupWise esegue il completamento del nome. L'utente che deve essere verificato dal proxy, o l'amministratore GroupWise, deve disporre di diritti di accesso al proxy adeguati ai parametri specificati nell'account principale. Se la proprietà non è specificata, la gestione di GroupWise viene eseguita con l'account principale. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 136 Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento da inserire nel controllo della versione. doc GWCheckIn crea un nuovo oggetto documento GroupWise per ciascun file del documento in entrata. In teoria, un documento GroupWise corrisponde a una o più versioni di un file unico. All'interno della libreria, a ciascun documento nuovo viene attributo un nome ricavato dall'etichetta del documento di Document Distributor. Library Il nome della libreria string di documenti di GroupWise in cui viene inserito questo documento. VersionDescription Una descrizione da includere nelle proprietà per questa versione del documento. string L'impostazione predefinita non include alcuna descrizione, tuttavia una possibile stringa può essere "Inviato da LDD". MarkOfficial Se questa proprietà è selezionata, il documento viene sempre contrassegnato come la versione corrente. bool GroupWise consente di assegnare a un documento due livelli di avanzamento. Le parti recenti di un documento vengono contrassegnate come correnti, mentre una singola versione può essere contrassegnata come ufficiale. È possibile impostare i privilegi di sicurezza sulla versione ufficiale del documento. Questa impostazione contrassegna automaticamente il nuovo documento come versione ufficiale. I valori predefiniti sono impostati su TRUE. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 137 Il nome esatto della libreria di documenti come visualizzato nelle cartelle di ricerca di GroupWise. Nome Descrizione Tipo di dati Ulteriori informazioni AccessRights Per impostazione predefinita, i diritti di accesso applicati a un documento garantiscono all'autore del documento un accesso completo e negano l'accesso agli altri utenti. string Normalmente, è possibile specificare diritti di accesso a determinati utenti o gruppi, per singole versioni. Folder Se specificata, indica una cartella personale o condivisa in cui viene inviato un riferimento al documento. string Il percorso della cartella è relativo alla directory home dell'accesso LDD. La nidificazione della cartella è supportata utilizzando il separatore "/", così ad esempio "Archivio/Condivisione/ Documenti/Novembre" è un percorso corretto. Possono visualizzare il riferimento del documento tutti gli utenti con diritti di condivisione-lettura per questa cartella. Tuttavia, se agli utenti non sono specificatamente garantiti i diritti di accesso, non è possibile modificare il documento. I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Diritti di accesso • È possibile impostare i diritti di accesso alle singole versioni per gruppi o utenti. La sintassi dei diritti di accesso consente di aggiungere o eliminare diritti in maniera progressiva; in questo modo, ad esempio, è possibile concedere diritti di visualizzazione ad un intero gruppo, quindi di concedere diritti di modifica ad un membro specifico di tale gruppo. È inoltre possibile concedere i diritti a tutti gli utenti. Per impostazione predefinita, all'autore del documento sono concessi tutti i diritti, mentre agli altri utenti non è consentito alcun tipo di accesso. Ulteriori modifiche possono essere apportate impostando la stringa dei diritti di accesso. Oggetti azione 138 • La concessione dei diritti di visualizzazione a un documento o a una versione specifica consente all'utente di prelevare il documento e copiarlo per uso personale; le eventuali modifiche apportate non verranno applicate all'originale. Sintassi dei diritti di accesso In teoria, la stringa dei diritti di accesso è un gruppo di comandi di accesso del modulo separati da virgole {nome utente o gruppo}{‘:’}{diritti di accesso}. Nella stringa dei diritti di accesso è possibile specificare utenti o gruppi. Ciascun utente o gruppo inserito nella stringa dei diritti di accesso deve essere incluso in una delle rubriche appartenenti all'ID del GroupWise utilizzato da LDD per l'accesso. I diritti concessi ai gruppi vengono estesi ai relativi membri. La parte della stringa relativa ai diritti di accesso è composta dai caratteri "V", "E", "D" per i diritti di visualizzazione, modifica ed eliminazione. Il carattere "M" concede l'autorizzazione a modificare la sicurezza di un documento. In GroupWise 5.2 e versioni successive, è possibile utilizzare il carattere "S" per concedere diritti di condivisione. Utilizzare il carattere "-" come prefisso ai caratteri che revocano il privilegio precedente concesso all'utente o al gruppo. Aggiungendo "c", "o" o "a" all'interno della sezione relativa ai diritti di accesso, i permessi specificati con i caratteri seguenti vengono applicati solo alle versioni "current" (corrente), "official" (ufficiale) o "all other" (tutte le altre) del documento. I diritti di modifica della sicurezza specificati da "M" vengono applicati a tutte le versioni. Per impostazione predefinita, i diritti di accesso vengono applicati a tutte le versioni del documento. Se non viene specificato il nome di un utente o di un gruppo, vengono applicati i diritti di accesso predefiniti a tutti gli utenti. Esempio È possibile specificare la seguente stringa dei diritti di accesso: oV,SVILUPPO:VE,RESPONSABILI:SaD,guest:-E,Gianna Verdi:VEDS-M,Mario Rossi:M • oV - Consente la visualizzazione del documento a tutti gli utenti solo nella versione ufficiale. • DEVELOPMENT:VE - Consente al gruppo denominato DEVELOPMENT di visualizzare e modificare tutte le versioni del documento. • TEAMLEADERS:SaD - Consente al gruppo TEAMLEADERS di condividere qualsiasi versione del documento o eliminare versioni non riservate. • guest:-E - Rimuove i privilegi di modifica per gli utenti che accedono al gruppo sviluppo come ospiti. • Gianna Verdi:VEDS–M,Mario Rossi:M - Consente a Gianna Verdi di eseguire qualsiasi operazione sul documento tranne la modifica della sicurezza e garantisce a Mario Rossi l'accesso completo alle opzioni di sicurezza. Nota I diritti di accesso sono cumulativi, quindi tutti gli utenti sono in grado di visualizzare la versione ufficiale, mentre i TEAMLEADERS, che fanno parte del gruppo DEVELOPMENT, sono automaticamente in grado di visualizzare e modificare tutte le versioni. Se Mario Rossi considera questi privilegi non corretti, può disattivare le proprietà condivise di questo documento e modificarle manualmente in qualsiasi momento, per singolo utente, se necessario. Oggetti azione 139 ImageCombine (Immagini: combinazione all'interno di documenti) Scopo: crea un unico file immagine multipagina da più file immagini di una sola pagina. Questa opzione è opposta a ImageSeparate. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc L'input deve essere in un formato immagine. Output Contiene il doc documento di output generato dall'azione. A questa proprietà è possibile accedere solo dopo che è stato chiamato il metodo Go. Format int Il formato (costante LDD) dell'immagine multipagina di output in cui si desidera combinare i file di input. Valori validi: LDD_IMGFORMAT_TIF LDD_IMGFORMAT_TIFPB LDD_IMGFORMAT_TIFG3 LDD_IMGFORMAT_TIFG4 LDD_IMGFORMAT_DCX Predefinito: LDD_IMGFORMAT_TIF ColorDepth I bit dei colori del file di output. int (costante LDD) Valori validi: LDD_IMGDEPTH_BW LDD_IMGDEPTH_4C LDD_IMGDEPTH_8C LDD_IMGDEPTH_8G LDD_IMGDEPTH_24C LDD_IMGDEPTH_24G Predefinito: LDD_IMGDEPTH_8C I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 140 Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Nota Se l'intensità del colore del file di output specificata nello script non è valida, l'azione sceglie un'intensità del colore appropriata per questo formato e completa la combinazione. Oggetti azione 141 ImageCrop (Immagini: ritaglio) Scopo: taglia uno o più file immagine nel rettangolo specificato. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc L'input deve essere in un formato immagine. Output Contiene il documento di doc output generato dall'azione. Left Il bordo sinistro (espresso in pixel) del rettangolo usato per tagliare l'immagine. int Top Il bordo superiore (espresso in pixel) del rettangolo usato per tagliare l'immagine. int Right Il bordo destro (espresso in pixel) del rettangolo usato per tagliare l'immagine. int Bottom Il bordo inferiore (espresso in pixel) del rettangolo usato per tagliare l'immagine. int AllPages Taglia tutte le pagine del documento di input. bool La prima pagina da tagliare. int StartPage A questa proprietà è possibile accedere solo dopo che è stato chiamato il metodo Go(). Predefinito: TRUE Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage L'ultima pagina da tagliare. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Il valore 0 indica l'ultima pagina del documento. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 142 Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 143 Note • I valori Right, Left, Top e Bottom dipendono dalla risoluzione di scansione utilizzata per acquisire il documento. Determinare la risoluzione di scansione necessaria, le posizioni pixel necessarie per delimitare l'area, quindi utilizzare la stessa risoluzione di scansione per tutti i profili che utilizzano lo script. • L'angolo superiore sinistro della pagina è pari a 0 nelle coordinate espresse in pixel. È necessario specificare i valori Right, Left, Top e Bottom in base a tali coordinate. (0,0) Sinistra, Superiore Destra, Inferiore Oggetti azione 144 ImageInvert (Immagini: inversione) Scopo: inverte una o più immagini. L'inversione consente di visualizzare le immagini come un negativo fotografico. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc L'input deve essere in un formato immagine. Output Contiene il documento di doc output generato dall'azione. A questa proprietà è possibile accedere solo dopo che è stato chiamato il metodo Go. AllPages Inverte tutte le pagine del documento di input. bool Predefinito: La prima pagina da invertire. int StartPage TRUE Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage L'ultima pagina da invertire. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Il valore 0 indica l'ultima pagina. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 145 ImageMerge (Immagini: sovrapposizione) Scopo: sovrappone un'immagine a un'altra immagine. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc L'input deve essere in un formato immagine. Output Contiene il documento di output generato dall'azione. doc A questa proprietà è possibile accedere solo dopo che è stato chiamato il metodo Go. Position Specifica la posizione int (costante nella pagina in cui LDD) collocare il file immagine. Valori validi: LDD_IMGMERGEPOS_TOPLEFT LDD_IMGMERGEPOS_TOPCENTER LDD_IMGMERGEPOS_TOPRIGHT LDD_IMGMERGEPOS_CENTERLEFT LDD_IMGMERGEPOS_CENTER LDD_IMGMERGEPOS_CENTERIGHT LDD_IMGMERGEPOS_BOTTOMLEFT LDD_IMGMERGEPOS_BOTTOMCENTER LDD_IMGMERGEPOS_BOTTOMRIGHT LDD_IMGMERGEPOS_CUSTOM Predefinito: LDD_IMGMERGEPOS_TOPLEFT Offset Lo scostamento (espresso in pixel) dal bordo della pagina in cui collocare l'immagine. int Questo valore viene ignorato se la posizione è impostata su Custom. Predefinito: 0 MergeLeft MergeTop La coordinata X (espressa in pixel) dell'angolo superiore sinistro dell'area unita nell'immagine. int La coordinata Y (espressa in pixel) dell'angolo superiore sinistro dell'area unita nell'immagine. int Questa proprietà viene utilizzata solo se la posizione è impostata su Custom. Predefinito: 0 Questa proprietà viene utilizzata solo se la posizione è impostata su Custom. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 146 Nome Descrizione Tipo di dati ImageFile Il documento di una sola pagina da inserire sul documento di input. doc AllPages Unisce l'immagine su tutte le pagine del documento di input. bool La prima pagina da sovrapporre. int StartPage Ulteriori informazioni Predefinito: TRUE Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Valori validi: 0-32767 Predefinito: 0 EndPage L'ultima pagina da sovrapporre. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Il valore 0 indica l'ultima pagina. Valori validi: 0-32767 Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Note • L'unione delle immagini con intensità del colore pari a 8 bit produce un output con un'intensità colore di 24 bit. • È possibile sovrapporre immagini di diversi tipi di file. Se i file hanno la stessa intensità di colore, l'output ha lo stesso formato dell'input. Se i file hanno intensità di colore diverse, l'output avrà il formato del file con l'intensità colore superiore. • L'angolo superiore sinistro della pagina è pari a 0 nelle coordinate espresse in pixel. La posizione deve essere specificata in riferimento a tali coordinate. Oggetti azione 147 • I valori relativi all'impostazione Position dipendono dalla risoluzione di scansione utilizzata per acquisire il documento. Determinare la risoluzione di scansione necessaria, le posizioni pixel necessarie per collocare correttamente l'immagine unita, quindi utilizzare la stessa risoluzione di scansione per tutti i profili che utilizzano lo script. • Il documento specificato da ImageFile viene collocato sull'immagine di input durante l'azione ImageMerge. • Non è possibile utilizzare ImageMerge per creare una filigrana. • In alcuni casi, se ImageFile è in formato bitmap, viene visualizzato un rettangolo nero in cui si trova l'immagine. Per ovviare a questo inconveniente, convertire il formato dell'immagine di ImageFile in PNG e utilizzare l'immagine convertita come ImageFile. Oggetti azione 148 Esempio Questo script stampa una copia di ciascuna pagina sottoposta a scansione con un piccolo logo della società collocato nell'angolo inferiore destro. Il logo nasconde qualsiasi immagine o carattere situato nell'angolo inferiore destro del documento originale. Il logo è un file TIFF con una risoluzione di 300 dpi. Quindi è necessario utilizzare questo script con un profilo che esegue la scansione con una risoluzione di 300 dpi. doc MergeDoc doc MergePS doc Logo real LogoWidth,LogoHeight real MergeTop, MergeLeft // dimensioni del logo in pixel // il logo è un'immagine TIFF sottoposta a scansione con una risoluzione di 300 dpi LogoWidth = 600,0 LogoHeight = 186,0 // Questi calcoli vengono eseguiti come numeri reali a causa // delle dimensioni della carta di 215 mm circa (8,5 pollici) MergeLeft = 8,50 * 300,0 - LogoWidth MergeTop = 11,0*300,0 - LogoHeight Logo.AddFile("c:\ebc\lexlogo.tif") // Colloca il logo su ciascuna pagina with ImageMerge .input=original.document .MergeLeft= MergeLeft.AsInt() .MergeTop=MergeTop.AsInt() .AllPages=TRUE .ImageFile=Logo .Go() MergeDoc=.output endwith // Crea un file PostScript per la stampa with ConvertToDocument .input=MergeDoc .Format=LDD_DOCFORMAT_PS .PaperSize=LDD_PAPERSIZE_AUTO .Orientation=LDD_ORIENTATION_AUTO .PSResolution=LDD_RESOLUTION_AUTO .AllPages=TRUE .Go() MergePS=.output endwith Oggetti azione 149 // Stampa l'originale con il logo with PrintForm .input=MergePS .IPAddress=original.userip .PaperType=LDD_PAPERTYPE_DEFAULT .Copies=1 .Nup=LDD_NUP_OFF .NupBorder=TRUE .Duplex=LDD_DUPLEX_OFF .OutputBin=LDD_OUTPUTBIN_DEFAULT .Collate=FALSE .ConfidentialPrint=FALSE .WaitForCompletion=FALSE .Staple=FALSE .Go() endwith Oggetti azione 150 ImageRotate (Immagini: rotazione) Scopo: ruota un'immagine con incrementi di 90°. Gruppo di installazione: modulo Immagine Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc L'input deve essere in un formato immagine. Output Contiene il documento di output generato dall'azione. doc A questa proprietà è possibile accedere solo dopo che è stato chiamato il metodo Go. AllPages Ruota tutte le pagine nel documento di input. bool Predefinito: La prima pagina da ruotare. int StartPage TRUE Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage L'ultima pagina da ruotare. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Il valore 0 indica l'ultima pagina. Predefinito: 0 RotatePages Indica le pagine da ruotare nell'intervallo specificato. int (costante LDD) Valori validi: LDD_IMGROTATE_ALLPAGES LDD_IMGROTATE_ODDPAGES LDD_IMGROTATE_EVENPAGES Predefinito: LDD_IMGROTATE_ALLPAGES RotationAngle L'angolo di rotazione espresso in gradi. int (costante LDD) Valori validi: LDD_IMGROTATE_90 LDD_IMGROTATE_180 LDD_IMGROTATE_270 Predefinito: LDD_IMGROTATE_90 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 151 Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 152 ImageSeparate (Immagini: separazione all'interno del documento) Scopo: separa un file immagine multipagina in più file immagine di una sola pagina. Il formato del file di output è TIFF. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc L'input deve essere in un formato immagine. Output Contiene il documento di output generato dall'azione. doc A questa proprietà è possibile accedere solo dopo che è stato chiamato il metodo Go. AllPages Separa tutte le pagine bool nel documento di input. Predefinito: La prima pagina da separare. Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. StartPage int TRUE Predefinito: 0 EndPage L'ultima pagina da separare. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Il valore 0 indica l'ultima pagina. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 153 ImageText (Immagini: testo sovrapposto) Scopo: questa azione sovrappone il testo specificato sulla parte superiore dell'immagine indicata dall'input. Il testo specificato viene aggiunto all'intervallo di pagine specificato del documento di input. L'utente specifica il font, le dimensioni dei caratteri e la direzione del testo. Inoltre, deve indicare la posizione del testo sulla pagina. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc Il documento in cui collocare il testo. Il documento deve essere in formato immagine (quale TIFF, JPEG, BMP). Output Contiene il documento di output generato dall'azione. doc Il documento creato dall'aggiunta del testo. Offset Lo scostamento (espresso in pixel) dal bordo della pagina in cui collocare l'immagine. int Questo valore viene ignorato se la posizione è impostata su Custom. Text Il testo da aggiungere al documento. string Font Il font da utilizzare per il testo. int (costante LDD) Predefinito: 0 Il font deve avere uno dei seguenti valori: • LDD_IMGTEXTFONT_ARIAL (Arial) • LDD_IMGTEXTFONT_COURIER (Courier New) • LDD_IMGTEXTFONT_TIMES (Times New Roman) Predefinito: • LDD_IMGTEXTFONT_ARIAL Size La dimensione int dei caratteri da utilizzare per il testo. Il valore deve essere compreso tra 5 e 20 (incluso). Il valore predefinito è 10. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 154 Nome Descrizione Tipo di dati Ulteriori informazioni Color Il colore da utilizzare per il testo. int (costante LDD) Il colore deve avere uno dei seguenti valori: • • • • LDD_IMGTEXTCOLOR_BLACK LDD_IMGTEXTCOLOR_RED LDD_IMGTEXTCOLOR_GREEN LDD_IMGTEXTCOLOR_BLUE Predefinito: • LDD_IMGTEXTCOLOR_BLACK Bold Underline Italic Orientation Indica se il testo deve essere in grassetto. bool Predefinito: Indica se il testo deve essere sottolineato. bool Indica se il testo deve essere in corsivo. bool Specifica l'orientamento del documento sottoposto a scansione. int (costante LDD) FALSE Predefinito: FALSE Predefinito: FALSE L'orientamento deve avere uno dei seguenti valori: • LDD_ORIENTATION_PORTRAIT • LDD_ORIENTATION_LANDSCAPE Predefinito: • LDD_ORIENTATION_PORTRAIT Direction Specifica la direzione del testo da aggiungere all'immagine. int (costante LDD) La direzione deve avere uno dei seguenti valori: • LDD_IMGTEXTDIR_HORIZONTAL • LDD_IMGTEXTDIR_VERTICAL_DOWN • LDD_IMGTEXTDIR_VERTICAL_UP Predefinito: • LDD_IMGTEXTDIR_HORIZONTAL I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 155 Nome Descrizione Tipo di dati Ulteriori informazioni Position Specifica la posizione nella pagina in cui collocare il testo da aggiungere. int (costante LDD) Questa posizione è relativa all'angolo superiore sinistro della pagina (0). Deve corrispondere a una delle seguenti: • • • • • • • • • • LDD_IMGTEXTPOS_TOPLEFT LDD_IMGTEXTPOS_TOPCENTER LDD_IMGTEXTPOS_TOPRIGHT LDD_IMGTEXTPOS_CENTERLEFT LDD_IMGTEXTPOS_CENTER LDD_IMGTEXTPOS_CENTERIGHT LDD_IMGTEXTPOS_BOTTOMLEFT LDD_IMGTEXTPOS_BOTTOMCENTER LDD_IMGTEXTPOS_BOTTOMRIGHT LDD_IMGTEXTPOS_CUSTOM Predefinito: • LDD_IMGTEXTPOS_TOPLEFT Customleft int Se si desidera personalizzare la posizione, questo valore deve fare riferimento all'angolo superiore sinistro dell'area della pagina in cui aggiungere il testo. Customtop int Se si desidera personalizzare la posizione, questo valore deve fare riferimento all'angolo superiore dell'area della pagina in cui aggiungere il testo. bool Predefinito: Allpages Indica se il testo deve essere aggiunto in tutte le pagine del documento. TRUE Startpage int Il numero della prima pagina in cui aggiungere il testo se AllPages è impostato su FALSE. Endpage int Il numero dell'ultima pagina in cui aggiungere il testo se AllPages è impostato su FALSE. I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 156 Esempi dei valori di direzione e di posizione Posizione: Centro Posizione: In basso_A destra Direzione: Verticale_In basso Posizione: In alto_A sinistra Direzione: Orizzontale Direzione: Verticale_In alto Per un documento sottoposto a scansione in verticale: Posizione: Centro Oggetti azione 157 Posizione: In basso_A destra Direzione: Verticale_In basso Posizione: In alto_A sinistra Direzione: Orizzontale Direzione: Verticale_In alto Per un documento sottoposto a scansione in orizzontale: ImageToHTML (Immagini: conversione in HTML) Scopo: converte le pagine specificate del file immagine in formato HTML. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni input Il documento di origine dell'azione. doc Il documento di input deve essere in formato TIFF, JPEG, PCX, DCX, PNG o BMP. output Il documento in cui viene scritto il risultato dell'azione. doc AllPages Specifica se convertire tutte le pagine nel documento di input. bool La prima pagina da convertire. int StartPage Predefinito: TRUE Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage L'ultima pagina da convertire. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Se AllPages è impostato su FALSE, impostare questo valore su 0 per indicare l'ultima pagina. Predefinito: 0 TextType Il tipo di testo utilizzato nel documento di input. int (costante LDD) Per ulteriori informazioni, vedere Tipi di testo a pagina 161. Valori validi: LDD_TEXTTYPE_NORMAL LDD_TEXTTYPE_TYPEWRITER LDD_TEXTTYPE_MATRIX LDD_TEXTTYPE_OCRA LDD_TEXTTYPE_OCRB LDD_TEXTTYPE_MICR Predefinito: LDD_TEXTTYPE_NORMAL I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 158 Nome Descrizione Tipo di dati Ulteriori informazioni Language La lingua del documento da convertire. int (costante LDD) Valori validi: LDD_LANG_DANISH LDD_LANG_DUTCH LDD_LANG_ENGLISH LDD_LANG_FINNISH LDD_LANG_FRENCH LDD_LANG_GERMAN LDD_LANG_ITALIAN LDD_LANG_NORWEGIAN LDD_LANG_PORTUGUESE LDD_LANG_SPANISH LDD_LANG_SWEDISH Predefinito: LDD_LANG_ENGLISH Format Il tipo di output HTML da generare. int (costante LDD) Valori validi: LDD_HTMLFORMAT_32 - Utilizza lo standard HTML 3.2 e conserva la maggior parte del layout del documento. LDD_HTMLFORMAT_40 - Utilizza lo standard HTML 4.0, compreso lo stile CSS (Cascading Style Sheets) per conservare l'intero layout del documento. Predefinito: LDD_HTMLFORMAT_40 Layout Specifica quali parti int (costante LDD) del layout del documento vengono conservate nell'output. Valori validi: LDD_HTMLLAYOUT_TEXT - Solo i paragrafi vengono mantenuti nel testo riconosciuto utilizzando la tag <p>. LDD_HTMLLAYOUT_PARAGRAPHS I paragrafi e i font del testo riconosciuto vengono memorizzati nel file HTML di output. Viene utilizzata la tag <p>. LDD_HTMLLAYOUT_FULL - Viene mantenuto l'intero layout della pagina di origine utilizzando le tabelle. Predefinito: LDD_HTMLLAYOUT_FULL KeepColor Specifica se vengono mantenuti i colori originali del testo e dello sfondo. bool Predefinito: TRUE I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 159 Nome Descrizione Tipo di dati Ulteriori informazioni KeepPictures Specifica se le immagini vengono salvate con il file HTML. bool Se le immagini vengono scritte, il formato di salvataggio sarà JPEG. In caso contrario, vengono omessi anche i relativi riferimenti nei file HTML. Predefinito: TRUE SeparatePages bool Se il valore di questa proprietà è TRUE e si converte più di una pagina, tra le pagine viene inserita la tag <HR>. Predefinito: TRUE I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 160 Tipi di testo Questa proprietà specifica il tipo di testo che viene riconosciuto. Se nel documento è presente più di un tipo, selezionare quello più frequente o utilizzare l'azione ImageToText. L'azione ImageToText accetta aree e relativi tipi di testo distinti. Nella tabella riportata di seguito vengono descritti i vari tipi di testo supportati. Nome Descrizione LDD_TEXTTYPE_NORMAL Testo tipografico comune generato da stampanti laser o utilizzato in libri e riviste. LDD_TEXTTYPE_TYPEWRITER Testo generato da una macchina da scrivere. LDD_TEXTTYPE_DOTMATRIX Testo generato da una stampante a matrice di punti. LDD_TEXTYPE_OCRA Font a spaziatura fissa concepito per il riconoscimento ottico dei caratteri (ORC, Optical Character Recognition). In genere, viene utilizzato dalle banche e dalle aziende erogatrici di carte di credito. È simile all'esempio riportato di seguito: LDD_TEXTYPE_OCRB Font concepito per il riconoscimento ottico dei caratteri (ORC). È simile all'esempio riportato di seguito: LDD_TEXTTYPE_MICR Questo valore corrisponde a un gruppo particolare di caratteri numerici, stampati con inchiostri magnetici speciali. I caratteri MICR (Magnetic Ink Character Recognition, Riconoscimento di caratteri a inchiostro magnetico) sono molto comuni e si trovano anche sugli assegni. È simile all'esempio riportato di seguito: Oggetti azione 161 ImageToPDF (Immagini: conversione in PDF [con funzione di ricerca]) Scopo: converte le pagine specificate del file immagine nel formato PDF. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni input Il documento di origine dell'azione. doc Il documento di input deve essere in formato TIFF, JPEG, PCX, DCX, PNG o BMP. output Il documento in cui viene scritto il risultato dell'azione. doc AllPages Specifica se convertire tutte le pagine nel documento di input. bool La prima pagina da convertire. int StartPage Predefinito: TRUE Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage L'ultima pagina da convertire. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Se AllPages è impostato su FALSE, impostare questo valore su 0 per indicare l'ultima pagina. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 162 Nome Descrizione Tipo di dati Ulteriori informazioni TextType Il tipo di testo utilizzato nel documento di input. int (costante LDD) Per ulteriori informazioni, vedere Tipi di testo a pagina 166. Valori validi: LDD_TEXTTYPE_NORMAL LDD_TEXTTYPE_TYPEWRITER LDD_TEXTTYPE_MATRIX LDD_TEXTTYPE_OCRA LDD_TEXTTYPE_OCRB LDD_TEXTTYPE_MICR Predefinito: LDD_TEXTTYPE_NORMAL Language La lingua del documento da convertire. int (costante LDD) Valori validi: LDD_LANG_DANISH LDD_LANG_DUTCH LDD_LANG_ENGLISH LDD_LANG_FINNISH LDD_LANG_FRENCH LDD_LANG_GERMAN LDD_LANG_ITALIAN LDD_LANG_NORWEGIAN LDD_LANG_PORTUGUESE LDD_LANG_SPANISH LDD_LANG_SWEDISH Predefinito: LDD_LANG_ENGLISH I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 163 Nome Descrizione Tipo di dati Ulteriori informazioni Format Il tipo di output PDF da generare. int (costante LDD) Valori validi: LDD_PDFFORMAT_TEXTONLY Il testo riconosciuto viene salvato come testo e le immagini come immagini. È possibile che lo stile del documento originale (font, sfondo e layout) non venga completamente mantenuto. LDD_PDFFORMAT_TEXTONIMAGE L'intera immagine viene salvata come un'immagine. Le aree di testo vengono salvate come testo sovrapposto all'immagine. LDD_PDFFORMAT_IMAGEONTEXT L'intera immagine viene salvata come un'immagine. Il testo riconosciuto viene posto sotto all'immagine; viene inoltre mantenuto l'intero layout della pagina e sarà quindi possibile effettuare ricerche di testo completo. Predefinito: LDD_PDFFORMAT_IMAGEONTEXT ReplaceUncertain Specifica se le parole riconosciute verranno sostituite con la relativa immagine. bool Questa proprietà viene utilizzata unicamente se il formato è solo testo o testo su immagine; viene ignorata per il formato immagine su testo. Predefinito: TRUE KeepColor Specifica se vengono mantenuti i colori originali del testo e dello sfondo. bool Questa proprietà viene utilizzata unicamente se il formato è solo testo; in caso contrario, viene ignorata. Predefinito: TRUE PictureResolution PictureQuality int La risoluzione (dpi, dot per inch) con cui le immagini vengono salvate. Predefinito: int La qualità JPEG espressa in percentuale, utilizzata per salvare le immagini. Predefinito: I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 164 72 50 Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 165 Tipi di testo Questa proprietà specifica il tipo di testo che viene riconosciuto. Se nel documento è presente più di un tipo, selezionare quello più frequente o utilizzare l'azione ImageToText. L'azione ImageToText accetta aree e relativi tipi di testo distinti. Nella tabella riportata di seguito vengono descritti i vari tipi di testo supportati. Nome Descrizione LDD_TEXTTYPE_NORMAL Testo tipografico comune generato da stampanti laser o utilizzato in libri e riviste. LDD_TEXTTYPE_TYPEWRITER Testo generato da una macchina da scrivere. LDD_TEXTTYPE_DOTMATRIX Testo generato da una stampante a matrice di punti. LDD_TEXTYPE_OCRA Font a spaziatura fissa concepito per il riconoscimento ottico dei caratteri (ORC, Optical Character Recognition). In genere, viene utilizzato dalle banche e dalle aziende erogatrici di carte di credito. È simile all'esempio riportato di seguito: LDD_TEXTYPE_OCRB Font concepito per il riconoscimento ottico dei caratteri (ORC). È simile all'esempio riportato di seguito: LDD_TEXTTYPE_MICR Questo valore corrisponde a un gruppo particolare di caratteri numerici, stampati con inchiostri magnetici speciali. I caratteri MICR (Magnetic Ink Character Recognition, Riconoscimento di caratteri a inchiostro magnetico) sono molto comuni e si trovano anche sugli assegni. È simile all'esempio riportato di seguito: Oggetti azione 166 ImageToRTF (Immagini: conversione in RTF) Scopo: converte le pagine specificate del file immagine nel formato RTF. In questo modo, il file può essere utilizzato in Microsoft Word o in un altro programma di elaborazione testi che supporti tale formato. Gruppo di installazione: modulo Immagine Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc Il documento di input deve essere in formato TIFF, JPEG, PCX, DCX, PNG o BMP. Output Il documento in cui viene scritto il risultato dell'azione. doc AllPages Specifica se convertire tutte le pagine nel documento di input. bool La prima pagina da convertire. int StartPage Predefinito: TRUE Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage L'ultima pagina da convertire. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Se AllPages è impostato su FALSE, impostare questo valore su 0 per indicare l'ultima pagina. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 167 Nome Descrizione Tipo di dati Ulteriori informazioni TextType Il tipo di testo utilizzato nel documento di input. int (costante LDD) Per ulteriori informazioni, vedere Tipi di testo a pagina 170. Valori validi: LDD_TEXTTYPE_NORMAL LDD_TEXTTYPE_TYPEWRITER LDD_TEXTTYPE_MATRIX LDD_TEXTTYPE_OCRA LDD_TEXTTYPE_OCRB LDD_TEXTTYPE_MICR Predefinito: LDD_TEXTTYPE_NORMAL Language La lingua del documento da convertire. int (costante LDD) Valori validi: LDD_LANG_DANISH LDD_LANG_DUTCH LDD_LANG_ENGLISH LDD_LANG_FINNISH LDD_LANG_FRENCH LDD_LANG_GERMAN LDD_LANG_ITALIAN LDD_LANG_NORWEGIAN LDD_LANG_PORTUGUESE LDD_LANG_SPANISH LDD_LANG_SWEDISH Predefinito: LDD_LANG_ENGLISH I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 168 Nome Descrizione Tipo di dati Ulteriori informazioni PaperSize Le dimensioni della carta da utilizzare per l'output generato. int (costante LDD) Per risultati ottimali, utilizzare un valore il più vicino possibile alle dimensioni della carta del documento di input. Valori validi: LDD_PAPERSIZE_A3 LDD_PAPERSIZE_A4 LDD_PAPERSIZE_A5 LDD_PAPERSIZE_JISB4 LDD_PAPERSIZE_JISB5 LDD_PAPERSIZE_LEGAL LDD_PAPERSIZE_LETTER LDD_PAPERSIZE_11X17 Predefinito: LDD_PAPERSIZE_LETTER KeepColor KeepPictures Specifica se vengono mantenuti i colori originali del testo e dello sfondo. Bool Specifica se le immagini vengono salvate con il file RTF. Bool Predefinito: TRUE Se si sceglie di salvare le immagini, queste vengono memorizzate nel file RTF generato e non in file separati. Predefinito: TRUE I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 169 Tipi di testo Questa proprietà specifica il tipo di testo che viene riconosciuto. Se nel documento è presente più di un tipo, selezionare quello più frequente o utilizzare l'azione ImageToText. L'azione ImageToText accetta aree e relativi tipi di testo distinti. Nella tabella riportata di seguito vengono descritti i vari tipi di testo supportati. Nome Descrizione LDD_TEXTTYPE_NORMAL Testo tipografico comune generato da stampanti laser o utilizzato in libri e riviste. LDD_TEXTTYPE_TYPEWRITER Testo generato da una macchina da scrivere. LDD_TEXTTYPE_DOTMATRIX Testo generato da una stampante a matrice di punti. LDD_TEXTYPE_OCRA Font a spaziatura fissa concepito per il riconoscimento ottico dei caratteri (ORC, Optical Character Recognition). In genere, viene utilizzato dalle banche e dalle aziende erogatrici di carte di credito. È simile all'esempio riportato di seguito: LDD_TEXTYPE_OCRB Font concepito per il riconoscimento ottico dei caratteri (ORC). È simile all'esempio riportato di seguito: LDD_TEXTTYPE_MICR Questo valore corrisponde a un gruppo particolare di caratteri numerici, stampati con inchiostri magnetici speciali. I caratteri MICR (Magnetic Ink Character Recognition, Riconoscimento di caratteri a inchiostro magnetico) sono molto comuni e si trovano anche sugli assegni. È simile all'esempio riportato di seguito: Oggetti azione 170 ImageToText (Immagini: conversione in testo) Scopo: converte le pagine specificate del file immagine nel formato testo. Inoltre, può essere utilizzato per convertire solo le aree esterne all'immagine. Gruppo di installazione: modulo OCR Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni input Il documento di origine dell'azione. doc Il documento di input deve essere in formato TIFF, JPEG, PCX, DCX, PNG o BMP. output Il documento in cui viene scritto il risultato dell'azione. doc Se non si specifica alcuna area, l'intero documento di input verrà convertito in testo e reso disponibile. Se si specifica un'area, questo documento risulterà vuoto. AllPages Specifica se convertire tutte le pagine nel documento di input. bool Predefinito: La prima pagina da convertire. int StartPage TRUE Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage L'ultima pagina da convertire. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Se AllPages è impostato su FALSE, impostare questo valore su 0 per indicare l'ultima pagina. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 171 Nome Descrizione Tipo di dati Ulteriori informazioni TextType Il tipo di testo utilizzato nel documento di input. int (costante LDD) Se non si specifica alcuna area, questa proprietà corrisponde al tipo di testo adottato per l'intero documento. Se si specificano delle aree, questa proprietà corrisponde al tipo di testo predefinito per tutte le aree per cui non è indicato alcun tipo di testo. Per ulteriori informazioni, vedere Tipi di testo a pagina 175. Valori validi: LDD_TEXTTYPE_NORMAL LDD_TEXTTYPE_TYPEWRITER LDD_TEXTTYPE_MATRIX LDD_TEXTTYPE_OCRA LDD_TEXTTYPE_OCRB LDD_TEXTTYPE_MICR Predefinito: LDD_TEXTTYPE_NORMAL Language La lingua del documento da convertire. int (costante LDD) Se non si specifica alcuna area, questa proprietà corrisponde alla lingua dell'intero documento. Se si specificano delle aree, questa proprietà corrisponde alla lingua predefinita di tutte le aree per cui non è specificata alcuna lingua. Valori validi: LDD_LANG_DANISH LDD_LANG_DUTCH LDD_LANG_ENGLISH LDD_LANG_FINNISH LDD_LANG_FRENCH LDD_LANG_GERMAN LDD_LANG_ITALIAN LDD_LANG_NORWEGIAN LDD_LANG_PORTUGUESE LDD_LANG_SPANISH LDD_LANG_SWEDISH Predefinito: LDD_LANG_ENGLISH I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 172 Nome Descrizione Tipo di dati Ulteriori informazioni OneLine Specifica se ciascun paragrafo del testo viene esportato come una sola riga di testo. bool Se il valore è FALSE, le righe di testo del paragrafo vengono mantenute su righe separate. Se il valore è TRUE, ciascun paragrafo viene esportato come una sola riga di testo. Questa proprietà viene ignorata se sono state specificate delle aree. Predefinito: FALSE SeparateParagraphs Specifica se inserire una riga vuota tra i paragrafi. bool Questa proprietà viene ignorata se sono state specificate delle aree. Predefinito: FALSE PageBreaks AppendEOF Specifica se inserire tra le pagine i simboli di interruzione pagina (0x12) qualora il documento di input contenga più pagine. bool Specifica se inserire il simbolo di fine file (EOF, End Of File) alla fine del documento di output. bool Questa proprietà viene ignorata se sono state specificate delle aree. Predefinito: FALSE Questa proprietà viene ignorata se sono state specificate delle aree. Predefinito: FALSE ZoneResults Contiene i risultati delle porzioni di testo suddivise in aree. stringarray Se si specificano delle aree, dopo aver eseguito il metodo Go, il testo di ciascuna area costituisce un elemento della matrice di stringhe (stringarray). Se non si specifica alcuna area, questo valore è vuoto e non dovrebbe essere utilizzato. I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 173 Sintassi Descrizione void AddZone(int left, int top, int right, int bottom [, int lang, int texttype]) Aggiunge un rettangolo specifico (area) da leggere all'esterno del documento di input. Le coordinate dell'area vengono indicate in pixel, considerando che le coordinate dell'angolo superiore sinistro del documento sono (0,0). Se non è stata specificata alcuna lingua o tipo di testo, i valori forniti per queste proprietà dell'azione vengono utilizzati per tutta l'area. I risultati sono disponibili nella proprietà ZoneResults, dopo aver chiamato il metodo Go. Parametri: left - la coordinata x superiore dell'area espressa in pixel. top - la coordinata y superiore dell'area espressa in pixel. right - la coordinata x inferiore dell'area espressa in pixel. bottom - la coordinata y inferiore dell'area espressa in pixel. lang - la lingua dell'area indicata; se specificata, è una costante LDD e deve essere una delle costanti language definite in precedenza. Se non è specificata, viene utilizzato il valore della proprietà language. texttype - il tipo di testo dell'area indicata; se specificato, è una costante LDD e deve essere una delle costanti texttype definite in precedenza. Se non è specificata, viene utilizzato il valore della proprietà texttype. Restituisce: nessuno void ClearZones() Rimuove tutte le aree dal relativo elenco. È possibile chiamare questo metodo per forzare la conversione dell'intera pagina. Parametri: nessuno Restituisce: nessuno Oggetti azione 174 Tipi di testo Questa proprietà specifica il tipo di testo che viene riconosciuto. Se nel documento è presente più di un tipo, selezionare quello più frequente o utilizzare l'azione ImageToText. L'azione ImageToText accetta aree e relativi tipi di testo distinti. Nella tabella riportata di seguito vengono descritti i vari tipi di testo supportati. Nome Descrizione LDD_TEXTTYPE_NORMAL Testo tipografico comune generato da stampanti laser o utilizzato in libri e riviste. LDD_TEXTTYPE_TYPEWRITER Testo generato da una macchina da scrivere. LDD_TEXTTYPE_DOTMATRIX Testo generato da una stampante a matrice di punti. LDD_TEXTYPE_OCRA Font a spaziatura fissa concepito per il riconoscimento ottico dei caratteri (ORC, Optical Character Recognition). In genere, viene utilizzato dalle banche e dalle aziende erogatrici di carte di credito. È simile all'esempio riportato di seguito: LDD_TEXTYPE_OCRB Font concepito per il riconoscimento ottico dei caratteri (ORC). È simile all'esempio riportato di seguito: LDD_TEXTTYPE_MICR Questo valore corrisponde a un gruppo particolare di caratteri numerici, stampati con inchiostri magnetici speciali. I caratteri MICR (Magnetic Ink Character Recognition, Riconoscimento di caratteri a inchiostro magnetico) sono molto comuni e si trovano anche sugli assegni. È simile all'esempio riportato di seguito: Oggetti azione 175 LaunchExe (Avvio di un altro programma) Scopo: avvia un file eseguibile o un programma batch dal servizio Document Server. È possibile utilizzare questa funzione per offrire una funzionalità personalizzata assente nei moduli forniti. Ad esempio, è possibile avviare gli strumenti o i programmi di utilità già esistenti di un'azienda. Il modulo di avvio rispetta le associazioni di file se viene specificato un documento anziché un file eseguibile. Gruppo di installazione: Document Server • • Per avviare un'applicazione diversa da una console Win32, è necessario configurare l'accesso del servizio Document Server con un account utente dotato dei privilegi di rete richiesti. Per avviare un'applicazione che richiede i servizi di rete, è necessario configurare l'accesso del servizio Document Server con un account utente dotato dei privilegi di rete richiesti. Per configurare l'accesso del servizio Document Server come utente (a tal fine, è necessario collegarsi come amministratore): Windows NT: 1 Fare clic su Start (Avvio) Æ Impostazioni Æ Pannello di controllo Æ Servizi. 2 Selezionare il servizio Lexmark Document Server e fare clic su Avvio. 3 Fare clic su Altro account e selezionare il nome dell'utente che ha i diritti di accesso richiesti. Digitare la password utente e confermare. 4 Fare clic su OK. Nota Per consentire al servizio di accedere con le impostazioni specificate dall'utente, è necessario chiudere e riaprire il servizio Document Server o riavviare il computer. Windows 2000/XP: 1 Andare a Start/Avvio Æ Impostazioni Æ Pannello di controllo Æ Strumenti amministrativi Æ Servizi. 2 Fare doppio clic sul servizio Lexmark Document Server. 3 Scegliere la scheda Accesso. 4 Fare clic su Altro account e selezionare il nome dell'utente che ha i diritti di accesso richiesti. Digitare la password utente e confermare. 5 Fare clic su OK. Nota Per consentire al servizio di accedere con le impostazioni specificate dall'utente, è necessario chiudere e riaprire il servizio Document Server o riavviare il computer. – Per visualizzare l'interfaccia utente grafica dell'applicazione che si sta avviando, accedere come sistema Account di sistema locale e selezionare Consenti al servizio di interagire col desktop. Oggetti azione 176 – Non avviare le applicazioni che richiedono immissioni da parte dell'utente. Document Server viene eseguito come un servizio, pertanto non sono disponibili interfacce che richiedano all'utente di fornire dati o eseguire azioni. L'applicazione deve eseguire un'azione e chiudersi senza ulteriori interventi dell'utente. Proprietà Nome Descrizione Tipi di dati Ulteriori informazioni Input Il documento di origine dell'azione. doc Output Contiene il documento di output generato dall'azione. doc A questa proprietà è possibile accedere solo dopo che è stato chiamato il metodo Go. CommandLine La riga di comando contenente l'applicazione da eseguire. Specificare l'applicazione con un percorso completo. string La riga di comando può includere una delle seguenti quattro macro che, durante il runtime, estendono l'esecuzione ai percorsi dei documenti di input e di output. Le proprietà sono le seguenti: %i %I %o %O Per ulteriori informazioni, vedere Macro di input/output a pagina 179. Le macro sono precedute da un unico carattere %. Per specificare un simbolo % letterale, digitare %%. WorkingDirectory La directory contenente l'applicazione da avviare o i file correlati richiesti dall'applicazione. string Per impostazione predefinita, questa proprietà non viene definita e solo le variabili d'ambiente e i percorsi del sistema sono disponibili per l'applicazione. WaitUntilComplete Attende la chiusura dell'applicazione avviata prima di continuare a elaborare il processo in corso. Può risultare utile per le applicazioni a elevato impiego di tempo. bool Se il valore è FALSE, non è possibile rilevare alcun errore dell'applicazione avviata. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 177 Predefinito: TRUE Nome Descrizione Tipi di dati Timeout Limite di tempo espresso in int millisecondi per il completamento dell'applicazione specificata. Ulteriori informazioni Se l'applicazione non viene completata nel tempo specificato, viene riportato un errore. Un valore pari a 0 indica che non è stato specificato alcun timeout. Predefinito: 0 KillOnTimeout Termina l'applicazione se non è stata completata prima della scadenza del Timeout. bool Proprietà utilizzata solo se il valore del parametro Timeout è superiore a 0. Se il valore è FALSE, l'applicazione verrà lasciata in esecuzione dopo la scadenza del timeout, ma l'elaborazione del processo continuerà con lo script successivo. L'interruzione di un'applicazione può provocare l'instabilità del sistema, quindi utilizzarla con cautela, se l'applicazione si avvale di risorse di sistema. Predefinito: FALSE ReturnValue Il codice di ritorno dell'applicazione al suo completamento. int Questa proprietà è disponibile solo se WaitUntilComplete è impostata su TRUE ed è possibile accedervi solo al termine dell'esecuzione del metodo Go. I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Nota Se l'applicazione da avviare ha un percorso o un nome file lungo, la riga di comando deve essere racchiusa tra virgolette. Per utilizzare le virgolette nel parametro CommandLine, è necessario farle precedere dal simbolo ^. Il simbolo indica che si tratta letteralmente di virgolette; diversamente, le virgolette vengono interpretate come parte della riga di comando stessa. Ad esempio: ^"C:\Programmi\Nuovo Software\Applicazione geniale.exe^" Oggetti azione 178 Macro di input/output %i - Avvia l'applicazione specificata per ciascun file del documento di input. In questo modo, è possibile elaborare documenti contenenti più file e avviare più copie dell'applicazione. Ciascuna istanza dell'applicazione utilizza le impostazioni delle proprietà WaitUntilComplete, Timeout e del rilevamento errori. La macro %i estende l'avvio a tutti i nomi file del documento, racchiusi tra virgolette. %I - Avvia l'applicazione specificata una sola volta, inviando tutti i file componenti del documento di input a un'unica riga di comando. I file di documento vengono racchiusi tra virgolette e separati da uno spazio. Ciò risulta utile per le applicazioni MDI e per le applicazioni che devono elaborare l'intero documento come un'unica unità. %o - Può essere utilizzata insieme al flag "%i"; crea un file di output distinto nel documento di output per ciascun utilizzo dell'applicazione di avvio. Ciò risulta utile per elaborazioni in batch del documento, considerato come un gruppo di entità separate. Viene generato un file di output da ciascun file di input. %O - Riutilizza un singolo file di output, indipendentemente dal numero di volte in cui l'applicazione è stata avviata per il documento corrente. Ciò consente di riunire in un unico file l'output di un documento contenente più file. Avvio di comandi DOS o di file batch Per avviare un comando DOS o un file batch con quest'azione, il comando o il file devono essere preceduti da "cmd.exe /c". Ciò consente di avviare una nuova istanza dell'interprete dei comandi che esegue il comando DOS o il file batch. Ad esempio, "cmd.exe /c storeit.bat". Controllo dei valori di ritorno Per verificare il codice di ritorno del programma avviato, la proprietà WaitUntilComplete deve essere impostata su TRUE. Il metodo Go viene completato solo al termine dell'esecuzione del programma. Una volta completato il metodo Go, la proprietà ReturnValue può accedere al valore di ritorno. Se l'applicazione avviata è un file batch, è possibile impostare il parametro ERRORLEVEL per indicare il relativo codice di ritorno. Se il file batch chiama altri programmi, i relativi codici di ritorno non sono disponibili; è disponibile solo il codice di ritorno impostato dal file batch. Per ulteriori informazioni sull'uso di ERRORLEVEL, consultare la documentazione di Windows sui file batch. Per tutti gli altri tipi di applicazioni, in genere, viene impostato un codice di ritorno al completamento. Consultare la documentazione del programma avviato per determinare il tipo di valori di ritorno fornito. Oggetti azione 179 MergeForm (Moduli: unione in PDF) Scopo: unisce i valori del gruppo di dati in un gruppo di moduli e genera un PDF del modulo unito. Prerequisiti: è necessario che il gruppo di moduli sia stato caricato con Document Producer e che il gruppo di dati sia stato formattato correttamente. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input I dati da unire in un gruppo di moduli. dataset Output Contiene il documento di output generato dal documento. doc È possibile accedervi solo dopo che è stato chiamato il metodo Go. Il documento sarà in formato PDF. printoptions Contiene le opzioni di stampa specificate nel gruppo di moduli. printoptions È possibile accedervi solo dopo che è stato chiamato il metodo Go. I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 180 Azioni ODBC Introduzione In generale, le azioni ODBC (Open Database Connection) si svolgono nel modo descritto di seguito: 1 Viene stabilita una connessione al database utilizzando il nome utente/password specificati. 2 Il database viene interrogato per stabilire i tipi e le dimensioni dei dati della colonna specificata. 3 Se è stata specificata la modalità di transazione, viene avviata una nuova transazione. 4 Viene eseguita un'operazione di apertura personalizzata. 5 Viene eseguito il corpo dell'azione specifica (ODBCWrite o ODBCRead), inclusi i valori personalizzati e quelli predefiniti interni. 6 Viene eseguita un'operazione di chiusura personalizzata. 7 Viene chiusa una transazione di apertura. Le azioni sul database sono in grado di leggere i valori di tutti i tipi di dati SQL (Structured Query Language) predefiniti, nonché di scriverli. A seconda del tipo di dati, il driver ODBC viene utilizzato per convertire i dati da un carattere o formato binario nel tipo desiderato. Le conversioni in tipi di dati specifici del database o definiti dall'utente vengono eseguite a condizione che il driver supporti una conversione da dati di tipo carattere oppure che il tipo definito dall'utente si basi su un SQL predefinito con conversione esistente. Al contrario della sintassi SQL specifica del database, la sintassi ODBC standard è supportata. Pertanto, gli script scritti dovrebbero essere indipendenti dal database utilizzato. Potenzialmente, le chiamate personalizzate consentono l'esecuzione di qualsiasi operazione sul database nell'ambito dell'azione. Tuttavia, esse richiedono una notevole padronanza della sintassi SQL e del database. Per ulteriori informazioni sui requisiti e l'installazione del software, il supporto dei documenti all'interno del database e le informazioni relative alle colonne della data e dell'ora, vedere Riferimento ODBC a pagina 240. Oggetti azione 181 ODBCWrite (Database ODBC: scrittura) Scopo: questa azione consente di aggiungere una nuova riga al database e alla tabella specificati. ODBCWrite supporta le colonne di tutti i tipi di dati SQL standard, nonché ulteriori tipi di database specifici e definiti dall'utente, a condizione che il proprio database supporti le funzioni di conversione necessarie. Consente inoltre di incorporare dati di documento nel database, ammesso che il database supporti oggetti binari di grandi dimensioni (BLOB) e l'apposito driver ODBC esponga tale funzionalità. Agli amministratori di database vengono fornite le impostazioni avanzate del modulo, per riconfigurarlo in modo da chiamare le stored procedure personalizzate. Gruppo di installazione: ODBC Uso avanzato Il funzionamento predefinito di ODBCWrite, che prevede l'inserimento di una riga singola in una tabella singola, è adatto solo agli schemi di database più semplici. L'amministratore di database può ovviare a questo limite chiamando le istruzioni SQL personalizzate, come una stored procedure. Ad esempio, una transazione potrebbe creare una tabella di database temporanea chiamando una stored procedure in OpenSQLCall. Il funzionamento predefinito dell'azione potrebbe consistere nello scrivere una riga su questa tabella. CloseSQLCall potrebbe quindi chiamare un'altra stored procedure in grado di migrare le righe della tabella temporanea nel corpo del database e successivamente eliminare la tabella temporanea o, più efficientemente, ripulire tutte le righe per usi futuri. L'uso della modalità di transizione comporta l'esecuzione automatica dell'operazione, consentendo a più utenti dell'azione ODBCWrite di accedere alla tabella temporanea senza entrare in conflitto. La proprietà CustomSQLCall offre la flessibilità più avanzata di questa azione. Se non viene fornita alcuna proprietà CustomSQLCall, l'azione esegue questa istruzione SQL: INSERT INTO {nometabella} ({elenco colonne}) VALUES (?, ?, …..?) dove l'elenco colonne è composto dai nomi delle colonne forniti nelle chiamate AssignValue. Viene utilizzato un "?" come indicatore di parametro per i valori corrispondenti. Il carattere "?" viene associato ai dati sottostanti dall'azione, per garantire la corretta conversione del tipo di dati per ciascun valore e l'efficacia della trasmissione al database. Se si desidera scrivere una proprietà CustomSQLCall personalizzata, verificare di includere esattamente il numero corretto di indicatori di parametro "?", nell'ordine specificato. Inoltre, specificare una tabella contenente le colonne dei tipi di dati corretti, anche se la proprietà CustomSQLCall non opera direttamente su quella tabella. La proprietà CustomSQLCall per ODBCWrite non dovrebbe restituire alcun dato; tuttavia, vengono identificati tutti gli eventuali errori generati dalla chiamata. Per scrivere dati NULL, non specificare il nome di colonna nello script. Le colonne non specificate utilizzeranno i valori predefiniti del database. Oggetti azione 182 Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni DataSource Nome dell'origine dati ODBC a cui connettersi. string Impostare l'origine dati nell'applet Origini dati ODBC del Pannello di controllo. TableName Nome della tabella da utilizzare nell'ambito dell'origine dati. string Questa proprietà è obbligatoria, anche se impostazioni di personalizzazione avanzate utilizzano un'interrogazione o una stored procedure anziché una tabella fisica. La tabella scelta deve includere le colonne corrette con i tipi di dati corretti. Gli utenti di base possono eseguire operazioni sul database inserendo o selezionando le righe nella tabella denominata. Gli utenti avanzati sono in grado di fornire una tabella prototipo priva di dati ma con i nomi delle colonne e i tipi di dati corretti. LogonName Identità utilizzata dal server quando accede al database. string Ulteriore specifica di un accesso di rete obbligatorio. Se non è specificato alcun nome, viene utilizzato il valore predefinito indicato nell'applet Origini dati ODBC. LogonPassword Password per accedere al database. string Se non è specificata alcuna password, viene utilizzato il valore predefinito per l'origine dati indicato nell'applet Origini dati ODBC. ExtraConnectionSettings (Avanzata) Specifica ulteriori impostazioni per configurare l'origine dati ODBC al runtime. string In genere, le impostazioni disponibili vengono elencate nel pannello Avanzate dell'applet Origini dati ODBC. Le impostazioni qui specificate sovrascrivono i valori predefiniti specificati nell'origine dati. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 183 Nome Descrizione Tipo di dati Ulteriori informazioni OpenSQLCall (Avanzata) Specifica una chiamata SQL, quale una stored procedure, che si desidera venga chiamata all'inizio di ogni istanza dell'azione. string Consente di preparare il database a ricevere i dati o a eseguire le operazioni di calcolo. Le stored procedure utilizzate qui in genere non restituiscono dati. (Avanzata) Consente di specificare una chiamata SQL, quale una stored procedure, richiamata al posto di quella predefinita. string CustomSQLCall Per ulteriori dettagli sulle operazioni di personalizzazione avanzate, vedere Uso avanzato a pagina 182. Se non si specifica alcuna chiamata, viene fornita una chiamata predefinita appropriata per ciascuna delle azioni che eseguono una semplice istruzione di lettura (select) o di scrittura (insert). Le azioni di lettura e scrittura hanno requisiti diversi per l'istruzione SQL qui fornita. Per ulteriori dettagli sulle operazioni di personalizzazione avanzate, vedere Uso avanzato a pagina 182. Predefinito: Inserire i record nella tabella specificata. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 184 Nome Descrizione Tipo di dati Ulteriori informazioni CloseSQLCall (Avanzata) Specifica una chiamata SQL, quale una stored procedure, che viene richiamata al termine di ciascuna chiamata di questa azione. string Consente di ripulire il database dopo aver ricevuto i dati, ad esempio la correzione delle tabelle di normalizzazione oppure di eseguire operazioni di calcolo. Le stored procedure utilizzate qui in genere non restituiscono dati. Predefinito: nessuno UseTransactedMode bool Specifica se tutte le chiamate SQL, incluse le chiamate personalizzate, eseguite dall'azione vengono raggruppate in un'unica transazione. Garantisce l'integrità dei dati in caso di errori o qualora più utenti accedano alle voci del database in corso di modifica; tuttavia, la qualità delle prestazioni diminuisce notevolmente. Non impostare questa opzione su true se altri utenti o applicazioni richiedono l'accesso in tempo reale alle tabelle del database in corso di modifica. Eseguire questa operazione se è richiesta l'integrità dei dati e se si prevede che più applicazioni, inclusi processi server diversi, possano richiedere l'accesso agli stessi dati e se il DBMS la supporta. Predefinito: FALSE I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 185 Metodi Metodi Commenti bool Go() Imposta l'azione nell'operazione. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. bool AssignValue(string columnName, int value) AssignValue() associa la colonna di database indicata al valore specificato. Accetta proprietà "valore" di tipo int, real, string, bool o document. La riga non viene realmente inserita nel database finché non viene chiamato il metodo ODBCWrite Go(). Il valore di ritorno indica il corretto o erroneo (true o false) completamento dell'operazione. Il metodo AssignValue() può essere chiamato per tutte le colonne necessarie per una determinata tabella e deve essere chiamato almeno una volta prima di chiamare il metodo Go(). bool AssignValue(string columnName, int value) bool AssignValue(string columnName, int value) bool AssignValue(string columnName, int value) bool AssignValue(string columnName, int value) Note • I nomi di colonne non esistenti vengono ignorati e i messaggi di avvertenza vengono scritti sul file di registro del server. Ciò consente agli script di non dipendere dallo schema del database. • È necessario che venga scritta almeno una colonna in ciascuna nuova riga per evitare che l'azione generi un errore. L'azione applicherà i valori predefiniti presenti nel database a tutte le colonne non specificate. I dati devono rispettare tutti i vincoli e i riferimenti incrociati del database. • Tutte le colonne definite come obbligatorie nello schema di tabelle del database e non fornite dai valori predefiniti o dai trigger del database devono essere specificate dall'azione per evitare che venga generato un errore. • L'azione esegue le opportune conversioni dei tipi di dati di input, in modo da farli corrispondere ai tipi di dati del campo di destinazione. Se non è disponibile alcuna conversione di tipo appropriata, l'azione genera un errore. Se i dati non entrano interamente in un campo, vengono troncati e l'azione scrive un messaggio di avvertimento sul file di registro. Oggetti azione 186 ODBCRead (Database ODBC: lettura) Scopo: questa azione legge una o più righe dal database e dalla tabella specificati utilizzando l'ODBC. Supporta i campi di tutti i tipi di dati SQL standard, nonché ulteriori tipi di origine dati specifici e definiti dall'utente, a condizione che il proprio DBMS supporti le funzioni di conversione necessarie. Può leggere dati di documento incorporati dal database, se il DBMS sottostante supporta oggetti binari di grandi dimensioni (BLOB) e l'apposito driver ODBC espone tale funzionalità. È possibile selezionare le righe dal database utilizzando il supporto completo per le interrogazioni SQL, i criteri di ordinamento e altri criteri di selezione. È possibile leggere determinate colonne dai risultati restituiti. Agli amministratori di database vengono fornite le impostazioni avanzate del modulo, per riconfigurarlo in modo da chiamare le stored procedure personalizzate. Gruppo di installazione: ODBC Uso avanzato Il funzionamento predefinito, che prevede la lettura di risultati da una tabella singola con un'unica interrogazione SQL, dovrebbe essere sufficiente per gli schemi di database semplici. È possibile eseguire interrogazioni avanzate come parte della clausola WHERE, ma i risultati restituiti devono sempre provenire da una tabella singola. L'amministratore di database può ovviare a questo limite chiamando le istruzioni SQL personalizzate, come una stored procedure. Ad esempio, una transazione potrebbe creare una tabella di database temporanea chiamando una stored procedure in OpenSQLCall e inserirvi i risultati provenienti da un'interrogazione SQL complessa o da un join di tabelle. Il funzionamento predefinito dell'azione potrebbe consistere nel leggere le righe di questa tabella. CloseSQLCall potrebbe quindi chiamare un'altra stored procedure in grado di eliminare la tabella temporanea o, più efficientemente, ripulire tutte le righe per usi futuri. L'uso della modalità di transizione comporta l'esecuzione automatica dell'operazione, consentendo a più utenti dell'azione ODBCRead di accedere alla tabella temporanea senza entrare in conflitto. La proprietà CustomSQLCall offre la flessibilità più avanzata di questa azione. Se non viene fornita alcuna proprietà CustomSQLCall, l'azione esegue questa istruzione SQL: SELECT {DISTINCT} {elenco-colonne} FROM {nome-tabella} {WHERE clausola-where} dove l'elenco colonne contiene le colonne nell'ordine specificato dalle proprietà DataColumns e DocumentColumns. DISTINCT è facoltativa; la clausola WHERE è facoltativa ma solitamente fornita. Se si desidera scrivere una proprietà CustomSQLCall personalizzata, verificare che vengano restituiti gruppi di righe contenenti esattamente le colonne specificate, nell'ordine corretto e con i tipi di dati corretti. Inoltre, accertarsi di specificare una tabella contenente le colonne dei tipi di dati corretti, anche se la proprietà CustomSQLCall non opera direttamente su quella tabella. La proprietà CustomSQLCall di ODBCRead restituisce i gruppi di righe nello stesso modo dell'istruzione SELECT di SQL. Vengono identificati gli eventuali errori generati dalla chiamata. Oggetti azione 187 Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni DataSource Nome dell'origine dati ODBC a cui connettersi. string Impostare l'origine dati nell'applet Origini dati ODBC del Pannello di controllo. TableName Nome della tabella da utilizzare nell'ambito dell'origine dati. string Questa proprietà è obbligatoria, anche se impostazioni di personalizzazione avanzate utilizzano un'interrogazione o una stored procedure anziché una tabella fisica. La tabella scelta deve includere le colonne corrette con i tipi di dati corretti. Gli utenti di base possono eseguire operazioni sul database selezionando le righe nella tabella denominata. Per gli utenti avanzati, l'operazione sul database fornisce una tabella prototipo priva di dati, ma con i nomi delle colonne e i tipi di dati corretti. LogonName Identità utilizzata dal server quando accede al database. string Ulteriore specifica di un accesso di rete obbligatorio. Se non è specificato alcun nome, viene utilizzato il valore predefinito indicato nell'applet Origini dati ODBC. LogonPassword Password per l'accesso al database. string Se non è specificata alcuna password, viene utilizzato il valore predefinito per l'origine dati indicato nell'applet Origini dati ODBC. ExtraConnectionSettings string (Avanzata) Specifica ulteriori impostazioni per configurare l'origine dati ODBC al runtime. In genere, le impostazioni disponibili vengono elencate nel pannello Avanzate dell'applet Origini dati ODBC. Le impostazioni qui specificate sovrascrivono i valori predefiniti specificati nell'origine dati. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 188 Nome Descrizione Tipo di dati Ulteriori informazioni OpenSQLCall (Avanzata) Specifica una chiamata SQL, quale una stored procedure, che si desidera venga chiamata all'inizio di ogni istanza dell'azione. string Consente di preparare il database a ricevere i dati o a eseguire le operazioni di calcolo. Le stored procedure utilizzate qui in genere non restituiscono dati. (Avanzata) Consente di specificare una chiamata SQL, quale una stored procedure, che verrà richiamata al posto di quella predefinita. string CustomSQLCall Per ulteriori dettagli sulle operazioni di personalizzazione avanzate, vedere Uso avanzato a pagina 187. Se non si specifica alcuna chiamata, viene fornita una chiamata predefinita appropriata per ciascuna delle azioni che eseguono una semplice istruzione di lettura (select) o di scrittura (insert). Le azioni di lettura e scrittura hanno requisiti diversi per l'istruzione SQL qui fornita. Per ulteriori dettagli sulle operazioni di personalizzazione avanzate, vedere Uso avanzato a pagina 187. CloseSQLCall (Avanzata) Specifica una chiamata SQL, quale una stored procedure, che verrà richiamata al termine di ciascuna chiamata di questa azione. string Ciò consente di ripulire il database dopo aver ricevuto i dati, ad esempio per correggere le tabelle di normalizzazione, oppure di eseguire operazioni di calcolo. Le stored procedure utilizzate qui in genere non restituiscono dati. Per ulteriori dettagli sulle operazioni di personalizzazione avanzate, vedere Uso avanzato a pagina 187. Predefinito: nessuno I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 189 Nome Descrizione Tipo di dati UseTransactedMode (Avanzata) Specifica se bool tutte le chiamate SQL, incluse le chiamate personalizzate, eseguite dall'azione vengono raggruppate in un'unica transazione. Ulteriori informazioni Garantisce l'integrità dei dati in caso di errori o qualora più utenti accedano alle voci del database in corso di modifica; tuttavia, la qualità delle prestazioni diminuisce notevolmente. Non impostare questa opzione su true se altri utenti o applicazioni richiedono l'accesso in tempo reale alle tabelle del database in corso di modifica. Eseguire questa operazione se è richiesta l'integrità dei dati e se si prevede che più applicazioni, inclusi processi server diversi, possano richiedere l'accesso agli stessi dati e se il DBMS la supporta. Predefinito: FALSE DataColumns Elenco dei nomi, separati da virgole, delle colonne contenenti i dati da restituire come stringa. string Ciascuna colonna specificata deve essere presente nella tabella indicata e deve essere espressa in un formato dati che supporti la conversione in stringa. Viene impostata una variabile sul valore di ciascuna colonna. Il nome della variabile coinciderà con il nome della colonna. Per impostazione predefinita non vengono selezionate colonne di dati; tuttavia, almeno una colonna deve essere specificata nelle impostazioni di DataColumns o DocumentColumns. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 190 Nome Descrizione Tipo di dati Ulteriori informazioni DocumentColumns Elenco dei nomi, separati da virgole, delle colonne contenenti i dati da scrivere sui file. string Ciascuna colonna specificata deve essere presente nella tabella indicata e deve essere espressa in un formato dati che richiede il recupero dei file, ad esempio oggetti binari o testo di lunghezza arbitraria. A ciascuna colonna può essere attribuita un'estensione facoltativa, che specifichi l'estensione da assegnare ai nuovi file creati. Viene impostata una variabile per puntare a un documento contenente i dati della colonna. Il nome della variabile coinciderà con il nome della colonna. Per impostazione predefinita non vengono selezionate colonne del documento; tuttavia, almeno una colonna deve essere specificata nelle impostazioni di DataColumns o DocumentColumns. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 191 Nome Descrizione Tipo di dati Ulteriori informazioni WhereClause Una condizione SQL, adatta per essere inclusa nella clausola WHERE di un'istruzione SELECT, che specifica le righe del database da restituire. string La clausola WHERE iniziale non è inclusa nella stringa. In genere, una clausola WHERE è un'istruzione condizionale SQL semplice, del tipo "cognome = ‘Verdi'". L'istruzione condizionale può includere qualsiasi operatore di confronto SQL valido, come operatori aritmetici e di corrispondenza. Il valore predefinito è una clausola WHERE vuota, che consente di selezionare tutte le righe. (Avanzata) La stringa può contenere qualsiasi elemento valido dopo la parola WHERE in un'istruzione SELECT di SQL. In particolare, possono essere incluse le parole chiave SQL, quali GROUP BY, HAVING, ORDER BY o COMPUTE. La clausola può anche contenere interrogazioni secondarie complesse. Distinct Specifica se restituire solo righe distinte in un gruppo di righe restituite. bool I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 192 Il valore predefinito è FALSE, quindi verrà restituita ciascuna riga che soddisfi la clausola WHERE, anche se più righe sono identiche. Metodi Metodo Commenti bool Go() L'azione esegue l'interrogazione; tuttavia, nessuna riga è stata recuperata dopo l'esecuzione del metodo Go(). Per recuperare i valori, è necessario chiamare GetNextRow in modo da recuperare una riga seguita da GetInt, GetReal ecc. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. bool GetNextRow() Questo metodo cerca di recuperare la riga successiva dal gruppo di risultati dell'interrogazione. Se viene recuperata una riga, il metodo restituisce il valore true. Quando non sono disponibili altre righe dal gruppo di risultati, il metodo restituisce false. int GetInt(string columnName) I metodi Getxxx() tentano di ottenere il valore della colonna specificata dalle righe recuperate più di recente e lo restituiscono allo script come tipo di dati richiesto. Il valore della colonna deve poter essere convertito nel tipo specificato, altrimenti viene generato un errore. Le colonne della data e dell'ora possono essere recuperate con il metodo GetString() e vengono restituite nel formato ODBC standard YYYY-MM-DD HH:MM:SS[.FFFFFF]. real GetReal(string columnName) string GetString(string columnName) doc GetDoc(string columnName) bool Finished() Chiude il gruppo di risultati dell'interrogazione e altre risorse utilizzate dall'azione. Note • I dati dei campi (nomi di colonne) non esistenti vengono ignorati e i messaggi di avvertenza vengono scritti sul file di registro del server. Ciò consente agli script di non dipendere dallo schema del database. • Le interrogazioni devono poter accedere in lettura ad almeno una colonna, pertanto almeno una delle proprietà DataColumns o DocumentColumns deve specificare una colonna valida della tabella. • Per utilizzare successivamente i dati di documento in uno script, è necessario conoscerne il tipo. I dati di documento vengono solitamente memorizzati come comuni dati binari nel database, senza alcuna informazione di controllo relativa al tipo. Ad esempio, se il database contiene una colonna denominata 'riprendere' ed è noto che nella colonna sono contenute immagini TIFF, è necessario specificare "riprendere.tif" come nome di colonna nella variabile DocumentColumns. • Se il server dovesse arrestarsi in modo anomalo prima del recupero di tutte le righe dei risultati, il gruppo di risultati dell'interrogazione conterrà TUTTE le righe che soddisfano i criteri dell'interrogazione alla successiva esecuzione del processo. Infatti, il server non "ricorda" le righe elaborate prima dell'errore e le ripete dopo essere stato riavviato. Oggetti azione 193 PrintByDriver (Stampa) Scopo: stampa una o più immagini utilizzando il driver di Windows specificato. Gruppo di installazione: modulo Immagine Prerequisiti: un oggetto per la stampante nella cartella Stampanti di Document Server. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input I dati di origine dell'azione. doc PrinterName Specifica il nome della stampante Windows da utilizzare. string Questo nome deve coincidere con quello di un oggetto stampante della cartella Stampanti. Copies Il numero di copie da stampare. int Valori validi: 1-999 Predefinito: 1 Collate ColorModel Se si specifica la stampa di più copie, indica se le copie vengono fascicolate. bool Sulle stampanti a colori, questa proprietà indica se è necessario utilizzare solo la cartuccia nera in modo che l'output risulti in nero/scala di grigi anziché a colori. int (costante LDD) Predefinito: FALSE Questa proprietà è ignorata dalle stampanti monocromatiche. Valori validi: LDD_PRINTER_DEFAULT LDD_COLORMODEL_CMYK LDD_COLORMODEL_BLACK Predefinito: LDD_PRINTER_DEFAULT Duplex int (costante LDD) Indica il tipo di stampa in fronte/retro da utilizzare per questo processo di stampa. Se la stampante non supporta la stampa fronte/retro, questa impostazione viene ignorata. Valori validi: LDD_PRINTER_DEFAULT LDD_DUPLEX_OFF LDD_DUPLEX_LONGEDGE LDD_DUPLEX_SHORTEDGE Predefinito: LDD_PRINTER_DEFAULT I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 194 Nome Descrizione Tipo di dati Ulteriori informazioni Orientation L'orientamento desiderato per l'intero processo. int (costante LDD) Valori validi: LDD_PRINTER_DEFAULT LDD_ORIENTATION_PORTRAIT LDD_ORIENTATION_LANDSCAPE Predefinito: LDD_PRINTER_DEFAULT PaperSize Le dimensioni della carta da utilizzare per l'intero processo. int (costante LDD) Se le dimensioni della carta specificate non esistono, è possibile che la stampante le richieda o ne selezioni altre. Valori validi: LDD_PRINTER_DEFAULT LDD_PAPERSIZE_11X17 LDD_PAPERSIZE_A3 LDD_PAPERSIZE_A4 LDD_PAPERSIZE_A5 LDD_PAPERSIZE_EXECUTIVE LDD_PAPERSIZE_FOLIO LDD_PAPERSIZE_JISB4 LDD_PAPERSIZE_JISB5 LDD_PAPERSIZE_LEGAL LDD_PAPERSIZE_LETTER LDD_PAPERSIZE_STATEMENT Predefinito: LDD_PRINTER_DEFAULT Resolution La risoluzione int (costante LDD) dell'immagine generata. Valori validi: LDD_PRINTER_DEFAULT LDD_RESOLUTION_150 LDD_RESOLUTION_300 LDD_RESOLUTION_600 LDD_RESOLUTION_1200 Predefinito: LDD_PRINTER_DEFAULT AllPages Stampa tutte le pagine del documento di input. bool I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 195 Predefinito: TRUE Nome Descrizione Tipo di dati Ulteriori informazioni StartPage La prima pagina da stampare. int Per mantenere la compatibilità con gli script precedenti, questo valore verrà utilizzato se diverso da zero, anche quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 EndPage L'ultima pagina da stampare. int Per mantenere la compatibilità con gli script precedenti, questo valore verrà utilizzato se diverso da zero, anche quando la proprietà AllPages è impostata su FALSE. Predefinito: 0 I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 196 PrintForm (Stampa) Scopo: stampa un modulo unito in formato PDF generato dall'azione MergeForm. Gruppo di installazione: modulo Stampa Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento da stampare. doc Deve essere in formato PDF. IPAddress L'indirizzo IP o il nome host DNS della stampante o il nome della coda di stampa Windows. string Per specificare la coda di stampa di Windows, inserire: "Q:" seguito dal nome della coda. In caso contrario, inserire l'indirizzo IP o il nome host DNS. Per ulteriori informazioni, vedere Uso di una coda di stampa Windows a pagina 199. PrinterType Specifica il tipo di stampante utilizzato. int (costante LDD) Valori validi: LDD_PRINTERTYPE_LEXPS Stampante Lexmark PostScript LDD_PRINTERTYPE_LEXIQPLUS Stampante Lexmark con supporto di formattazione delle pagine e PDF LDD_PRINTERTYPE_LEXIQ Stampante Lexmark con supporto PDF Predefinito: LDD_PRINTERTYPE_LEXPS PrintOptions Le opzioni da utilizzare per la stampa del modulo. printoptions I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 197 Possono essere le opzioni di stampa generate dall'azione MergeForm o quelle impostate manualmente. Nome Descrizione Tipo di dati Ulteriori informazioni WaitForCompletion Attende il completamento del processo prima di continuare. bool Questa opzione è supportata solo dalle stampanti Lexmark e dovrebbe essere impostata su FALSE per tutte le altre stampanti. Se impostata su TRUE, il metodo Go verrà completato solo al termine della stampa o alla scadenza del timeout specificato dalla proprietà WaitTimeout. Se impostata su FALSE, il metodo Go verrà completato immediatamente dopo aver inviato la richiesta di stampa. Predefinito: FALSE WaitTimeout Il numero massimo di minuti da attendere per il completamento del processo. int Questa impostazione viene ignorata se WaitForCompletion è impostato su FALSE. Questo valore imposta il tempo necessario per stampare l'intero processo ed eventuali tempi di riscaldamento richiesti dalla stampante. Valori validi: 1-60 Predefinito: 5 I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 198 Tipo di stampante Una stampante LEXIQ è una stampante Lexmark dotata di opzione ImageQuick™. Se sono state specificate solo opzioni di stampa per processo, questa è la maniera più rapida per stampare il modulo unito. Il PDF può essere inviato direttamente alla stampante senza eseguire la conversione in PostScript™. Se sono state specificate le opzioni di stampa per pagina, il PDF verrà convertito in PostScript e quindi inviato alla stampante. Una stampante LEXPS è una stampante PostScript Lexmark. Il PDF verrà sempre convertito in PostScript per questo tipo di stampante. Uso di una coda di stampa Windows Quando si stampano numerosi processi sulla stessa stampante, è consigliabile stampare tramite una coda di stampa Windows anziché direttamente sulla stampante. In questo modo, è possibile gestire i processi di stampa, interrompere la coda, stabilire l'ora in cui iniziare i processi di stampa e così via. Per creare una coda di stampa da utilizzare con LDD, andare alla cartella Stampanti sul computer host di Document Server. Creare una porta TCP/IP standard o una porta di rete Lexmark usando l'indirizzo IP della stampante alla quale vengono inviati i processi. Aggiungere quindi un nuovo oggetto stampante che corrisponda alla stampante a cui fa riferimento la porta TCP/IP. Il nome assegnato all'oggetto stampante corrisponde a quello utilizzato per la coda. La coda è ora pronta per essere utilizzata in uno script LDD. Per una dimostrazione sull'uso di una coda, vedere Esempio 2 a pagina 200. Esempio 1 In questo esempio, un modulo verrà unito con i dati provenienti da un flusso di stampa e le opzioni di stampa generate dall'azione MergeForm verranno utilizzate dall'azione PrintForm. with MergeForm .input = original.dataset .Go() endwith with PrintForm .input = MergeForm.output .PrinterType = LDD_PRINTERTYPE_LEXPS .PrintOptions = MergeForm.printoptions .IPAddress = "myprinter.mycompany.com" .WaitForCompletion = FALSE .Go() endwith Oggetti azione 199 Esempio 2 Nel primo esempio, il modulo unito è stato inviato direttamente alla stampante. Nell'esempio riportato di seguito, il modulo unito viene inviato alla coda di stampa di Windows chiamata LDD1. with MergeForm .input=original.dataset .Go() endwith with PrintForm .input=MergeForm.output .IPAddress="Q:LDD1" .PrinterType=LDD_PRINTERTYPE_LEXPS .PrintOptions=MergeForm.printoptions .WaitForCompletion=FALSE .Go() endwith Esempio 3 In questo esempio, un modulo verrà unito con i dati provenienti da un client di Document Portal per stampare un modulo vuoto. Le opzioni di stampa inviate da Document Portal verranno utilizzate dall'azione PrintForm. dataset ds ds.SetFormsetName("myform") with MergeForm .input = ds .Go() endwith with PrintForm .input = MergeForm.output .PrinterType = LDD_PRINTERTYPE_LEXIQ .PrintOptions = original.printoptions .IPAddress = original.printerip .WaitForCompletion = FALSE .Go() endwith Oggetti azione 200 Esempio 4 In questo esempio, un modulo verrà unito con i dati provenienti da un flusso di stampa. In questo caso, le opzioni di stampa utilizzate da PrintForm verranno impostate manualmente. Si tratta di un modulo composto da più parti, quindi, la pagina 1 verrà stampata dal vassoio 1 e la pagina 2 dal vassoio 2; al termine, le pagine verranno spillate con graffette. Poiché si utilizzano le opzioni per pagina, il tipo di stampante verrà impostato su PostScript. with MergeForm .input = original.dataset .Go() endwith printoptions po po.SetJobOption(LDD_PRINTOPTION_STAPLE, LDD_STAPLE_ON) po.SetPageOption(LDD_PRINTOPTION_PAPERSOURCE, LDD_PAPERSOURCE_TRAY1, 1, 1) po.SetPageOption(LDD_PRINTOPTION_PAPERSOURCE, LDD_PAPERSOURCE_TRAY2, 2, 2) with PrintForm .input = MergeForm.output .PrinterType = LDD_PRINTERTYPE_LEXPS .PrintOptions = po .IPAddress = "myprinter.mycompany.com" .WaitForCompletion = FALSE .Go() endwith Oggetti azione 201 PrintJob (Stampa) Scopo: questa azione ignora il sottosistema di Windows e stampa un file PostScript direttamente su una stampante di rete. Gruppo di installazione: modulo Stampa Prerequisiti: nessuno Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Il documento da stampare. doc Deve essere in formato PostScript. IPAddress L'indirizzo IP o il nome dell'host DNS della stampante. string Copies Il numero di copie da stampare. Int Valori validi: 1-999 Predefinito: 1 PaperSource L'origine carta utilizzata per stampare l'intero processo. int (costante LDD) Se l'origine carta specificata non è disponibile, la stampante sceglierà l'origine carta da utilizzare. Valori validi: LDD_PRINTER_DEFAULT LDD_PAPERSOURCE_TRAY1 LDD_PAPERSOURCE_TRAY2 LDD_PAPERSOURCE_TRAY3 LDD_PAPERSOURCE_TRAY4 LDD_PAPERSOURCE_TRAY5 LDD_PAPERSOURCE_ENV_FEEDER LDD_PAPERSOURCE_MP_FEEDER LDD_PAPERSOURCE_MANUAL_ENV LDD_PAPERSOURCE_MANUAL_PAPER Predefinito: LDD_PRINTER_DEFAULT I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 202 Nome Descrizione Tipo di dati Ulteriori informazioni PaperType Il tipo di carta da utilizzare per l'intero processo. int (costante LDD) Se il tipo di carta specificato non esiste, è possibile che la stampante lo richieda o ne selezioni un altro. Valori validi: LDD_PAPERTYPE_PLAIN LDD_PAPERTYPE_COLOR LDD_PAPERTYPE_TRANSPARENCY LDD_PAPERTYPE_CARDSTOCK LDD_PAPERTYPE_LABELS LDD_PAPERTYPE_LETTERHEAD LDD_PAPERTYPE_PREPRINTED LDD_PAPERTYPE_BOND LDD_PAPERTYPE_ENVELOPE LDD_PAPERTYPE_CUSTOM1 LDD_PAPERTYPE_CUSTOM2 LDD_PAPERTYPE_CUSTOM3 LDD_PAPERTYPE_CUSTOM4 LDD_PAPERTYPE_CUSTOM5 LDD_PAPERTYPE_CUSTOM6 Predefinito: LDD_PRINTER_DEFAULT I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 203 Nome Descrizione Tipo di dati Ulteriori informazioni PaperSize Le dimensioni della carta da utilizzare per l'intero processo. int (costante LDD) Se le dimensioni della carta specificate non esistono, è possibile che la stampante le richieda o ne selezioni altre. Valori validi: LDD_PRINTER_DEFAULT LDD_PAPERSIZE_11X17 LDD_PAPERSIZE_A3 LDD_PAPERSIZE_A4 LDD_PAPERSIZE_A5 LDD_PAPERSIZE_ENV_10 LDD_PAPERSIZE_ENV_9 LDD_PAPERSIZE_ENV_734 LDD_PAPERSIZE_ENV_B5 LDD_PAPERSIZE_ENV_C5 LDD_PAPERSIZE_ENV_DL LDD_PAPERSIZE_ENV_OTHER LDD_PAPERSIZE_EXECUTIVE LDD_PAPERSIZE_FOLIO LDD_PAPERSIZE_JISB4 LDD_PAPERSIZE_JISB5 LDD_PAPERSIZE_LEGAL LDD_PAPERSIZE_LETTER LDD_PAPERSIZE_STATEMENT LDD_PAPERSIZE_UNIVERSAL Predefinito: LDD_PRINTER_DEFAULT Orientation L'orientamento desiderato per l'intero processo. int (costante LDD) Valori validi: LDD_PRINTER_DEFAULT LDD_ORIENTATION_PORTRAIT LDD_ORIENTATION_LANDSCAPE Predefinito: LDD_PRINTER_DEFAULT I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 204 Nome Descrizione Tipo di dati Ulteriori informazioni Nup Specifica di stampare più pagine in un'unica pagina. int (costante LDD) Valori validi: LDD_NUP_OFF LDD_NUP_2UP LDD_NUP_3UP LDD_NUP_4UP LDD_NUP_6UP LDD_NUP_9UP LDD_NUP_12UP LDD_NUP_16UP Predefinito: LDD_NUP_OFF NupBorder Specifica se applicare un bordo a ciascuna pagina. bool Questa impostazione viene ignorata se il valore di Nup è off. Predefinito: TRUE NupOrder int (costante LDD) Questa impostazione viene ignorata se il valore di Nup è off. Valori validi: LDD_NUP_ORDER_HORIZONTAL LDD_NUP_ORDER_VERTICAL LDD_NUP_ORDER_REV_HORIZONTAL LDD_NUP_ORDER_REV_VERTICAL Predefinito: LDD_NUP_ORDER_HORIZONTAL NupOrientation int (costante LDD) Questa impostazione viene ignorata se il valore di Nup è off. Valori validi: LDD_NUP_ORIENTATION_AUTO LDD_NUP_ORIENTATION_PORTRAIT LDD_NUP_ORIENTATION_LANDSCAPE Predefinito: LDD_NUP_ORIENTATION_PORTRAIT I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 205 Nome Descrizione Tipo di dati Ulteriori informazioni Duplex Indica il tipo di stampa in fronte/retro da utilizzare per questo processo di stampa. int (costante LDD) Se la stampante non supporta la stampa fronte/retro, questa impostazione viene ignorata. Valori validi: LDD_DUPLEX_OFF LDD_DUPLEX_LONGEDGE LDD_DUPLEX_SHORTEDGE Predefinito: LDD_DUPLEX_OFF Collate Staple HolePunch Se si specifica la stampa di più copie, indica se le copie vengono fascicolate. bool Predefinito: FALSE bool Indica se questo processo di stampa deve essere spillato con graffette. Predefinito: Indica se questo bool processo di stampa deve essere perforato. Predefinito: I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 206 FALSE FALSE Nome Descrizione Tipo di dati Ulteriori informazioni OutputBin Indica il raccoglitore di uscita da utilizzare per questo processo di stampa. int (costante LDD) Questa opzione è supportata solo dalle stampanti Lexmark. Se è selezionato il valore predefinito, verrà utilizzato il raccoglitore di uscita predefinito correntemente selezionato. Il raccoglitore di uscita standard fa riferimento al raccoglitore principale della stampante; i raccoglitori di uscita numerati si riferiscono a quelli disponibili se alla stampante sono collegati espansioni di uscita o un fascicolatore. Se si seleziona un raccoglitore di uscita non valido, verrà utilizzato quello predefinito. Valori validi: LDD_OUTPUTBIN_DEFAULT LDD_OUTPUTBIN_STANDARD LDD_OUTPUTBIN_1 LDD_OUTPUTBIN_2 LDD_OUTPUTBIN_3 LDD_OUTPUTBIN_4 LDD_OUTPUTBIN_5 LDD_OUTPUTBIN_6 LDD_OUTPUTBIN_7 LDD_OUTPUTBIN_8 LDD_OUTPUTBIN_9 LDD_OUTPUTBIN_10 Predefinito: LDD_OUTPUTBIN_DEFAULT TonerSaver bool Indica se attivare il risparmio toner per questo processo di stampa. Predefinito: FALSE I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 207 Sintassi Descrizione bool SetWaitTimeout(bool wait [, int minutes]) Attiva o disattiva la conferma di stampa per questo processo. Se la conferma di stampa è attivata, il metodo Go verrà completato solo al termine del processo di stampa o alla scadenza del timeout specificato. Se disattivata, il metodo Go viene completato immediatamente dopo l'invio della richiesta del processo di stampa. Non utilizzare questo metodo se la stampa è riservata. Parametri: wait - impostare su TRUE per attivare la conferma o su FALSE per disattivarla. timeout - se attivato, specifica il numero massimo di minuti di attesa, compreso nell'intervallo tra 1 e 60. Restituisce: Un valore booleano per indicare se sono stati forniti i valori validi. void SetConfidentialPrint(bool enable [, string username, string jobname, string pin] ) Attiva o disattiva la stampa riservata per questo processo. Se il metodo è attivato, il processo di stampa verrà inviato alla stampante, ma non verrà stampato finché non si immette un PIN. Non utilizzare questo metodo se la conferma di stampa è attivata. Parametri: enable - impostare su TRUE per attivare la stampa riservata o su FALSE per disattivarla. username - il nome utente da visualizzare sul pannello operatore della stampante dopo l'immissione del PIN. jobname - il nome processo da visualizzare sul pannello operatore della stampante dopo l'immissione del PIN. pin - numero a quattro cifre da immettere sul pannello operatore della stampante per avviare la stampa. Restituisce: Un valore booleano per indicare se i valori sono stati forniti. Note • L'impostazione dell'origine carta sovrascrive le impostazioni del tipo e delle dimensioni della carta. Si consiglia di impostare l'origine carta o le dimensioni e/o il tipo di carta. È possibile impostare contemporaneamente le dimensioni e il tipo di carta. • Non utilizzare insieme le opzioni di stampa riservata e conferma di stampa. • La conferma di stampa è supportata solo dalle stampanti Lexmark. L'attivazione di tale opzione per altre stampanti provoca sempre la generazione di un timeout. • Mentre questa azione può essere utilizzata con una qualsiasi stampante collegata in rete, alcune opzioni funzionano correttamente solo con le stampanti Lexmark. Oggetti azione 208 Conferma di stampa È possibile utilizzare le impostazioni WaitForCompletion e WaitTimeout per confermare che un processo è stato stampato correttamente. Se un processo scade, qualsiasi testo presente sul pannello operatore della stampante, ad esempio un messaggio che indica il caricamento della carta dal vassoio 1, verrà aggiunto come messaggio di errore alla pagina di conferma. Dopo aver corretto la condizione di errore della stampante, è possibile che il processo venga stampato, anche se il timeout è scaduto. Il timeout indica semplicemente l'interruzione dello stato di attesa ma non cancella alcun processo inviato alla stampante. È raro che un processo stampato correttamente non invii un avviso di completamento provocando la scadenza del timeout. Oggetti azione 209 PrintURL (Stampa) Scopo: questa azione invia l'URL specificato (non l'immagine) direttamente alla stampante laser Lexmark. La stampante si collega al server Web dove risiede l'URL e stampa la pagina in modalità pull. Gruppo di installazione: modulo Stampa Prerequisiti: un'opzione ImageQuick installata su almeno una stampante e configurata correttamente per stampare dal Web in modalità pull. Può essere necessario ottenere le impostazioni proxy e DNS per stabilire una comunicazione tra la stampante e Internet. Le versioni dell'opzione ImageQuick devono essere quelle indicate di seguito o più avanti in questa sezione. Famiglia di stampanti Versione dell'opzione ImageQuick Optra™ T 549 Optra W810 649 Optra C710 849 Nota Qualsiasi versione firmware è supportata per le stampanti Lexmark C750, C910, T52x, T62x, W820 e C720. Proprietà Nome Descrizione Tipo di dati IPAddress L'indirizzo IP o il nome dell'host DNS della stampante. string URL L'URL da stampare. string Ulteriori informazioni I nomi in grassetto sono proprietà obbligatorie. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 210 SaveToFile (Salva su file) Scopo: salva i file su un file system locale o di rete. Gruppo di installazione: Document Server Prerequisiti: per salvare un file su un file system locale, ad esempio un'unità del computer di Document Server, non è necessario eseguire altre operazioni. Per salvare un file su un file system di rete, è necessario configurare l'accesso del servizio Document Server con un account utente. L'account utente deve disporre delle autorizzazioni necessarie per poter scrivere dati sul file system di rete. Per configurare l'accesso del servizio Document Server come utente (a tal fine, è necessario collegarsi come amministratore): Windows NT: 1 Fare clic su Start/Avvio Æ Impostazioni Æ Pannello di controllo Æ Servizi. 2 Selezionare il servizio Lexmark Document Server e fare clic su Avvio. 3 Fare clic su Altro account e selezionare il nome dell'utente che ha i diritti di accesso richiesti. Digitare la password utente e confermare. 4 Fare clic su OK. Nota Per consentire al servizio di accedere con le impostazioni specificate dall'utente, è necessario chiudere e riaprire il servizio Document Server o riavviare il computer. Windows 2000/XP: 1 Fare clic su Start/Avvio Æ Impostazioni Æ Pannello di controllo Æ Strumenti amministrativi Æ Servizi. 2 Fare doppio clic sul servizio Lexmark Document Server. 3 Scegliere la scheda Accesso. 4 Fare clic su Altro account e selezionare il nome dell'utente che ha i diritti di accesso richiesti. Digitare la password utente e confermare. 5 Fare clic su OK. Nota Per consentire al servizio di accedere con le impostazioni specificate dall'utente, è necessario chiudere e riaprire il servizio Document Server o riavviare il computer. Oggetti azione 211 Proprietà Nome Descrizione Tipo di dati Input I dati di origine dell'azione. doc Path Il percorso completo e il nome del file da salvare. string Ulteriori informazioni Per un file del file system locale, il percorso sarà del tipo: unità:\percorso\nomefile.est Per un file del file system di rete, il percorso sarà del tipo: \\Computer\NomeCondivisione\Percorso\ nomefile.est Non è possibile utilizzare le unità mappate in rete. Se si esegue il salvataggio su un file system di rete, riesaminare i prerequisiti. AppendTimeStamp Aggiunge al nome del file un indicatore di data e ora con l'indicazione di anno, mese, giorno e ora. bool È possibile utilizzare questa proprietà per garantire che il file in corso di scrittura abbia un nome univoco. Se la proprietà è impostata su TRUE, il nuovo nome del file sarà del tipo: Unità:\Percorso\NomeFile_IndicatoreData Ora.est Predefinito: TRUE OverWrite Specifica se sovrascrivere un file esistente con lo stesso nome. bool Se la proprietà è impostata su FALSE e un file con lo stesso nome esiste già, il metodo Go restituisce FALSE. Se è impostata su TRUE e la proprietà AppendTimeStamp è impostata su FALSE, il file viene sovrascritto tutte le volte. Predefinito: FALSE CreateDirectory Specifica se creare la directory nel percorso, se non esiste. bool Predefinito: FALSE I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 212 Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Esempio 1: impostazioni dell'indicatore di data e ora L'impostazione del percorso di ciascun esempio è: "C:\data\app.tif". Documento di input Indicatore data/ora File salvati Un file FALSE C:\data\app.tif Due file FALSE C:\data\app-1.tif C:\data\app-2.tif Un file TRUE C:\data\app_MAR_20_2002_17_30_20_456,tif Due file TRUE C:\data\app_MAR_20_2002_17_30_20_456-1.tif C:\data\app_MAR_20_2002_17_30_20_456-2.tif Quando il documento di input è composto da più file, alla fine del nome del file viene aggiunto un numero, in modo da generare un file univoco. Se si aggiunge un indicatore di data e ora e sono presenti più file, il numero viene inserito dopo l'indicatore. Tutte le azioni di uno script che prevedono l'inserimento di un indicatore di data e ora utilizzano lo stesso indicatore. Il valore utilizzato è disponibile anche tramite la proprietà usertime dell'oggetto originale (original.usertime). Il formato dell'indicatore di data e ora è: _MON_DD_YYYY_HH_MM_SS_MSEC dove: • • • • • • • MON è l'indicazione del mese DD è l'indicazione del giorno del mese YYYY sono le quattro cifre dell'anno HH è l'indicazione dell'ora nel formato 24 ore MM è l'indicazione dei minuti SS è l'indicazione dei secondi MSEC è l'indicazione dei millisecondi Nota Si noti il carattere di sottolineatura iniziale inserito prima del mese. Oggetti azione 213 Esempio 2: impostazioni del percorso È possibile immettere le impostazioni della proprietà Path per l'azione SaveToFile, in modo che la cartella venga creata dall'azione. with SaveToFile .input=original.document // Impostare il percorso su C:\temp e il nome file su myfile.ps. Se la cartella // temp non esiste, ne verrà creata una da questa azione. .Path="C:\temp\myfile.ps" .AppendTimeStamp=FALSE .Overwrite=TRUE .CreateDirectory=TRUE .Go() endwith È inoltre possibile specificare le impostazioni del percorso, in modo da far corrispondere automaticamente l'estensione Windows del file salvato al formato del documento sottoposto a scansione: SaveToFile.Path="C:\temp\myfile."+original.document.GetDocumentType() Se il documento sottoposto a scansione è di tipo .TIF, l'istruzione sopra riportata crea il file myfile.TIF nella cartella C:\temp del server. Oggetti azione 214 SharePoint Prerequisiti: 1 Il kit MDAC (Microsoft Data Access Components) deve essere installato sul computer host. In Windows 2000, questo componente viene installato come parte del sistema operativo. Il kit MDAC può essere anche scaricato in modalità standalone all'indirizzo http://www.microsoft.com. L'installazione del kit MDAC richiede come prerequisito un'installazione completa del supporto ActiveX (denominato in precedenza Automazione OLE). 2 È necessario installare il client SharePoint sullo stesso computer del server LDS. Ciò consente di eseguire l'installazione dal CD di integrazione EDMS della suite Document Solution. Affinché il server LDS interagisca con il client SharePoint, è necessario impostare l'accesso del servizio server LDS come un utente su quel sistema. Per eseguire tale procedura per Windows 2000 e Windows XP: a Fare clic con il pulsante destro del mouse su Risorse del computer. b Fare clic su Gestisci. c Fare clic su Servizi e applicazioni. d Fare clic su Servizi. e Fare clic con il pulsante destro del mouse su Lexmark Document Server nell'elenco Servizi. f Fare clic su Proprietà. g Fare clic sulla scheda Accesso. h Selezionare il pulsante di opzione Altro account. Selezionare un account con privilegi di amministrazione. i Inserire il nome utente e la password. j Fare clic su Attiva. k Fare clic su Applica. l Fare clic su OK. m Viene visualizzata una finestra di dialogo che richiede di riavviare il Lexmark Document Server Gateway. Fare clic su OK. Viene visualizzata una finestra di dialogo in cui si chiede di riavviare il Lexmark Document Server Gateway. 3 Per creare script o inserire documenti in una cartella SharePoint Portal, l'utente deve disporre dei privilegi di Autore per la cartella. La lettura di un documento da SharePoint in LDD comporta che l'utente disponga almeno dei privilegi di Lettore per il documento o la cartella da cui verrà letto il documento. 4 Per creare le interrogazioni di ricerca per i documenti, è necessario conoscere la sintassi SQL di SharePoint. Oggetti azione 215 SharePointWrite (EDMS: archiviazione) Scopo: archivia e pubblica i documenti e le impostazioni del profilo specificati in SharePoint Portal Server. Modulo di installazione: CD EDMS Prerequisito: vedere i prerequisiti di SharePoint a pagina 215. Proprietà Nome Descrizione Tipo di dati Ulteriori informazioni Input Documento da inserire in SharePoint. doc La cartella di destinazione non deve già contenere un documento con lo stesso nome. Se il documento esiste, si verificherà un errore e l'azione non verrà completata correttamente. Server URL di SharePoint Server. string UserName Identità di LDD da utilizzare per accedere a SharePoint. string Password Password per accedere a SharePoint. string Workspace Nome dell'area di lavoro di destinazione in SharePoint. string Folder Cartella di destinazione di SharePoint in cui inserire il documento. string Profile Il nome del profilo di string SharePoint che verrà associato a questo documento. I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 216 Nome Descrizione Tipo di dati Ulteriori informazioni CheckInLevel Questa proprietà viene specificata come una costante LDD. int (costante LDD) I valori validi sono: LDD_SHAREPOINT_CHECKIN archivia il documento in SharePoint ma non lo rende visualizzabile da altri. LDD_SHAREPOINT_PUBLISH archivia il documento e lo rende visualizzabile da altri utenti SharePoint. CheckInComment Il commento da associare al documento archiviato. string I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 217 Metodi Sintassi Descrizione bool Go() Dopo aver impostato tutte le proprietà (vedere il metodo SetProperty() più avanti), il metodo Go() viene utilizzato per inserire un nuovo documento nella cartella specificata dalla proprietà Folder. void Reset() Reset() cancella tutte le proprietà dell'azione e tutte le proprietà del profilo di SharePoint impostate dalla precedente chiamata a SharePointWrite. void SetProperty(string name, string value) Imposta il valore delle proprietà; i nomi di proprietà validi vengono determinati dal profilo di SharePoint specificato nella proprietà Profile di questa azione. È possibile utilizzare questo metodo per impostare le proprietà di SharePoint di tipo: • Testo • Casella di commento • Elenco (specificare i valori separati da virgole in una stringa) • Elenco di più valori (specificare i valori separati da virgole in una stringa) • Data (specificare con il formato restituito da original.usertime) Parametri: name - nome della proprietà da impostare. value - valore della stringa su cui impostare la proprietà. Restituisce: nessuno void SetProperty(string name, int value) Imposta il valore della proprietà; i nomi di proprietà validi vengono determinati dal profilo di SharePoint specificato nella proprietà Profile di questa azione. È possibile utilizzare questo metodo per impostare le proprietà di SharePoint di tipo numero. Parametri: name - nome della proprietà da impostare. value - valore del numero intero su cui impostare la proprietà. Restituisce: nessuno Oggetti azione 218 Esempio Nell'esempio seguente, un documento viene inserito in SharePoint. Lo script consente di impostare anche diverse proprietà incluse nel profilo del documento. Per questo esempio, è stato definito un profilo di SharePoint denominato "Spec" contenente le seguenti proprietà: Nome della proprietà Tipo di dati di SharePoint Author Testo VersionCount Numero Created Data Title Testo Draft Testo Subject Testo Description Casella di commento Keywords Elenco di più valori È possibile impostare i valori di queste proprietà tramite i dati immessi dall'utente sulla stampante MFP. Tuttavia, la maggior parte degli elementi viene specificata qui sottoforma di valori letterali, per indicare i formati dei valori dei vari tipi di dati di SharePoint. I valori della proprietà di un elenco di più valori, come "Keywords" nell'esempio, vengono specificati in un elenco separati da virgole. with SharePointWrite .input=original.document .server="http://tahoe.server.com" .workspace="ldd" .folder="/documents/Specs" .profile="Spec" .username=userdata.username .password=userdata.password .checkinlevel=LDD_SHAREPOINT_PUBLISH .checkincomment="Commento". .SetProperty("Author","Utente LDD") .SetProperty("Created",original.usertime) .SetProperty("VersionCount",2) .SetProperty("Title","Specifica del progetto X") .SetProperty("Description","Descrive la specifica del progetto X".) .SetProperty("Subject","X") .SetProperty("Keywords","X,progetto") .SetProperty("Draft","Sì") .Go() endwith Oggetti azione 219 SharePointRead (EDMS: recupero) Scopo: recupera i documenti e le impostazioni del profilo associati al documento memorizzato in SharePoint Portal Server che corrisponde ai criteri specificati. Modulo di installazione: CD EDMS Prerequisito: vedere i prerequisiti di SharePoint a pagina 215. Proprietà Nome Descrizione Tipo di dati Server URL di SharePoint Server. string UserName Identità di LDD da utilizzare per accedere a SharePoint. string Password Password per accedere a SharePoint. string Workspace Nome dell'area di lavoro di SharePoint da cui vengono recuperati i documenti e/o i metadati. string StartFolder Rappresenta il nome della cartella nella gerarchia di SharePoint da cui verrà iniziata la ricerca corrente. string Per impostazione predefinita, questa cartella e tutte le sottocartelle relative vengono incluse nell'ambito della ricerca. Metadata Elenco di proprietà del documento, separate da virgole, che devono essere restituite da SharePoint. string Per ulteriori dettagli, vedere Nomi abbreviati delle proprietà a pagina 223. WhereClause Definisce i criteri per limitare il numero di documenti restituiti dall'interrogazione di SharePoint. Character String CustomQuery Questa proprietà consente di personalizzare l'interrogazione di SharePoint. string I nomi in grassetto sono proprietà obbligatorie. Oggetti azione 220 Ulteriori informazioni Questa proprietà, se specificata, rappresenta l'intera interrogazione di SharePoint e sovrascrive tutte le impostazioni configurate per le proprietà Metadata e WhereClause. Metodi Sintassi Descrizione bool Go() Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. bool GetNextRow() Richiama la riga successiva dal gruppo di record dell'interrogazione. Il metodo Go viene chiamato per eseguire l'interrogazione; ciò genera un gruppo di record contenenti tutti i documenti corrispondenti ai criteri specificati nell'interrogazione. Pertanto, questo metodo viene chiamato per recuperare singolarmente ciascuna riga del gruppo di record. Quando non sono disponibili altre righe nel gruppo di record, l'esecuzione del metodo ha esito negativo. Parametri: nessuno Restituisce: Un valore booleano per indicare l'eventuale recupero corretto di una riga. string GetString(string propertyname) Richiama il valore propertyname specificato dalla riga corrente nel gruppo di record. Questo metodo viene chiamato dopo il metodo GetNextRow per ottenere una proprietà SharePoint di tipo: • Testo • Casella di commento • Elenco (specificare i valori separati da virgole in una stringa) • Elenco di più valori (specificare i valori separati da virgole in una stringa) • Data (restituita nel formato di SharePoint: MM/DD/ YYYY HH:MM:SS AM) Se si utilizza questo metodo per una proprietà di altro tipo o per una proprietà che non esiste, viene generato un errore. Parametri: propertyname - nome della proprietà di cui richiamare il valore. Restituisce: Una stringa che contiene il valore della proprietà specificata. Oggetti azione 221 Sintassi Descrizione int GetInt(string propertyname) Richiama il valore propertyname specificato dalla riga corrente nel gruppo di record. Questo metodo viene chiamato dopo il metodo GetNextRow per ottenere una proprietà SharePoint di tipo: numero. Se si utilizza questo metodo per una proprietà di altro tipo o per una proprietà che non esiste, viene generato un errore. Parametri: propertyname - nome della proprietà di cui richiamare il valore. Restituisce: Un numero intero che indica il valore della proprietà specificata. doc GetDoc() Recupera il documento dalla riga corrente nel gruppo di record. Questo metodo viene chiamato dopo il metodo GetNextRow per ottenere il documento da questa riga che soddisfa i criteri dell'interrogazione. Parametri: nessuno Restituisce: Un documento contenente il documento associato alla riga corrente nel gruppo di record. bool Finished() Chiude il gruppo di record dell'interrogazione e rende disponibile altre risorse utilizzate dall'azione. Una volta chiamato il metodo, non è possibile accedere ai risultati dell'ultima interrogazione. Parametri: nessuno Restituisce: Un valore booleano che indica se l'operazione è stata completata correttamente. Oggetti azione 222 Nomi abbreviati delle proprietà In generale, le proprietà di SharePoint vengono identificate in modo univoco dal relativo URN (Uniform Resource Name). Ad esempio, l'URN della proprietà Author di un documento è "urn:schemas-microsoft-com:Office:Office#Author". L'azione SharePoint di LDD consente di utilizzare una forma abbreviata dell'URN quando si assegnano i nomi delle proprietà alla proprietà Metadata dell'azione. Nel caso della proprietà Author, la versione abbreviata sarà semplicemente "Author"; LDD aggiunge il prefisso "urn:schemas-microsoft-com:Office:Office#" per creare l'URN completo prima di sottoporre l'interrogazione a SharePoint. Se si utilizza questo nome abbreviato per specificare i metadati del documento, LDD consente di utilizzarlo anche per specificare un valore della proprietà WhereClause e per recuperare il valore della proprietà con il metodo GetString() o GetInt(). Tuttavia, il nome abbreviato non sarà valido se non è contenuto nella clausola MetaData e se la proprietà deve sempre essere indicata utilizzando il relativo URN completo. Se non si desidera utilizzare un nome abbreviato, è comunque possibile fare riferimento alle proprietà Metadata con il relativo URN completo. SharePoint dispone di diverse proprietà globali ricercabili, che possono essere recuperate insieme al documento. Le proprietà sono le seguenti: Proprietà globale di SharePoint (URN) Descrizione urn:schemas.microsoft.com:fulltextqueryinfo:crawlmodifiedtime Indicatore della data e dell'ora in cui SharePoint Portal Server ha riconosciuto che il documento è diverso e ha aggiornato l'indice. urn:schemas.microsoft.com:fulltextqueryinfo:description Descrizione dei risultati di ricerca. urn:schemas-microsoft-com:publishing:BestBetCategories Elenco delle categorie Best Bet associate a un documento. urn:schemas-microsoft-com:publishing:BestBetKeywords Elenco delle parole chiave Best Bet associate a un documento. urn:schemas-microsoft-com:publishing:Categories Elenco di categorie in cui viene visualizzato il documento. urn:schemas-microsoft-com:publishing:isdoclibrarycontent (Valore booleano) Indica se un determinato documento esiste nell'area di lavoro di SharePoint Portal Server. urn:schemas-microsoft-com:publishing:FriendlyVersionID (stringa) L'identificativo della versione (ID) in formato semplice (vale a dire, "1.1", "3.0" ecc.). urn:schemas-microsoftcom:publishing:issuggestedcategoryused (Valore booleano) Determina se il campo AutoCategories viene utilizzato per includere un documento in una categoria e non per stabilire se è stato classificato automaticamente. Oggetti azione 223 Sono disponibili molte altre proprietà globali definite da SharePoint, elencate all'indirizzo http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spssdk/html/ _searchable_document_properties.asp. È possibile utilizzare numerose di queste proprietà per limitare i record restituiti dall'interrogazione di SharePoint; tuttavia, tali proprietà non possono essere recuperate dalle interrogazioni di SharePoint, pertanto non possono essere elencate nella proprietà Metadata. Le proprietà elencate in questa tabella sono proprietà globali che possono essere recuperate dall'interrogazione. È possibile utilizzare i nomi abbreviati per i valori contenuti nella tabella. Anche se queste proprietà possono essere richiamate dall'interrogazione, è possibile che non siano sempre valide per il documento da recuperare e dovrebbero essere utilizzate con cautela. Oggetti azione 224 Esempio 1 Nell'esempio seguente, viene utilizzato l'ID dell'autore immesso per leggere i documenti da un server SharePoint e stamparli. Per specificare il nome della proprietà, viene utilizzato un URN (Uniform Resource Name). SharePoint richiede che gli URN siano racchiusi tra virgolette. Per specificare le virgolette all'interno di una stringa in LDD, è necessario farle precedere da un accento circonflesso, "^". Poiché è in corso il recupero di più documenti, inserire la chiamata a .GetDoc() in un loop e utilizzare il valore restituito da .GetNextRow() per concludere il loop. doc d with SharePointRead .server="http://tahoe.server.com" .workspace="ldd" .startfolder="/Documents/Specs" .username=userdata.username .password=userdata.password .whereclause="^"urn:schmas-microsoft-com:office:office#AuthId^"='"+ userdata.authid+"'" .Go() repeat until (.getnextrow()==false) d = .GetDoc() // Anzitutto, convertire il documento in PostScript. ConvertToDocument.input = d ConvertToDocument.Format=LDD_DOCFORMAT_PS ConvertToDocument.PaperSize=LDD_PAPERSIZE_AUTO ConvertToDocument.Orientation=LDD_ORIENTATION_AUTO ConvertToDocument.PSResolution=LDD_RESOLUTION_300 ConvertToDocument.AllPages=TRUE ConvertToDocument.Go() // Quindi, stamparlo. PrintJob.input=ConvertToDocument.output PrintJob.IPAddress=original.userip PrintJob.PaperType=LDD_PAPERTYPE_DEFAULT PrintJob.Copies=1 PrintJob.Nup=LDD_NUP_OFF PrintJob.NupBorder=TRUE PrintJob.Duplex=LDD_DUPLEX_OFF PrintJob.OutputBin=LDD_OUTPUTBIN_DEFAULT PrintJob.Collate=FALSE PrintJob.ConfidentialPrint=FALSE PrintJob.WaitForCompletion=FALSE PrintJob.Go() endrepeat .Finished() endwith Oggetti azione 225 Esempio 2 In questo esempio, vengono recuperati i nomi di più documenti provenienti da SharePoint, appartenenti a un determinato autore. Notare che sono stati utilizzati dei nomi abbreviati delle proprietà per assegnare un valore alla proprietà .metadata e per recuperare il valore di tali proprietà utilizzando .GetString(). Solo i nomi abbreviati specificati nella proprietà .metadata possono essere utilizzati in seguito dai metodi di recupero valori, .GetString() e .GetInt(). Anche se è stato utilizzato il nome abbreviato "Author" nella proprietà .metadata, è necessario utilizzare ancora l'URN all'interno della clausola WHERE. I nomi abbreviati non possono essere utilizzati all'interno della clausola WHERE. string string string string title author address="[email protected]" docmsg docmsg = "I seguenti documenti non sono stati ancora approvati:^n^n" with SharePointRead .server="http://tahoe.server.com" .workspace="ldd" .startfolder="/Documents" .username="Amministratore" .password="VENERE" .metadata="Titolo,Autore" .whereclause="^"urn:schemas-microsoft-com:office:office#Author^"='" +userdata.author+"'" .Go() repeat until (.getnextrow()==false) title = .GetString("Title") author = .GetString("Author") docmsg.Concatenate(title) docmsg.Concatenate("^t") docmsg.Concatenate (author) docmsg.Concatenate("^n") endrepeat .Finished() endwith with EmailSMTP .Server="server.posta.com" .To=indirizzo .From="[email protected]" .Subject="Documenti di SharePoint" .Message=docmsg .CharacterSet=LDD_SMTPCHARSET_US .Go() endwith Oggetti azione 226 TiffSplit TiffSplit consente di separare un file di immagine composto da più pagine in più file di immagine di una sola pagina. Il formato del file di output corrisponde a quello del file di input. Nome Descrizione Tipo Ulteriori informazioni Input Il documento di origine dell'azione. doc Il documento di input deve essere in formato immagine TIFF. Output Contiene il documento di output generato dall'azione. doc A questa proprietà è possibile accedere solo dopo che è stato chiamato il metodo Go. AllPages Separa tutte le pagine nel documento di input. bool Predefinito: StartPage La prima pagina da separare. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Endpage L'ultima pagina da separare. int Viene assegnato un valore solo quando la proprietà AllPages è impostata su FALSE. Il valore 0 indica TRUE l'ultima pagina. OneFile bool Se il valore è TRUE, il documento di output sarà un solo file, altrimenti ciascuna pagina risulterà essere un file di output separato. Predefinito: TRUE Metodi Sintassi bool Go() Descrizione Esegue l'azione. Restituisce TRUE o FALSE per indicare se l'azione è stata completata correttamente. void Reset() Cancella le proprietà correnti e ne ripristina i valori predefiniti. Oggetti azione 227 7 Prompt Il meccanismo di prompt di LDDScript 3.2 permette di utilizzare gli script per interagire con l'utente di una stampante MFP o di una workstation. Tale interazione consente di porre domande all'utente e di inserire le risposte nello script stesso o di utilizzarle per rivolgere ulteriori domande. Il formato del blocco di prompt è il seguente: prompt step "nomepasso" ask(prompt) nextstep "nomepasso2" step "nomepasso2" ask(prompt2) laststep endprompt Le parole chiave prompt e endprompt sono utilizzate per definire il blocco di prompt. Tutti i passi e le azioni inclusi in questo blocco vengono eseguiti prima di effettuare la scansione su una stampante MFP o prima che il file venga inviato dalla workstation. Lo script può contenere un solo blocco, che deve trovarsi all'inizio, prima di qualsiasi azione che richiede il documento inviato o sottoposto a scansione. Di seguito, sono elencate le parole chiave valide nel blocco di prompt: • step "nomepasso": step viene utilizzato per indicare l'inizio di un gruppo contenente una o più domande o azioni; nomepasso è una stringa e rappresenta il nome assegnato al gruppo. Il primo blocco di passi elencato sarà il primo a essere eseguito dal blocco di prompt. Ogni blocco di prompt deve avere almeno un passo. • ask(prompt): ask viene utilizzato per visualizzare il prompt specificato sulla stampante MFP o sulla workstation. Il prompt è uno degli oggetti prompt che consente di visualizzare un messaggio, un testo, una password, un numero o un elenco a selezione singola o multipla. È possibile inserire più istruzioni ask in un unico passo. • nextstep "nomepasso": nextstep viene utilizzato per identificare il passo successivo da eseguire; nomepasso deve corrispondere a uno dei nomi assegnati utilizzando la parola chiave step. I nomi dei passi non devono avere un ordine particolare e possono essere utilizzati più volte. • laststep: laststep viene utilizzato per identificare l'ultimo passo del blocco di prompt. Completata l'esecuzione del passo, la funzione di prompt termina e ha inizio la scansione dalla stampante MFP o l'invio del file dalla workstation. Tutti i prompt utilizzati nel rispettivo blocco devono essere definiti prima della parola chiave prompt. Nel blocco di prompt è possibile utilizzare qualsiasi azione disponibile sul server. Tuttavia, è importante notare che il documento effettivo sottoposto a scansione non sarà disponibile fino al termine del prompt; quindi, original.document non sarà disponibile. Nella parte rimanente di questo capitolo vengono descritti i vari oggetti prompt che possono essere utilizzati nello script. Prompt 228 Prompt di tipo selezione L'oggetto prompt selezione viene utilizzato per richiedere all'utente una risposta affermativa o negativa. L'oggetto prompt valore booleano può essere utilizzato ovunque in uno script che consente l'uso di un tipo booleano. Un prompt è di questo tipo se dichiarato come boolprompt. Quando si utilizza questo oggetto, le richieste all'utente vengono effettuate tramite una casella di controllo che è possibile selezionare o deselezionare. Per impostare un valore predefinito per la casella di controllo, assegnare un valore al prompt booleano. boolprompt enable enable = TRUE Impostando boolprompt su TRUE, la casella di controllo risulta già selezionata; al contrario, impostando questo valore su FALSE, la casella di controllo risulta deselezionata. Dopo la richiesta, il prompt booleano conterrà il valore selezionato. Questo oggetto non ha proprietà. Oltre ai metodi descritti in precedenza, questo oggetto può accedere a tutti i metodi disponibili per un oggetto booleano. Metodi Sintassi Descrizione void SetPromptText(string text) Imposta il testo o la domanda che verrà visualizzata per richiedere la risposta all'utente. Parametri: text - testo da visualizzare. Restituisce: nessuno Prompt 229 Prompt di tipo messaggio L'oggetto prompt messaggio è utilizzato per inviare all'utente messaggi di errore o messaggi informativi. Un prompt è di questo tipo se dichiarato come messageprompt. Questo oggetto non ha proprietà. Quando si utilizza questo oggetto, il messaggio viene visualizzato dall'utente che, per continuare, deve premere OK. Metodi Sintassi Descrizione void SetPromptText(string text) Imposta il messaggio informativo o di errore che viene visualizzato dall'utente. Parametri: text - testo da visualizzare. Restituisce: nessuno Prompt 230 Prompt numero Un oggetto prompt numero viene utilizzato per richiedere un numero all'utente o per consentirgli di selezionare un numero da un elenco. L'oggetto prompt numero può essere utilizzato in qualsiasi punto di uno script che consente l'uso di numeri interi. Un prompt è di questo tipo se dichiarato come intprompt. Se non sono stati aggiunti elementi all'elenco di selezione, viene visualizzata una casella di testo in cui è possibile inserire la risposta. Per impostare un valore predefinito per la casella di testo, assegnare un valore al prompt stringa. intprompt num num = 5 Se vengono aggiunte opzioni all'elenco di selezione, questo si trasforma in un elenco a selezione singola, in cui è possibile scegliere un'unica opzione. Per impostare un valore predefinito, assegnare al prompt stringa il valore di uno degli elementi dell'elenco. intprompt resolution resolution =150 resolution.AddPromptOption(150) resolution.AddPromptOption(300) resolution.AddPromptOption(600) Dopo la richiesta, il prompt numero conterrà il valore digitato o selezionato dall'elenco. Questo oggetto non ha proprietà. Oltre ai metodi descritti in precedenza, questo oggetto può accedere a tutti i metodi disponibili per un oggetto numero intero. Metodi Sintassi Descrizione void AddPromptOption(int option) Aggiunge un numero alla fine dell'elenco di selezione. Le opzioni vengono visualizzate nell'ordine in cui sono state aggiunte. Parametri: option - il numero da aggiungere all'elenco. Restituisce: nessuno void ClearPromptOptions() Rimuove tutte le opzioni dall'elenco di selezione. Parametri: nessuno Restituisce: nessuno Prompt 231 Sintassi Descrizione void ClearPromptRange() Rimuove i valori minimi e massimi di questo prompt. Se non è stato impostato alcun intervallo, l'utente potrà inserire qualsiasi numero valido. Parametri: nessuno Restituisce: nessuno void SetPromptRange(int min, int max) Imposta il valore minimo e massimo consentito. L'impostazione di min su un valore e di max su zero (0) consente di immettere un valore senza stabilire un limite superiore. Tali impostazioni vengono ignorate se utilizzate come elenco a selezione singola. Parametri: min - il valore minimo. max - il valore massimo. Restituisce: nessuno void SetPromptText(string text) Imposta il testo o la domanda che verrà visualizzata per richiedere la risposta all'utente. Parametri: text - testo da visualizzare. Restituisce: nessuno Prompt 232 Prompt di tipo opzioni (più selezioni) L'oggetto prompt opzioni (più selezioni) viene utilizzato per richiedere all'utente di selezionare nessuno, uno o più elementi da un elenco. Un prompt è di questo tipo se dichiarato come arrayprompt. Quando si utilizza questo oggetto, viene visualizzata una casella di riepilogo, dove l'utente può effettuare le selezioni. È possibile preselezionare gli elementi nell'elenco. Dopo la richiesta, è possibile interrogare il prompt di tipo opzioni (più selezioni) per determinare le selezioni scelte dall'utente. Questo oggetto non ha proprietà. Metodi Sintassi Descrizione void AddPromptOption(string option) Aggiunge una stringa alla fine dell'elenco di selezione. Le opzioni vengono visualizzate nell'ordine in cui sono state aggiunte. Parametri: option - la stringa da aggiungere all'elenco. Restituisce: nessuno void ClearPromptOptions() Rimuove tutte le opzioni dall'elenco di selezione. Parametri: nessuno Restituisce: nessuno bool GetCheck(int index) Restituisce lo stato dell'elemento nell'elenco all'indice specificato. Il primo elemento nell'elenco è 1. Se l'elemento specificato non esiste, viene restituito FALSE. Parametri: index - indice dell'elemento nell'elenco di cui si desidera ottenere lo stato di selezione. Restituisce: TRUE se l'elemento è selezionato, FALSE in caso contrario. Prompt 233 Sintassi Descrizione bool GetCheck(string option) Restituisce lo stato dell'elemento nell'elenco che corrisponde al testo fornito. È necessario che il testo sia esattamente identico a una delle opzioni. Se non è possibile individuare l'elemento specificato, viene restituito FALSE. Parametri: option - il testo dell'elemento di cui ottenere lo stato di selezione. Restituisce: TRUE se l'elemento è selezionato, FALSE in caso contrario. int GetOptionCount() Restituisce il numero degli elementi che sono stati aggiunti all'elenco. Parametri: nessuno Restituisce: Numero degli elementi nell'elenco. string GetPromptOption(int index) Restituisce il testo dell'elemento nell'elenco in corrispondenza dell'indice specificato. Il primo elemento nell'elenco è 1. Se l'elemento specificato non esiste, viene restituita una stringa vuota. Parametri: nessuno Restituisce: Il testo dell'elemento nell'elenco, all'indice specificato. intarray GetSelectedIndexes() Restituisce un tipo intarray di tutti gli indici selezionati. L'indice di ogni opzione selezionata sarà un elemento nella matrice. Se non è stata effettuata alcuna selezione, gli indici degli elementi inizieranno da uno e verrà restituita una matrice vuota. Parametri: nessuno Restituisce: Il tipo intarray delle opzioni selezionate. Prompt 234 Sintassi Descrizione stringarray GetSelectedOptions() Restituisce un tipo stringarray contenente il testo di tutti gli elementi selezionati. Ciascuna opzione selezionata sarà un elemento nella matrice. Se non sono stati selezionati elementi, viene restituito un tipo stringarray vuoto. Parametri: nessuno Restituisce: Il tipo stringarray delle opzioni selezionate. void SetCheck(int index, bool set) Imposta lo stato dell'elemento nell'elenco in corrispondenza dell'indice specificato. Il primo elemento nell'elenco è 1. Parametri: index - indice dell'elemento nell'elenco di cui si desidera impostare lo stato di selezione. set - TRUE contrassegna l'elemento come selezionato; FALSE contrassegna l'elemento come non selezionato. Restituisce: nessuno void SetCheck(string option, bool set) Imposta lo stato dell'elemento nell'elenco che corrisponde al testo fornito. È necessario che il testo sia esattamente identico a una delle opzioni. Parametri: option - il testo dell'elemento di cui si desidera impostare lo stato di selezione. set - TRUE contrassegna l'elemento come selezionato; FALSE contrassegna l'elemento come non selezionato. Restituisce: nessuno void SetPromptText(string text) Imposta il testo o la domanda che verrà visualizzata per richiedere la risposta all'utente. Parametri: text - testo da visualizzare. Restituisce: nessuno Prompt 235 Prompt di tipo opzioni (selezione singola) L'oggetto prompt opzioni (selezione singola) viene utilizzato per richiedere all'utente di selezionare uno solo degli elementi di un elenco. Un prompt è di questo tipo se dichiarato come stringprompt. Quando si utilizza questo oggetto, viene visualizzata una casella di riepilogo in cui l'utente può effettuare la selezione. Dopo la richiesta, è possibile interrogare il prompt di tipo opzioni (selezione singola) per determinare la selezione scelta dall'utente. Questo oggetto non ha proprietà. Metodi Sintassi Descrizione void AddPromptOption(string option) Aggiunge una stringa alla fine dell'elenco di selezione. Le opzioni vengono visualizzate nell'ordine in cui sono state aggiunte. Parametri: option - la stringa da aggiungere all'elenco. Restituisce: nessuno void ClearPromptOptions() Rimuove tutte le opzioni dall'elenco di selezione. Parametri: nessuno Restituisce: nessuno string GetPromptOption(int index) Restituisce il testo dell'elemento nell'elenco in corrispondenza dell'indice specificato. Il primo elemento nell'elenco è 1. Se l'elemento specificato non esiste, viene restituita una stringa vuota. Parametri: nessuno Restituisce: Il testo dell'elemento nell'elenco, all'indice specificato. void SetPromptText(string text) Imposta il testo o la domanda che verrà visualizzata per richiedere la risposta all'utente. Parametri: text - testo da visualizzare. Restituisce: nessuno Prompt 236 Prompt di tipo password L'oggetto prompt password viene utilizzato per richiedere all'utente un testo (generalmente, una password). Nel momento in cui l'utente digita la risposta, vengono visualizzati degli asterischi al posto dell'effettivo testo inserito. L'oggetto prompt password può essere utilizzato ovunque in uno script che consente l'uso di stringhe. Un prompt è di questo tipo se dichiarato come passwordprompt. Quando si utilizza questo oggetto, le richieste all'utente vengono effettuate tramite una casella di testo, in cui è possibile inserire la risposta. Pur essendo possibile assegnare a questo prompt un valore predefinito, normalmente questa funzione non viene utilizzata poiché nella casella di testo appariranno solo asterischi. Dopo la richiesta, il prompt password conterrà il valore digitato. Questo oggetto non ha proprietà. Oltre ai metodi descritti in precedenza, questo oggetto può accedere a tutti i metodi disponibili per un oggetto string. Metodi Sintassi Descrizione void ClearPromptRange() Rimuove il numero minimo e massimo di caratteri consentiti per questo prompt. Se non è stato impostato alcun intervallo, l'utente può inserire nella risposta un numero illimitato di caratteri o nessun carattere. Parametri: nessuno Restituisce: nessuno Prompt 237 Sintassi Descrizione void SetPromptRange(int min, int max) Imposta il numero minimo e massimo di caratteri consentiti nella risposta. L'impostazione di min su zero (0) consente all'utente di non inserire alcun carattere. L'impostazione di min su un valore e di max su zero (0) consente di impostare un numero minimo di caratteri senza definire un limite superiore. L'impostazione di min e max sullo stesso valore indica che l'utente deve immettere esattamente il numero di caratteri specificato. Parametri: min - il numero minimo di caratteri. max - il numero massimo di caratteri. Restituisce: nessuno void SetPromptText(string text) Imposta il testo o la domanda che verrà visualizzata per richiedere la risposta all'utente. Parametri: text - testo da visualizzare. Restituisce: nessuno Prompt di tipo testo Un oggetto prompt testo viene utilizzato per richiedere all'utente di digitare un testo o per consentire all'utente di selezionare un solo testo da un elenco contenente più elementi di testo. L'oggetto prompt testo può essere utilizzato in un punto qualsiasi di uno script che consente l'uso di stringhe. Un prompt è di questo tipo se dichiarato come stringprompt. Se non sono stati aggiunti elementi all'elenco di selezione, viene visualizzata una casella di testo in cui è possibile inserire la risposta. Per impostare un valore predefinito per la casella di testo, assegnare un valore al prompt di testo. stringprompt str str = "Questo è il valore predefinito". Se vengono aggiunte opzioni all'elenco di selezione, questo si trasforma in un elenco a selezione singola, in cui è possibile scegliere un'unica opzione. Per impostare un valore predefinito, assegnare al prompt di testo il valore di uno degli elementi dell'elenco. stringprompt str str = "Rosso" str.AddPromptOption("Blu") str.AddPromptOption("Rosso") str.AddPromptOption("Verde") Dopo la richiesta, il prompt di testo conterrà il valore digitato o selezionato dall'elenco. Prompt 238 Questo oggetto non ha proprietà. Oltre ai metodi descritti in precedenza, questo oggetto può accedere a tutti i metodi disponibili per un oggetto string. Metodi Sintassi Descrizione void AddPromptOption(string option) Aggiunge una stringa alla fine dell'elenco di selezione. Le opzioni vengono visualizzate nell'ordine in cui sono state aggiunte. Parametri: option - la stringa da aggiungere all'elenco. Restituisce: nessuno void ClearPromptOptions() Rimuove tutte le opzioni dall'elenco di selezione. Parametri: nessuno Restituisce: nessuno void ClearPromptRange() Rimuove il numero minimo e massimo di caratteri consentiti per questo prompt. Se non è stato impostato alcun intervallo, l'utente potrà inserire nella risposta un numero illimitato di caratteri o nessun carattere. Parametri: nessuno Restituisce: nessuno void SetPromptRange(int min, int max) Imposta il numero minimo e massimo di caratteri consentiti nella risposta. L'impostazione di min su zero (0) consente all'utente di non inserire nessun carattere. L'impostazione di min su un valore e di max su zero (0) consente di impostare un numero minimo di caratteri senza definire un limite superiore. L'impostazione di min e max sullo stesso valore indica che l'utente deve immettere esattamente il numero di caratteri specificato. Tali impostazioni vengono ignorate se utilizzate come elenco a selezione singola. Parametri: min - il numero minimo di caratteri. max - il numero massimo di caratteri. Restituisce: nessuno Prompt 239 Riferimento ODBC Requisiti software e installazione • • • Il software MDAC (Microsoft Data Access Components) deve essere installato sul computer host. In Windows 2000, questi componenti vengono installati come parte del sistema operativo. In Windows NT, è necessario installare un software precedente che utilizza ODBC, ad esempio Microsoft Office. Inoltre, è possibile scaricare MDAC come pacchetto separato all'indirizzo http://www.microsoft.com/data. Controllare l'installazione di ODBC verificando l'applet Origini dati presente nel Pannello di controllo, in Strumenti di amministrazione. I driver database ODBC necessari devono essere installati per il DBMS (Database Management System) richiesto. Insieme a MDAC vengono installati i driver per i formati di database più comuni, come Access, dBase, Excel, FoxPro, Oracle, Paradox, testo delimitato, Visual FoxPro e Server SQL. Altri driver sono disponibili presso i fornitori Microsoft o DBMS. Il driver deve essere compatibile almeno con ODBC 3.0. In particolare, il database deve supportare almeno i cursori scorrevoli in avanti e la conversione dei dati compatibili con SQL92. Per utilizzare la modalità di transazione, è necessario verificare che il driver ODBC sia conforme allo standard SQL92 e che qualsiasi stored procedure scritta per l'azione possa essere eseguita all'interno di una transazione. È necessario impostare un'origine dati ODBC per il server da utilizzare. Questa operazione può essere effettuata tramite l'applet Origini dati ODBC, nel Pannello di controllo, sul computer server. Esistono vari modi per eseguire questa operazione: – È possibile impostare un DSN utente, purché il servizio Document Server sia abilitato ad accedere a Windows con un nome utente specificato (vedere l'applet Servizi del Pannello di controllo). – È possibile impostare un DSN di sistema, che non richiede l'accesso di Document Server a Windows. – È possibile impostare un DSN su file, che può essere utilizzato per accedere a database remoti ma che, generalmente, richiede il servizio Document Server per accedere alla rete e al file di destinazione. Se necessario, le origini dati possono essere riconfigurate al runtime tramite un'opzione di azione. • Il database di destinazione deve contenere le informazioni relative agli account per il server. Per poter modificare i database più semplici, è necessario accedere al server tramite un nome utente e una password. Il server richiede almeno diritti di interrogazione a livello di struttura per qualsiasi tabella a cui devono accedere gli script. Inoltre, richiede un accesso di tipo SELECT per la lettura dal database e privilegi di tipo INSERT per la scrittura nel database, più i privilegi di tipo EXECUTE per eventuali stored procedure da utilizzare. La password e il nome utente devono essere forniti come parte dell'impostazione dell'origine dati ODBC, oppure possono essere specificati nelle impostazioni dell'azione. Riferimento ODBC 240 • • Il servizio Document Server deve disporre dei diritti di accesso ai database e/o agli archivi documenti che devono essere utilizzati dagli script. Normalmente, ciò richiede che alle risorse di rete siano concessi opportuni privilegi di condivisione e che il servizio Document Server venga impostato in modo da accedere alla rete con una password e un nome utente specifici. Per i dettagli relativi alla modalità di esecuzione di questa operazione, consultare l'applet Servizi del Pannello di controllo. Per utilizzare le funzioni più avanzate del modulo, è necessario conoscere ODBC, SQL e alcune peculiarità del DBMS. In particolare, è necessario avere una certa esperienza nella scrittura delle stored procedure per il database e comprendere le implicazioni relative al blocco delle righe, alle transazioni serializzabili e alla replica del database. Per ulteriori dettagli su questi prerequisiti, consultare la Guida in linea di ODBC Administrator e la documentazione fornita con il DBMS utilizzato. Supporto documenti database Un documento viene memorizzato in un database in un formato noto come oggetto binario di grandi dimensioni (BLOB, Binary Large Object). Non tutti i database forniscono il supporto BLOB e, quindi, non supportano la memorizzazione dei documenti nel database. Oracle e Microsoft SQL Server sono esempi di database che forniscono il supporto BLOB, mentre Microsoft Access non fornisce tale supporto. I database che non forniscono il supporto BLOB possono essere utilizzati per gestire documenti e azioni ODBCWrite e ODBCRead di Document Distributor. Per questi database, lo script deve disporre dell'accesso a una directory di rete in cui sia possibile memorizzare i documenti. Lo script può, pertanto, utilizzare l'azione SaveToFile per scrivere il documento di input sulla directory e memorizzare la posizione del file appena creato nel database in formato stringa (per un esempio su come effettuare questa operazione, vedere Script examples a pagina 1.) Al contrario, per recuperare un documento, è possibile accedere alla posizione del database in cui si trova il file memorizzato in formato stringa e utilizzare il metodo AddFile() di una variabile di documento per recuperarlo. I documenti creati in questo modo possono essere modificati e utilizzati da altre azioni all'interno dello script. Inserimento di valori nelle colonne che contengono le date Document Distributor fornisce l'ora e la data correnti tramite original.usertime. Si tratta di un valore stringa con formato: _GG_MM_AAAA_HH_MI_SS_SSS. I formati data/ora ODBC per i vari tipi di dati SQL sono riportati nella tabella seguente. La conversione di original.usertime nel formato ODBC adeguato implica l'analisi separata dei componenti di original.usertime e la successiva ricomposizione in un formato compatibile con l'ODBC corrispondente. Per gli script che creano nuove righe nel database, il valore dell'ora richiesto all'interno del database è più probabilmente l'ora in cui la riga è stata creata e non l'ora in cui il documento è stato inviato a Document Distributor. In questi casi, è più semplice specificare un valore predefinito nel database per la colonna data/ora piuttosto che fornire il valore dall'interno dello script. Nel caso di aggiornamenti di riga, il valore potrebbe essere fornito dal trigger del database (purché il database supporti i trigger). Riferimento ODBC 241 Un'alternativa all'analisi di original.usertime all'interno dello script stesso consiste nel richiamare AssignValue(), specificando il nome della colonna come primo parametro e una stringa vuota (" ") come secondo parametro. In questo modo viene indicato a Document Distributor di richiamare la funzione dell'ora di ODBC corrispondente al tipo di dati SQL della colonna. Questa corrispondenza viene illustrata nella tabella seguente con il valore risultante. Tipo di dati SQL Funzione ODBC Formato ora SQL_TYPE_DATE CURDATE() GG-MM-AAAA SQL_TYPE_TIME CURTIME() HH:MM:SS[.dddddd] SQL_TYPE_TIMESTAMP NOW() GG-MM-AAAA HH:MM:SS[.ddddd] Riferimento ODBC 242 Riferimento codice a barre Ognuna delle simbologie relative ai codici a barre ha le sue regole specifiche per il controllo degli errori, la lunghezza, la rappresentazione dei caratteri e altre funzioni. Si differenziano per la modalità di rappresentazione di dati e tipi di informazioni che possono essere codificati: numeri, caratteri maiuscoli, caratteri minuscoli e punteggiatura. Per ulteriori informazioni, contattare un'organizzazione per gli standard industriali dei codici a barre, ad esempio una delle seguenti: Organizzazione codice a barre Sito Web EAN International www.ean-int.org UCC (Uniform Code Council) www.uc-council.org ANSI (American National Standards Institute) www.ansi.org Questo riferimento elenca i codici a barre supportati dalle azioni BarcodeRead e BarcodeWrite. Ogni tabella include una descrizione del tipo di codice a barre, i caratteri supportati, eventuali limitazioni di lunghezza, se è richiesta una checksum, i vari sottotipi supportati e altri nomi con cui il codice a barre potrebbe essere noto. Inoltre, vengono fornite ulteriori informazioni che possono facilitare la lettura o scrittura dei codici a barre. Codabar Descrizione Normalmente utilizzato in banche del sangue, librerie, sistemi di consegna di pacchi e altre applicazioni di elaborazione delle informazioni. Set di caratteri Numeri: 0 - 9 Simboli: trattino (-), due punti (:), punto (.), segno del dollaro ($), barra (/), segno più (+) Inizio/Fine: A, B, C, D Lunghezza Variabile Checksum Nessuna definita Tipi supportati LDD_BARCODE_CODABAR Noto anche come USD-4, NW-7, Codice 2 di 7 BarcodeRead I dati restituiti dall'azione includono i caratteri di inizio e fine. Riferimento codice a barre 243 BarcodeWrite I dati da codificare devono iniziare con uno dei caratteri di inizio e terminare con uno dei caratteri di fine. I caratteri di inizio e fine non devono coincidere tra loro. Codice 2 di 5 Descrizione Formato di codice a barre meno recente; normalmente utilizzato per numerare biglietti aerei, fotofinish e nelle industrie per la gestione di magazzini. Set di caratteri Solo numeri (0-9) Lunghezza Variabile Checksum Nessuna definita Tipi supportati Industrial o Standard - LDD_BARCODE_C25_INDUSTRIAL Matrix - LDD_BARCODE_C25_MATRIX DataLogic - LDD_BARCODE_C25_DATALOGIC Airline - LDD_BARCODE_C25_AIRLINE Noto anche come Codice 25 Riferimento codice a barre 244 Codice 3 di 9 Descrizione Comunemente utilizzato in molte industrie. Formato di codice a barre standard per le specifiche governative degli Stati Uniti. Set di caratteri Lettere maiuscole: A - Z Numeri: 0-9 Simboli: spazio, trattino (-), punto (.), segno del dollaro ($), barra (/), segno più (+), segno di percentuale (%) Lunghezza Variabile (si consiglia un massimo di 25) Checksum Facoltativa Tipi supportati Senza checksum - LDD_BARCODE_CODE39 Con checksum - LDD_BARCODE_CODE39_CHK Noto anche come USD-3, Codice 39 Nota Il codice 39 esteso non è supportato. È preferibile utilizzare il codice 128 poiché codifica le informazioni in modo più efficiente, con densità e capacità d'uso superiori. BarcodeRead Se utilizzata, la checksum non sarà inclusa nei dati restituiti da questa azione. BarcodeWrite Se utilizzata, la checksum sarà calcolata automaticamente e aggiunta al codice a barre. Non includerla nei dati da codificare inoltrati a questa azione. Codice 32 Descrizione Comunemente utilizzato nelle farmacie. Set di caratteri Numeri: 0-9 Lunghezza Variabile Checksum Obbligatoria Tipi supportati LDD_BARCODE_CODE32 Noto anche come Italian Pharmacode, Pharmacode BarcodeRead I dati restituiti dall'azione includono il carattere di inizio e la cifra della checksum. Riferimento codice a barre 245 Codice 93 Descrizione Formato compatto del codice 39 meno utilizzato rispetto al codice 39. Set di caratteri Lettere maiuscole: A - Z Numeri: 0-9 Simboli: spazio, trattino (-), punto (.), segno del dollaro ($), barra (/), segno più (+), segno di percentuale (%) Lunghezza Variabile (si consiglia un massimo di 25) Checksum Obbligatoria Tipi supportati LDD_BARCODE_CODE93 Noto anche come USS 93 Nota Il codice 93 esteso non è supportato. BarcodeRead La checksum non verrà inclusa nei dati restituiti da questa azione. BarcodeWrite La checksum viene calcolata automaticamente e aggiunta al codice a barre. Non includerla nei dati da codificare inoltrati a questa azione. Codice 128 Descrizione Normalmente utilizzato in banche del sangue, librerie, sistemi di consegna di pacchi e altre applicazioni di elaborazione delle informazioni. Set di caratteri ASCII 0 - ASCII 127 Lunghezza Variabile Checksum Nessuna definita Tipi supportati Codice 128 A, Codice 128 B, Codice 128 C, Codice 128 Autoswitch LDD_BARCODE_CODE128 Noto anche come 128 EAN-8 Descrizione Utilizzato ovunque (ad eccezione di Stati Uniti e Canada) per il commercio di prodotti al dettaglio. Si tratta del formato compresso di EAN-13 da utilizzare su quei prodotti che non dispongono dello spazio sufficiente per apporre l'etichetta. Set di caratteri Solo numeri (0-9) Lunghezza 7 (6 per i dati, 1 per la checksum) Riferimento codice a barre 246 Checksum Obbligatoria Tipi supportati Standard - LDD_BARCODE_EAN8 Standard + 2 cifre supplementari - LDD_BARCODE_EAN8_PLUS2 Standard + 5 cifre supplementari - LDD_BARCODE_EAN8_PLUS5 Nota Questo codice a barre è completamente conforme alla struttura definita nell'UCC. Per ottenere le specifiche più aggiornate di questo codice a barre, contattare l'UCC. BarcodeRead La checksum non verrà inclusa nei dati restituiti da questa azione. BarcodeWrite La checksum viene calcolata automaticamente e aggiunta al codice a barre. La lunghezza della stringa dati da codificare deve essere di 6 caratteri, senza calcolare la checksum. Riferimento codice a barre 247 EAN-13 Descrizione Utilizzato ovunque (ad eccezione di Stati Uniti e Canada) per il commercio di prodotti al dettaglio. Set di caratteri Solo numeri (0-9) Lunghezza 13 (12 per i dati, 1 per la checksum) Checksum Obbligatoria Tipi supportati Standard - LDD_BARCODE_EAN13 Standard + 2 cifre supplementari - LDD_BARCODE_EAN13_PLUS2 Standard + 5 cifre supplementari - LDD_BARCODE_EAN13_PLUS5 Nota Questo codice a barre è completamente conforme alla struttura definita nell'UCC. Per ottenere le specifiche più aggiornate di questo codice a barre, contattare l'UCC. BarcodeRead La checksum non verrà inclusa nei dati restituiti da questa azione. BarcodeWrite La checksum viene calcolata automaticamente e aggiunta al codice a barre. La lunghezza della stringa di dati da codificare deve essere di 12 caratteri, senza calcolare la checksum. ITF Descrizione Di norma, il codice a barre compatto viene utilizzato in applicazioni industriali e nei magazzini. Set di caratteri Solo numerico (0-9) Lunghezza Variabile Checksum Facoltativa (se si utilizza la checksum, è necessario codificare un numero pari di caratteri) Tipi supportati Senza checksum - LDD_BARCODE_ITF Con checksum - LDD_BARCODE_ITF_CHK Noto anche come Interleaved 2 di 5 BarcodeRead Se utilizzata, la checksum non sarà inclusa nei dati restituiti da questa azione. BarcodeWrite Se utilizzata, la checksum sarà calcolata automaticamente e aggiunta al codice a barre. Non calcolarla autonomamente. Tenere presente, inoltre, che durante l'utilizzo della checksum è necessario codificare un numero pari di caratteri. Riferimento codice a barre 248 Patch Descrizione Codici specializzati utilizzati per separare i processi di scansione batch. Set di caratteri N/D Lunghezza Variabile Checksum N/D Tipi supportati LDD_BARCODE_PATCH BarcodeWrite Non supportato da questa azione. PDF-417 Descrizione Codice a barre 2-D in grado di memorizzare una grande quantità di informazioni. Questo formato è utile specialmente in applicazioni di gestione dei flussi di lavoro, in cui una notevole quantità di informazioni deve essere trasferita insieme al documento. Set di caratteri Tutti i caratteri ASCII Lunghezza Variabile Checksum La correzione degli errori, incorporata nel formato, non richiede una checksum. Tipi supportati LDD_BARCODE_PDF417 Riferimento codice a barre 249 PostNet/Planet Descrizione Comunemente utilizzato negli uffici postali statali e in molte altre amministrazioni postali. Set di caratteri Numeri: 0-9 Lunghezza 5, 9 o 11, a seconda del sottotipo Checksum Obbligatoria Tipi supportati LDD_BARCODE_POSTNET5 - 5 cifre LDD_BARCODE_POSTNET9 - 9 cifre LDD_BARCODE_POSTNET11 - 11 cifre LDD_BARCODE_PLANET - 11 cifre BarcodeRead Per leggere, specificare solo LDD_BARCODE_POSTNET; non è necessario conoscere il sottotipo. I dati restituiti dall'azione includono la cifra della checksum. BarcodeWrite Indicare il sottotipo specifico, in modo da poter controllare il numero di cifre. Se si specifica LDD_BARCODE_POSTNET, è previsto il valore POSTNET11. La checksum viene calcolata automaticamente e aggiunta al codice a barre. Non includerla nei dati da codificare inoltrati a questa azione. UCC 128 Descrizione Versione avanzata del codice 128, sviluppata dall'UCC (Uniform Code Council), che consente alle aziende di scambiare i dati dei codici a barre in un formato comune. Set di caratteri ASCII 0 - ASCII 127 Lunghezza Variabile Checksum Obbligatoria Tipi supportati LDD_BARCODE_UCC128 Noto anche come EAN 128, UCC/EAN 128 Nota Questo codice a barre è completamente conforme alla struttura definita nell'UCC. Per ottenere le specifiche più aggiornate di questo codice a barre, contattare l'UCC. BarcodeRead La checksum non verrà inclusa nei dati restituiti da questa azione. BarcodeWrite La checksum viene calcolata automaticamente e aggiunta al codice a barre. Non includerla nei dati da codificare inoltrati a questa azione. Riferimento codice a barre 250 UPC-A Descrizione Utilizzato negli Stati Uniti e in Canada per il commercio di prodotti al dettaglio. Set di caratteri Solo numerico (0-9) Lunghezza 13 (12 per i dati, 1 per la checksum) Checksum Obbligatoria Tipi supportati LDD_BARCODE_UPCA Nota Questo codice a barre è completamente conforme alla struttura definita nell'UCC. Per ottenere le specifiche più aggiornate di questo codice a barre, contattare l'UCC. BarcodeRead La checksum non verrà inclusa nei dati restituiti da questa azione. BarcodeWrite La checksum viene calcolata automaticamente e aggiunta al codice a barre. La lunghezza della stringa di dati da codificare deve essere di 12 caratteri, senza calcolare la checksum. Riferimento codice a barre 251 UPC-E Descrizione Utilizzato negli Stati Uniti e in Canada per il commercio di prodotti al dettaglio. Si tratta del formato compresso di UPC-A, da utilizzare su quei prodotti che non dispongono dello spazio sufficiente per apporre l'etichetta. Set di caratteri Solo numerico (0-9) Lunghezza 7 (6 per i dati, 1 per la checksum) Checksum Obbligatoria Tipi supportati LDD_BARCODE_UPCE Nota Questo codice a barre è completamente conforme alla struttura definita nell'UCC. Per ottenere le specifiche più aggiornate di questo codice a barre, contattare l'UCC. BarcodeRead La checksum non verrà inclusa nei dati restituiti da questa azione. BarcodeWrite La checksum viene calcolata automaticamente e aggiunta al codice a barre. La lunghezza della stringa di dati da codificare deve essere di 6 caratteri, senza calcolare la checksum. Riferimento codice a barre 252 Riferimento metadati A partire da LDD 3.1, gli script hanno la priorità sulle funzioni standard di copia, fax ed e-mail sulle stampanti MFP con touch screen. In questo modo, l'interfaccia utente standard delle funzioni è visibile sul touch screen alla pressione del tasto di avvio anziché all'esecuzione del profilo LDD. Se lo script specifica che non è richiesto l'invio di un documento, la stampante MFP esegue la normale funzione di copia/fax/e-mail e invia le impostazioni utilizzate per completare l'operazione dopo aver sottoposto a scansione l'ultima pagina. Se lo script specifica la richiesta di un documento, i dati immagine e le impostazioni richieste dall'utente vengono inviate a Document Server. Per stabilire se la stampante MFP supporta la funzione di sostituzione, aggiungere la stampante MFP a Server Manager e visualizzare il blocco note MFP. Se viene visualizzata la scheda Schermata di benvenuto, la funzione di sostituzione è supportata. Di seguito viene riportato un elenco delle impostazioni inviate in base al tipo di funzione di sostituzione fornita. L'ultima sezione del presente riferimento illustra come accedere a tali impostazioni dall'interno dello script. Opzioni di scansione Le opzioni di scansione vengono inviate insieme a ciascun processo e utilizzate per effettuare la scansione del documento ma non per indicare le operazioni ad esso relative. Tali impostazioni vengono inviate in aggiunta a quelle disponibili con ciascuna funzione di sostituzione. Per accedere a ciascuna impostazione: scanOptions.settingName Impostazioni Valori validi nUpBorder true Ulteriori informazioni false n-Up 1-Up 2-Up Portrait 2-Up Landscape 4-Up Portrait 4-Up Landscape marginShift real Pollici di cui deve essere spostato il margine sinistro. xScale real Percentuale di variazione in scala della dimensione X. yScale real Percentuale di variazione in scala della dimensione Y. Riferimento metadati 253 Impostazioni Valori validi Ulteriori informazioni edgeErase.topMargin real Pollici da cancellare dal margine superiore. edgeErase.bottomMargin real Pollici da cancellare dal margine inferiore. edgeErase.rightMargin real Pollici da cancellare dal margine destro. edgeErase.leftMargin real Pollici da cancellare dal margine sinistro. bookOriginal 0 0 = attivo; 1 = disattivo. 1 bookWidth int Valido solo se bookOriginal = 1; larghezza in millimetri. bookHeight int Valido solo se bookOriginal = 1; altezza in millimetri. bookGutter int Valido solo se bookOriginal = 1; margine interno in millimetri. contentType Text Combo Photo darkness Valori da 1 a 9 depth 1 1 = Bianco e Nero 8 8 = Scala di grigi a 8 bit 24 24 = Colore a 24 bit duplex Simplex Long Edge Bound Short Edge Bound Riferimento metadati 254 Impostazioni Valori validi Ulteriori informazioni mediaSize Unknown Dimensioni carta del documento sottoposto a scansione. Letter US A4 INTERNATIONAL Universal No Size Feeder Executive Letter Legal Tabloid A3 A4 A5 B4 JIS B4 B5 JIS B5 Folio Statement AutoSize Mixed orientation Landscape Portrait resolution 600 La risoluzione di scansione di un processo di sostituzione è sempre 600 dpi. Le seguenti opzioni di scansione sono presenti solo se il profilo specifica che non è necessario inviare alcun documento: Impostazioni Valori validi Ulteriori informazioni pagesScanned int Numero di pagine sottoposte a scansione. scanCanceled true Indica se il processo di scansione è stato annullato prima del completamento. false Riferimento metadati 255 Opzioni di copia Le opzioni di copia vengono inviate quando la funzione Copia viene ignorata. Per accedere a ciascuna impostazione: copyOptions.settingName Impostazioni Valori validi Ulteriori informazioni outputBin Valori da 0 a 20 0 = raccoglitore standard; 1 - 20 = raccoglitore X. holePunch true Indica se si desidera che la copia di output sia perforata. false booklet true false orientation Landscape Portrait mediaSource MPFEEDER MANUAL Indica se si desidera che la copia di output sia in formato opuscolo. Indica l'orientamento richiesto per la copia di output. Indica l'origine carta da cui prelevare la carta quando si effettua la copia. TRAY1 TRAY2 TRAY3 TRAY4 TRAY5 numberOfCopies int Un numero intero che indica il numero di copie da effettuare. messageOverlay None Indica se si desidera sovrapporre un messaggio sulla copia di output. Urgent Confidential Copy Draft staple None Top Left Portrait Indica se si desidera che la copia di output sia spillata con graffette. Double Left Portrait Top Left Landscape Riferimento metadati 256 Impostazioni Valori validi Ulteriori informazioni mediaSize Unknown Indica le dimensioni carta che l'utente desidera utilizzare per le copie. Letter US A4 INTERNATIONAL Universal No Size Feeder Executive Letter Legal Tabloid A3 A4 A5 B4 JIS B4 B5 JIS B5 Folio Statement AutoSize Mixed duplex Simplex Indica se si desiderano copie stampate fronte/retro. Long Edge Bound Short Edge Bound collate true Indica se si desiderano copie fascicolate. false dateTimeStamp true false Indica se si desidera che un indicatore di data e ora sia aggiunto alla copia di output. Riferimento metadati 257 Impostazioni Valori validi Ulteriori informazioni mediaType NORMAL Il tipo di carta utilizzata per la copia di output. TRANSPARENCY CARDSTOCK LETTERHEAD ROUGH LABELS BOND PREPRINTED COLOR COATED GLOSSY PHOTO CUSTOM1 CUSTOM2 CUSTOM3 CUSTOM4 CUSTOM5 CUSTOM6 separatorSheets true false outputBin Valori da 0 a 20 Indica se si desidera inserire fogli separatori tra le copie. 0 = raccoglitore standard; 1 - 20 = raccoglitore X. Riferimento metadati 258 Opzioni fax Le opzioni fax vengono inviate quando la relativa funzione viene ignorata. Per accedere a ciascuna impostazione: faxOptions.settingName Impostazioni Valori validi Ulteriori informazioni destinations.num<n> string Il numero fax da utilizzare. È possibile specificare più numeri, restituiti nel formato destinations.num0, destinations.num1 e così via. resolution Standard Fine Super Fine Ultra Fine time int Posticipa l'invio del fax all'ora specificata. Il valore 0 implica l'invio immediato. Diversamente, il valore indica il tempo di ritardo nell'invio meno il numero di secondi a partire dal 1° gennaio 1970, 00:00:00 GMT. coverPageToField string Il valore del campo To da utilizzare nella pagina iniziale. coverPageFromField string Il valore del campo From da utilizzare nella pagina iniziale. stationName string Il nome della stazione fax. stationNumber string Il numero di telefono della stazione fax. faxMode analog Indica se la stampante MFP è configurata per l'invio del fax al server fax tramite una linea analogica o un'e-mail. faxServer Se faxMode è uguale a faxServer, verranno incluse le seguenti opzioni fax: Impostazioni Valori validi Ulteriori informazioni fileFormat PDF Il formato del file in cui l'immagine viene inviata al server fax. JPEG TIFF PS message string Il corpo del messaggio dell'e-mail inviata al server fax. replyAddress string L'indirizzo di risposta fornito con l'e-mail inviata al server fax. Riferimento metadati 259 Impostazioni Valori validi Ulteriori informazioni subject string L'oggetto dell'e-mail inviata al server fax. toField string Il formato del campo To inviato come parte dell'e-mail al server fax. La posizione in cui deve essere inserito il numero di telefono è indicata dal simbolo [#]. Tale valore deve essere ricercato nel campo To e sostituito con ciascuna destinazione. Opzioni e-mail/FTP Le opzioni e-mail vengono inviate quando la relativa funzione viene ignorata e viene selezionata una destinazione e-mail. Per accedere a ciascuna impostazione: emailOptions.settingName Impostazioni Valori validi Ulteriori informazioni destinations.num<n> string L'indirizzo e-mail da utilizzare. È possibile specificare più indirizzi, restituiti nel formato destinations.num0, destinations.num1 e così via. documentFormat.type PDF Il formato del file in cui deve essere inviato l'allegato e-mail. JPEG TIFF PS from string L'indirizzo del destinatario dell'e-mail. subject string L'oggetto dell'e-mail. message string Il messaggio dell'e-mail. primarySMTPGateway string L'indirizzo IP del server SMTP principale. primarySMTPPort int La porta IP utilizzata dal server SMTP principale. secondarySMTPGateway string L'indirizzo IP del server SMTP secondario. secondarySMTPPort int La porta IP utilizzata dal server SMTP secondario. SMTPTimeout int Timeout in secondi. Le opzioni FTP vengono inviate quando la funzione e-mail viene ignorata e viene selezionata una destinazione FTP. Per accedere a ciascuna impostazione: ftpOptions.settingName Impostazioni Valori validi Ulteriori informazioni ftpDestination.logonID string ID utente utilizzato per accedere al server FTP. ftpDestination.password string Password utilizzata per accedere al server FTP. Riferimento metadati 260 Impostazioni Valori validi Ulteriori informazioni ftpDestination.ftpServer string L'indirizzo IP del server FTP. ftpDestination.ftpPort int La porta IP utilizzata dal server FTP. ftpDestination.filePath string Il percorso del file sul server FTP. ftpDestination.documentFormat.type PDF Il formato in cui deve essere salvato il file sul server FTP. JPEG TIFF PS Accesso ai dati di sostituzione in uno script Dopo aver inoltrato le informazioni di sostituzione a uno script LDD, è possibile accedervi tramite la proprietà original.metadata. Tale proprietà è relativa alla mappa tipo di dati. Una mappa è composta da categorie, ognuna delle quali può contenere sottocategorie e/o coppie chiave/valore. Con le impostazioni sopra elencate, qualsiasi parola seguita da un punto (".") è considerata una categoria. Ad esempio, per accedere al numero di copie richieste dall'utente finale: map copyopts = original.metadata.GetCategory("copyOptions") int numcopies = copyopts.GetValue("numberOfCopies").AsInt() In seguito, determinare il numero di pagine usate per copiare il documento purché la stampa sia su un solo lato e non sia N in 1: map scanopts = original.metadata.GetCategory("scanOptions") int numpages = scanopts.GetValue("pagesScanned").AsInt() int totalpages = numcopies * numpages Per accedere ai numeri di fax: map faxopts = original.metadata.GetCategory("faxOptions") map dests = faxopts.GetCategory("destinations") stringarray nums = dests.GetKeyList() string num int i loop (i from 1 to nums.GetSize()) num = dests.GetValue(nums[i]) endloop Riferimento metadati 261 Lexmark e Lexmark con il simbolo del diamante sono marchi di Lexmark International, Inc., registrati negli Stati Uniti e/o in altri Paesi. © 2003 Lexmark International, Inc. 740 West New Circle Road Lexington, Kentucky 40550 www.lexmark.com