Document Distributor Esempi di script Per visualizzare o scaricare questa o 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 a tutti i 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, MA 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, perciò la presente dichiarazione potrebbe anche non essere valida. La presente pubblicazione potrebbe includere 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. È possibile utilizzare qualsiasi prodotto, programma o servizio equivalente che non violi i diritti di proprietà intellettuale. 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 correlata forniti nel rispetto del presente contratto sono software commerciale e documentazione sviluppati esclusivamente con fondi privati. Sommario Capitolo 1: Introduzione ............................................................... 1 Capitolo 2: Script Document Distributor ..................................... 2 Esempio 1: Salvataggio in un file ............................................................. 2 Esempio 2: Stampa di un documento ....................................................... 3 Esempio 3: Prompt e invio di una e-mail .................................................. 5 Esempio 4: Memorizzazione di dati in un database ................................. 8 Esempio 5: Separazione delle pagine mediante i codici a barre ............ 12 Esempio 6: Prompt avanzati I ................................................................. 15 Esempio 7: Prompt avanzati II ................................................................ 19 Capitolo 3: Script Document Producer ..................................... 23 Esempio 8: Unione di dati e stampa di un modulo ................................. 23 Esempio 9: Unione di dati e invio di un modulo tramite fax .................... 25 Capitolo 4: Script Document Portal ........................................... 27 Esempio 10: Stampa di un modulo vuoto ............................................... 27 Esempio 11: Prompt e stampa di un modulo vuoto ................................ 29 Appendice A: Configurazione ODBC .......................................... 31 Appendice B: Configurazione di un formset ............................. 32 iii 1 Introduzione Il presente manuale riporta esempi di costrutti e oggetti che definiscono il linguaggio script utilizzato dalla suite Document Solutions di Lexmark. Questi esempi sono suddivisi in tre capitoli; ciascun capitolo illustra una delle applicazioni della suite. È possibile consultare tutti gli esempi oppure solo quelli relativi all'applicazione di cui si dispone. Tutti gli esempi riportati in questo manuale sono inclusi nel software Workflow Composer. Si consiglia di accedere a Workflow Composer e Server Manager o Document Portal Admin per poter lavorare con gli script man mano che si procede con la consultazione del manuale. Quando si caricano gli script in Document Server, viene richiesto di immettere le informazioni relative all'ambiente necessarie per l'esecuzione degli script. Ad esempio, quando è necessario specificare l'indirizzo IP del server SMTP, lo script indica "local.mailserver". Questa parte dello script verrà sostituita dal valore specificato. Introduzione 1 2 Script Document Distributor Esempio 1: Salvataggio in un file Panoramica: Salvare in un file il documento acquisito tramite scanner. Dettagli: Un dipendente deve acquisire tramite scanner delle fatture su una stampante MFP e memorizzarle nel file system locale. Script: with SaveToFile .input=original.document .Path="c:\lexmark\invoice.tif" .AppendTimestamp=TRUE .CreateDirectory=TRUE .Go() endwith Per eseguire questo script: 1 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 2 Utilizzando Server Manager, creare un profilo su una stampante MFP. Nota: Impostando AppendTimestamp su TRUE, il nome di ciascun file salvato sarà univoco. Il nome del file generato sarà: c:\lexmark\invoice_MON_DD_YYYY_HH_MM_SS_MS.tif È importante notare che per l'intero script viene utilizzato lo stesso indicatore di data e ora; quindi, utilizzando più volte SaveToFile durante l'esecuzione dello stesso script, viene applicato lo stesso indicatore di data e ora. Se necessario, l'indicatore di data e ora può essere creato manualmente utilizzando la proprietà usertime dell'oggetto originale e associandovi un valore univoco. Per i dettagli, vedere l'Esempio 5: Separazione delle pagine mediante i codici a barre. Impostando la proprietà CreateDirectory su TRUE, verranno create tutte le directory inesistenti nel percorso. Ciò è particolarmente utile nel caso in cui l'indicatore di data e ora faccia parte del nome della directory. Script Document Distributor 2 Esempio 2: Stampa di un documento Panoramica: Stampare un documento acquisito tramite scanner su un'altra stampante. Dettagli: Un dipendente deve inviare un fax interno, vale a dire da una sede a un'altra dell'azienda. Dato che esiste una rete LAN aziendale e che in tutte le sedi sono presenti delle stampanti, utilizzando questo script è possibile stampare direttamente su una delle stampanti invece di inviare un fax. In questo modo, si ottiene un output dalla qualità elevata e si riducono i costi telefonici. Inoltre, alla stampa viene aggiunto un indicatore di data e ora in modo analogo a un fax. Script: 1 Usare il metodo separato per dividere il valore usertime in parti singole. Quindi, creare la stringa di informazioni da includere in ciascuna pagina della stampa. Il formato della stringa è "Inviato da IP address il giorno date alle ore time" stringarray time = original.usertime.Separate("_") string stamp = "Inviato da " + original.userip stamp.Concatenate(" il giorno " + time[2] + " " + time[3] + " " + time[4]) stamp.Concatenate(" alle ore " + time[5] + ":" + time[6]) 2 Usare l'azione ImageText per aggiungere le informazioni relative a data e ora nell'angolo inferiore destro di tutte le pagine inviate. with ImageText .input=original.document .Orientation=LDD_ORIENTATION_PORTRAIT .Text=stamp .Direction=LDD_IMGTEXTDIR_HORIZONTAL .Font=LDD_IMGTEXTFONT_ARIAL .Color=LDD_IMGTEXTCOLOR_BLACK .Position=LDD_IMGTEXTPOS_BOTTOMRIGHT .AllPages=TRUE .Size=10 .Bold=TRUE .Italic=TRUE .Underline=FALSE .Go() endwith 3 Usare l'azione ConvertToDocument per convertire l'immagine TIFF in PostScript per poterla stampare. Notare che l'output dell'azione ImageText viene utilizzato per aggiungere le informazioni relative a data e ora all'immagine TIFF. with ConvertToDocument .input=ImageText.output .Format=LDD_DOCFORMAT_PS .AllPages=TRUE .PaperSize=LDD_PAPERSIZE_LETTER .Orientation=LDD_ORIENTATION_AUTO .Go() endwith Script Document Distributor 3 4 Usare l'azione PrintJob per inviare il file PostScript alla stampante specificata. Se la stampante dispone di un'opzione ImageQuick, è possibile inviare il file TIFF direttamente alla stampante senza convertirlo in PostScript. È stata definita un'impostazione locale denominata printerip e un gruppo "Type" equivalente a "Text" da utilizzare con la proprietà .IPAddress dell'azione PrintJob. Per ulteriori informazioni, consultare la sezione "Impostazioni locali" nella Guida dell'applicazione Workflow Composer. with PrintJob .input=ConvertToDocument.output .IPAddress=local.printerip .Copies=1 .SetWaitTimeout(FALSE) .PaperSource=LDD_PRINTER_DEFAULT .PaperSize=LDD_PRINTER_DEFAULT .OutputBin=LDD_PRINTER_DEFAULT .Duplex=LDD_DUPLEX_OFF .Orientation=LDD_PRINTER_DEFAULT .Nup=LDD_NUP_OFF .Collate=FALSE .Staple=FALSE .HolePunch=FALSE .TonerSaver=FALSE .SetConfidentialPrint(FALSE) .Go() endwith Per eseguire questo script: 1 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 2 Configurare l'indirizzo IP della stampante mediante le impostazioni locali. 3 Creare un profilo su una stampante MFP. Script Document Distributor 4 Esempio 3: Prompt e invio di una e-mail Panoramica: Acquisire otticamente un documento ed inviarlo all'utente tramite e-mail. Dettagli: Un'azienda desidera semplificare l'attività di acquisizione ottica dei documenti cartacei senza dover installare il software OCR sui computer aziendali. Questo script consente di richiedere all'utente l'indirizzo e-mail e se desidera il documento in formato RTF (utilizzato dalla maggior parte degli elaboratori di testo) o PDF. Lo script converte il documento e lo invia all'utente tramite e-mail. Script: 1 Questo script consente di richiedere all'utente finale alcune informazioni; è necessario impostare alcuni prompt. Il primo prompt richiede di specificare un indirizzo e-mail, Il secondo prompt è costituito da un elenco che consente di selezionare il formato del file. stringprompt email email.SetPromptText("Immettere l'indirizzo e-mail") stringprompt format with format .SetPromptText("Selezionare il formato del file") .AddPromptOption("RTF") .AddPromptOption("PDF") endwith 2 Una volta configurato il blocco dei prompt, questi vengono utilizzati per richiedere informazioni. Quando viene selezionato questo script, questa parte viene eseguita prima dell'acquisizione tramite scanner. Dato che le informazioni fornite non vengono verificate e che non influiscono sui prompt successivi, è possibile richiedere le informazioni in un unico passo. prompt step "prompts" ask(email) ask(format) laststep endprompt 3 Una volta specificate le informazioni, il documento viene acquisito tramite scanner e inviato come tutti gli altri processi non contenenti prompt. A questo punto, quando il processo viene riavviato, riprende l'esecuzione dello script. Script Document Distributor 5 4 Osservare il formato specificato e convertire il documento di input nel formato PDF o RTF. L'output viene memorizzato nella variabile ocr in modo che possa essere utilizzato per inviare l'e-mail. doc ocr if (format == "PDF") with ImageToPDF .input=original.document .Language=LDD_LANG_ENGLISH .TextType=LDD_TEXTTYPE_NORMAL .Format=LDD_PDFFORMAT_IMAGEONTEXT .PictureResolution=300 .PictureQuality=75 .AllPages=TRUE .Go() ocr = .output endwith else with ImageToRTF .input=original.document .Language=LDD_LANG_ENGLISH .TextType=LDD_TEXTTYPE_NORMAL .PaperSize=LDD_PAPERSIZE_LETTER .KeepColor=TRUE .KeepPictures=TRUE .AllPages=TRUE .Go() ocr = .output endwith endif 5 A questo punto, viene utilizzata l'azione EmailSMTP per inviare l'e-mail a cui è allegato il documento acquisito otticamente. L'indirizzo e-mail utilizzato è quello specificato dall'utente finale quando è stato inviato il processo. L'indirizzo IP del server SMTP è stato definito come impostazione locale; quando lo script viene caricato sul server, Server Manager richiede il valore da utilizzare per questa proprietà. with EmailSMTP .Server=local.emailserver .To=email .From=email .Subject="Documento acquisito" .Message="Il documento acquisito è stato allegato nel formato"_ "specificato". .CharacterSet=LDD_SMTPCHARSET_US .Attachments=ocr .Go() endwith Script Document Distributor 6 Per eseguire questo script: 1 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 2 Configurare l'indirizzo del server SMTP mediante le impostazioni locali. 3 Per utilizzare questo script su una stampante MFP, è necessario un touch screen. In caso contrario, utilizzare Select'N'Send oppure Print'N'Send. Se si dispone di un touch screen, creare un profilo utilizzando un file TIFF con risoluzione 300 dpi e tonalità 4. In questo modo, l'acquisizione ottica garantirà risultati ottimali. Nota: È possibile sostituire l'azione EmailSMTP con oggetti specifici supportati da GroupWare, ad esempio Lotus Notes (EmailNotes), Microsoft Exchange (EmailExchange) e Novell GroupWise (GWMail). Il maggiore vantaggio derivante dall'impiego di questi oggetti è che lo script può utilizzare la rubrica e le funzioni specifiche di GroupWare; tuttavia, per utilizzare questi oggetti è necessario soddisfare ulteriori requisiti di configurazione. Nella maggior parte dei casi, è possibile configurare i server GroupWare in modo da accettare messaggi di posta SMTP. Se per lo script non sono necessarie funzioni specifiche, dovrebbe essere sufficiente l'azione più generica, ovvero EmailSMTP. Script Document Distributor 7 Esempio 4: Memorizzazione di dati in un database Panoramica: Memorizzare in un database il documento acquisito tramite scanner. Dettagli: La divisione Risorse umane di un'azienda è responsabile della gestione di tutti i curricola. Questo script consente di memorizzare il curriculum in un database. Inoltre, il curriculum viene convertito in un documento di testo che verrà memorizzato nel database. In tal modo, è possibile effettuare ricerche nei documenti di testo memorizzati nel database utilizzando determinate parole chiave e ottenere un elenco di tutti i curricola individuati. Dato che nel database è presente anche il curriculum, è possibile visualizzarlo, stamparlo o inviarlo a un'altra divisione. • Lo script 4A è destinato ai database che utilizzano oggetti binari di grandi dimensioni (BLOB). I BLOB vengono utilizzati dai database che consentono la memorizzazione di file, ad esempio Oracle, Microsoft SQL Server e IBM DB2. • Lo script 4B è destinato ai database che, come Microsoft Access, non supportano i BLOB. Per eseguire la stessa funzione, è necessario salvare il documento nel file system locale. L'ubicazione del file viene quindi salvata nel database in modo da poter essere recuperata in seguito. Script 4A: 1 Convertire il documento in testo; questo testo verrà memorizzato nel database e associato al curriculum corrispondente per potervi effettuare delle ricerche. with ImageToText .input=original.document .Language=LDD_LANG_ENGLISH .TextType=LDD_TEXTTYPE_NORMAL .OneLine=TRUE .SeparateParagraphs=TRUE .PageBreaks=FALSE .AppendEOF=FALSE .AllPages=TRUE .Go() endwith 2 Utilizzando l'oggetto textfile, leggere il testo generato dall'azione ImageToText e memorizzarlo in una stringa. textfile tf string ocrText tf.Open(ImageToText.output) ocrText = tf.Read(tf.Size()) tf.Close() Script Document Distributor 8 3 Inserire il curriculum e il testo corrispondente nel database per poterli recuperare in seguito. Le proprietà relative ai dati del database vengono configurate mediante le impostazioni locali quando lo script viene caricato sul server. with ODBCWrite .DataSource=local.DataSource .TableName=local.TableName .LogonName=local.LogonName .LogonPassword=local.LogonPassword .AssignValue("ScanDate","") .AssignValue("OCRText",ocrText) .AssignValue("Resume",original.document) .Go() endwith Per eseguire questo script: 1 Sul server, configurare il database che si desidera utilizzare. I file LDDOracleTable.sql e LDDSQLServerTable.sql consentono di creare le tabelle di esempio in Oracle e Microsoft SQL Server. Questi file si trovano nella directory degli esempi di script installata con Workflow Composer. Dopo aver impostato il database, configurare la connessione ODBC. Per ulteriori informazioni, vedere l'Appendice A: Configurazione ODBC. 2 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 3 Configurare i dati di connessione ODBC mediante le impostazioni locali. 4 Creare un profilo su una stampante MFP. Script Document Distributor 9 Script 4B: 1 Convertire il documento in testo; questo testo verrà memorizzato nel database e associato al curriculum corrispondente per potervi effettuare delle ricerche. with ImageToText .input=original.document .Language=LDD_LANG_ENGLISH .TextType=LDD_TEXTTYPE_NORMAL .OneLine=TRUE .SeparateParagraphs=TRUE .PageBreaks=FALSE .AppendEOF=FALSE .AllPages=TRUE .Go() endwith 2 Utilizzando l'oggetto textfile, leggere il testo generato dall'azione ImageToText e memorizzarlo in una stringa. textfile tf string ocrText tf.Open(ImageToText.output) ocrText = tf.Read(tf.Size()) tf.Close() 3 Impostare il percorso in cui salvare il file. Il file verrà salvato nel file system locale in una directory denominata c:\lexmark. Il nome del file è resume_timestamp.tif. string filepath = "c:\lexmark\resume" + original.usertime + ".tif" 4 Dato che il documento non può essere inserito nel database, salvarlo nel file system locale. AppendTimestamp è impostato su FALSE perché nel passo precedente è stato aggiunto manualmente l'indicatore di data e ora. CreateDirectory è impostato su TRUE; quindi, se il percorso c:\lexmark non esiste, verrà creato. with SaveToFile .input=original.document .AppendTimestamp=FALSE .Overwrite=FALSE .Path=filepath .CreateDirectory=TRUE .Go() endwith Script Document Distributor 10 5 Inserire il nome del file e il testo corrispondente nel database per poterli recuperare in seguito. Le proprietà relative ai dati del database vengono configurate mediante le impostazioni locali quando lo script viene caricato sul server. with ODBCWrite .DataSource=local.DataSource .TableName=local.TableName .LogonName=local.LogonName .LogonPassword=local.LogonPassword .AssignValue("ScanDate","") .AssignValue("OCRText",ocrText) .AssignValue("ResumeFile",filepath) .Go() endwith Per eseguire questo script: 1 Sul server, configurare il database che si desidera utilizzare. In questo esempio, verrà utilizzato il database Microsoft Access fornito, resumes.mdb. Questo file si trova nella directory degli esempi di script installata con Workflow Composer. Dopo aver configurato il database o dopo aver selezionato quello fornito, configurare la connessione ODBC. Per ulteriori informazioni, vedere l'Appendice A. 2 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 3 Configurare i dati di connessione ODBC mediante le impostazioni locali. 4 Creare un profilo su una stampante MFP. Script Document Distributor 11 Esempio 5: Separazione delle pagine mediante i codici a barre Panoramica: Utilizzare una pagina separatrice con codice a barre per dividere i processi di grandi dimensioni in file separati. Dettagli: Un dipendente deve acquisire tramite scanner ed elaborare diversi gruppi di documenti. Ciascun gruppo può essere acquisito separatamente, ma è più semplice (e auspicabile) acquisirli tutti in un'unica operazione. A tal fine, è possibile utilizzare una pagina separatrice con codice a barre per indicare l'inizio di un nuovo gruppo. Utilizzando la pagina separatrice, ciascun gruppo potrà contenere qualunque numero di pagine. Questo script ricerca i codici a barre in tutte le pagine del documento acquisito contrassegnando la fine del gruppo precedente, che viene salvato in un file, e l'inizio di un nuovo gruppo ogni volta che rileva un codice a barre. Script: 1 Dichiarare tutte le variabili utilizzate in questo script. doc separated int i, startpage, lastpage bool found string fullpath, bcode 2 Separare il documento acquisito tramite scanner in modo che ciascuna pagina si trovi nel file corrispondente. In questo modo, ogni serie di pagine appartenente a un gruppo potrà essere combinata in un unico file. with ImageSeparate .input=original.document .AllPages=TRUE .Go() separated =.output endwith 3 Utilizzare la variabile startpage per indicare la prima pagina del gruppo corrente. Impostare la prima pagina del gruppo acquisito. startpage = 1 4 Ripetere l'operazione per tutte le pagine inviate. loop i from 1 to separated.GetNumberFiles() 5 La variabile found indica che un nuovo gruppo di pagine è pronto per il salvataggio. Reimpostarla prima di elaborare ogni pagina. found = false Script Document Distributor 12 6 Utilizzare l'azione BarcodeRead per determinare la presenza di un codice a barre sulla pagina corrente. with BarcodeRead .Reset() .Input=separated.GetFile(i) .Type=LDD_BARCODE_CODE128 .Direction=LDD_BCDIR_HORIZ .Quality=LDD_BCQUALITY_GOOD .Fixed=FALSE .Validate=TRUE .Length=0 .PageNumber=1 .WholePage=TRUE .Go() bcode = .Results endwith 7 In questo esempio (e nel file di esempio fornito), il codice a barre è la parola "BREAK". Controllare se questo codice a barre è stato individuato nella pagina corrente. if (bcode.Contains("BREAK")) then 8 È stato rilevato un codice a barre. Se la prima pagina corrisponde a quella corrente (ad esempio, startpage è uguale a 1 e la prima pagina del documento acquisito è una pagina separatrice), non è necessario salvare alcuna pagina. In questo caso, la prima pagina impostata per il gruppo successivo è la pagina successiva. In altre parole, l'ultima pagina impostata per il gruppo corrente è la pagina precedente (non impostare questa pagina, altrimenti verrà salvata anche la pagina separatrice). Impostare il flag found in modo che indichi la presenza di un gruppo di pagine da salvare. if (startpage == i) startpage = i + 1 else lastpage = i - 1 found = true endif 9 Non è stato rilevato alcun codice a barre. Controllare se questa è l'ultima pagina del documento. In tal caso, deve essere l'ultima pagina del gruppo corrente. Impostare lastpage sulla pagina corrente e il flag found in modo che indichi la presenza di un gruppo di pagine da salvare. else if (i == separated.GetNumberFiles()) then lastpage = i found = true endif endif 10 Se è stato rilevato un nuovo gruppo di pagine, è necessario salvarle. if (found == true) then Script Document Distributor 13 11 Utilizzare l'azione ImageCombine per combinare il gruppo di pagine in un unico documento. with ImageCombine .input=separated.GetFileRange(startpage, lastpage) .Format=LDD_IMGFORMAT_TIFG4 .ColorDepth=LDD_IMGDEPTH_BW .Go() endwith 12 Determinare il nome del file da utilizzare per salvare il nuovo documento. I gruppi di pagine vengono salvati nella directory c:\lexmark. Il nome del file è set_timestamp_page.tif. Dato che tutti i file salvati in un processo riportano lo stesso indicatore di data e ora, viene aggiunto il numero dell'ultima pagina del gruppo per ottenere un nome univoco per il file. fullpath = "c:\lexmark\set" + original.usertime + "_" + _ lastpage.AsString() + ".tif" 13 Salvare il nuovo documento su disco. AppendTimestamp è impostato su FALSE poiché nel passo precedente è stato aggiunto manualmente l'indicatore di data e ora. CreateDirectory è impostato su TRUE; quindi, se la directory c:\lexmark non esiste, verrà creata. with SaveToFile .input = ImageCombine.output .Path=fullpath .AppendTimestamp=FALSE .Overwrite=FALSE .Go() endwith 14 Il gruppo corrente è stato salvato. Impostare la prima pagina del gruppo successivo in modo che corrisponda alla pagina successiva del documento. Non impostarla sulla pagina corrente; in caso contrario, il gruppo successivo includerà la pagina separatrice nel documento salvato. startpage = i + 1; endif endloop Per eseguire questo script: 1 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 2 Creare un profilo su una stampante MFP utilizzando un file TIFF con risoluzione 300 dpi e tonalità 3 o 4. 3 Il file, fullset.tif, si trova nella directory degli esempi di script installata con Workflow Composer. Questo file può essere stampato e acquisito oppure inviato mediante Select'N'Send. Quando lo si utilizza insieme a questo script, genera tre file separati rispettivamente di 3, 2 e 4 pagine. Script Document Distributor 14 Esempio 6: Prompt avanzati I Panoramica: Utilizzare le informazioni ottenute mediante i prompt per determinare il prompt successivo. Dettagli: Questo script consente di acquisire un documento tramite scanner e di inviarne l'originale o una versione modificabile tramite e-mail. Si tratta di un'estensione dello script riportato nell'Esempio 3: Prompt e invio di una e-mail. Verrà richiesto di specificare l'indirizzo e-mail a cui inviare il documento, quindi se si desidera acquisirlo otticamente. A seconda dell'informazione fornita, il prompt successivo riguarderà il formato appropriato. Sebbene si tratti di uno script semplice, mostra l'importanza dei prompt e delle informazioni fornite nella definizione dei prompt successivi. Script: 1 Questo script consente di richiedere all'utente finale alcune informazioni; a tal fine, è necessario configurare alcuni prompt. Il primo prompt richiede di specificare un indirizzo e-mail, mentre il secondo richiede un valore booleano utilizzato per acquisire otticamente il documento; in caso contrario, il documento verrà inviato come immagine. stringprompt email email.SetPromptText("Indirizzo e-mail a cui inviare il documento") boolprompt ocr ocr.SetPromptText("Fare clic per acquisire otticamente il documento.") 2 Se si seleziona l'acquisizione ottica, viene utilizzato questo prompt. Si tratta di un elenco a selezione singola che consente di scegliere il formato del documento da acquisire otticamente. stringprompt ocrformat with ocrformat .SetPromptText("Selezionare il formato OCR") .AddPromptOption("RTF") .AddPromptOption("PDF (con possibilità di effettuare ricerche)") endwith 3 Se non si seleziona l'acquisizione ottica, viene utilizzato questo prompt. Si tratta di un elenco a selezione singola che consente di scegliere il formato del documento immagine. stringprompt imgformat with imgformat .SetPromptText("Selezionare il formato immagine") .AddPromptOption("TIFF") .AddPromptOption("PDF (senza possibilità di effettuare ricerche)") endwith 4 Una volta configurato il blocco dei prompt, questi vengono utilizzati per richiedere informazioni. Quando viene selezionato questo script, la parte relativa ai prompt viene eseguita prima dell'acquisizione tramite scanner. Dato che le informazioni fornite vengono utilizzate per formulare i prompt successivi, l'operazione prevede più passi. prompt Script Document Distributor 15 5 Questo passo comprende due prompt: il primo richiede l'indirizzo e-mail, il secondo se si desidera acquisire otticamente il documento. Entrambi i prompt vengono inviati in un solo passo perché non interferiscono fra loro. Una volta inviato il prompt relativo all'acquisizione ottica, viene verificato il valore di ritorno. Se viene selezionata l'acquisizione ottica, il prompt successivo è oformat; in caso contrario, il passo successivo è iformat. Ogni passo deve includere l'istruzione nextstep o laststep. step "email" ask(email) ask(ocr) if (ocr == TRUE) nextstep "oformat" else nextstep "iformat" endif 6 Questo passo viene utilizzato quando si seleziona l'acquisizione ottica. Viene richiesto di selezionare il formato del documento da acquisire otticamente. Questo è l'ultimo prompt di questa procedura, quindi viene utilizzata l'istruzione laststep. step "oformat" ask(ocrformat) laststep 7 Questo passo viene utilizzato quando non si seleziona l'acquisizione ottica. Viene richiesto di selezionare il formato del documento immagine. Questo è l'ultimo prompt di questa procedura, quindi viene utilizzata l'istruzione laststep. step "iformat" ask(imgformat) laststep endprompt 8 Una volta specificate le informazioni, il documento viene acquisito tramite scanner e inviato come tutti gli altri processi non contenenti prompt. A questo punto, quando il processo viene riavviato, riprende l'esecuzione dello script. Verificare il prompt ocr per controllare se l'utente desidera acquisire otticamente il documento. doc attach if (ocr == TRUE) Script Document Distributor 16 9 L'utente desidera acquisire otticamente il documento; verificare il formato desiderato ed eseguire la conversione. Memorizzare l'output della conversione nella variabile attach. if (ocrformat == "RTF") with ImageToRTF .input=original.document .Language=LDD_LANG_ENGLISH .TextType=LDD_TEXTTYPE_NORMAL .PaperSize=LDD_PAPERSIZE_LETTER .KeepColor=TRUE .KeepPictures=TRUE .AllPages=TRUE .Go() attach =.output endwith else with ImageToPDF .input=original.document .Language=LDD_LANG_ENGLISH .TextType=LDD_TEXTTYPE_NORMAL .Format=LDD_PDFFORMAT_IMAGEONTEXT .PictureResolution=72 .PictureQuality=50 .AllPages=TRUE .Go() attach =.output endwith endif 10 L'utente non desidera acquisire otticamente il documento; verificare il formato immagine desiderato ed eseguire la conversione, se necessario. Dato che il documento è stato acquisito come TIFF, non è necessaria alcuna conversione se si sceglie tale formato. Memorizzare l'output della conversione nella variabile attach. else if (imgformat == "TIFF") attach = original.document else with ConvertToDocument .input=original.document .Format=LDD_DOCFORMAT_PDF .AllPages=TRUE .PaperSize=LDD_PAPERSIZE_LETTER .Orientation=LDD_ORIENTATION_AUTO .Go() attach =.output endwith endif endif Script Document Distributor 17 11 A questo punto, viene utilizzata l'azione EmailSMTP per inviare l'e-mail a cui è allegato l'output selezionato. L'indirizzo e-mail utilizzato è quello specificato dall'utente finale quando è stato inviato il processo. L'indirizzo IP del server SMTP è stato definito come impostazione locale; quando lo script viene caricato sul server, Server Manager richiede il valore da utilizzare per questa proprietà. with EmailSMTP .Server=local.emailserver .To=email .cc="" .bcc="" .From=email .ReplyTo="" .Sender="" .Subject="Documento acquisito" .Message="I documenti acquisiti sono pronti per l'uso" .CharacterSet=LDD_SMTPCHARSET_US .Attachments=attach .Go() endwith Per eseguire questo script: 1 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 2 Configurare l'indirizzo del server SMTP mediante le impostazioni locali. 3 Per utilizzare questo script su una stampante MFP, è necessario un touch screen. In caso contrario, utilizzare Select'N'Send oppure Print'N'Send. Se si dispone di un touch screen, creare un profilo utilizzando un file TIFF con risoluzione 300 dpi e tonalità 4. In questo modo, l'acquisizione ottica garantirà risultati ottimali. Script Document Distributor 18 Esempio 7: Prompt avanzati II Panoramica: Eseguire la convalida dei dati man mano che l'utente risponde ai prompt dinamici. Dettagli: Un dipendente deve acquisire dei documenti tramite scanner ma desidera separarli in base al negozio di destinazione e al reparto che ne ha fatto richiesta. Questo script richiede di specificare il numero del negozio. Se il numero del negozio è valido, viene visualizzato l'elenco dei reparti di tale negozio. In caso contrario, viene visualizzato un messaggio di errore e viene richiesto di specificare nuovamente il numero del negozio. Una volta raccolte tutte le informazioni necessarie, il documento viene acquisito tramite scanner e salvato nell'ubicazione appropriata del file system locale. Script: 1 Questo script consente di richiedere all'utente finale alcune informazioni; a tal fine, è necessario configurare alcuni prompt. Il primo prompt è un numero intero corrispondente al numero del negozio. Il secondo è un messaggio di errore che viene visualizzato nel caso in cui il numero di divisione specificato non sia valido. In questo esempio viene illustrato anche un terzo prompt che viene configurato dopo aver fornito l'informazione richiesta; tutti i prompt e le variabili utilizzati nel blocco dei prompt devono essere dichiarati prima di inserire il blocco dei prompt. intprompt store store.SetPromptText("Immettere il numero del negozio:") messageprompt errmsg errmsg.SetPromptText("Numero di negozio non valido; immettere nuovamente il numero.") stringprompt dept string storename, item 2 Alcuni prompt sono stati configurati ed altri dichiarati. A questo punto, viene utilizzato il blocco dei prompt per richiedere informazioni. Quando viene selezionato questo script, questa parte viene eseguita prima dell'acquisizione tramite scanner. Dato che le informazioni vengono convalidate e utilizzate per formulare altri prompt, l'operazione prevede più passi. prompt Script Document Distributor 19 3 Questo passo richiede di indicare il numero del negozio. Dopo averlo specificato, il numero di divisione viene ricercato all'interno del database per verificarne la validità. Se il numero è valido, il nome del negozio viene recuperato dal database e nextstep viene impostato su dept. In caso contrario, nextstep viene impostato su error. step "storenum" ask(store) with ODBCRead .Reset() .DataSource=local.DataSource .TableName="negozi" .LogonName=local.LogonName .LogonPassword=local.LogonPassword .DataColumns="NomeNegozio" .WhereClause="NumeroNegozio=" + store.AsString() .Go() if (.GetNextRow()) then storename = .GetString("NomeNegozio") nextstep "oformat" else nextstep "error" endif .Finished() endwith 4 Questo passo viene utilizzato nel caso in cui venga specificato un numero di negozio non valido. Viene visualizzato un messaggio di errore in cui viene richiesto di specificare nuovamente il numero del negozio. Una volta accettato il messaggio, nextstep viene impostato su storenum; in altre parole, il primo prompt viene nuovamente inviato all'utente. step "error" ask(errmsg) nextstep "storenum" 5 Questo passo viene utilizzato nel caso in cui sia stato specificato un numero di divisione valido. Il testo del prompt viene impostato in modo da comprendere il nome della divisione selezionata. Quindi vengono recuperati dal database i reparti validi per la divisione. step "dept" dept.SetPromptText("Selezionare il reparto della divisione " + storename) with ODBCRead .Reset() .DataSource=local.DataSource .TableName="Reparti" .LogonName=local.LogonName .LogonPassword=local.LogonPassword .DataColumns="Reparto" .WhereClause="NumeroNegozio=" + store.AsString() .Go() Script Document Distributor 20 6 Ciascun reparto viene aggiunto come opzione all'elenco a selezione singola. repeat until (.GetNextRow() == FALSE) item = .GetString("Reparto") dept.AddPromptOption(item) endrepeat .Finished() endwith 7 A questo punto, il prompt è configurato. L'utente potrà selezionare il reparto di destinazione del documento acquisito tramite scanner. Poiché si tratta dell'ultima informazione richiesta, viene utilizzata l'istruzione laststep. ask(dept) laststep endprompt 8 Una volta specificate le informazioni, il documento viene acquisito tramite scanner e inviato come tutti gli altri processi non contenenti prompt. A questo punto, quando il processo viene riavviato, riprende l'esecuzione dello script. Creare l'intero percorso e il nome da utilizzare per salvare il file. Il file viene salvato nella sottodirectory relativa al reparto, all'interno della directory corrispondente al numero di divisione che si trova in c:\lexmark. Il nome finale avrà il seguente formato: c:\lexmark\storenum\department name\scan_timestamp.tif. string filepath = "c:\lexmark\" + store.AsString() + "\" + dept + "\scan.tif" 9 Il file viene salvato nel percorso specificato nel passo precedente utilizzando l'azione SaveToFile. AppendTimestamp è impostato su TRUE; pertanto, viene utilizzato un nome univoco. CreateDirectory è impostato su TRUE; pertanto, vengono create le directory che non esistono. with SaveToFile .input=original.document .Path=filepath .AppendTimestamp=TRUE .CreateDirectory=TRUE .Go() endwith Per eseguire questo script: 1 Sul server, configurare il database che si desidera utilizzare. In questo esempio, verrà utilizzato il database Microsoft Access fornito, stores.mdb. Questo file si trova nella directory degli esempi di script installata con Workflow Composer. Configurare la connessione ODBC. Per ulteriori informazioni, vedere l'Appendice A. 2 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 3 Configurare i dati di connessione ODBC mediante le impostazioni locali. Script Document Distributor 21 4 Per utilizzare questo script su una stampante MFP, è necessario un touch screen. In caso contrario, utilizzare Select'N'Send oppure Print'N'Send. Se si dispone di un touch screen, creare un profilo. 5 Nel database sono presenti tre numeri di divisione: 10, 20 e 30. Se si immette un numero non valido, viene visualizzato un messaggio di errore. Questo script evidenzia l'importanza dei prompt per la convalida dei dati immessi e dell'utilizzo delle informazioni per poter disporre di diverse selezioni in modo dinamico. Questo esempio consente di salvare il file su disco; può essere utilizzato come complemento dell'Esempio 2: Stampa di un documento. In questo caso, l'indirizzo IP della stampante corrispondente alla divisione e al reparto selezionati viene recuperato dal database e utilizzato per inviare la stampa. Script Document Distributor 22 3 Script Document Producer Esempio 8: Unione di dati e stampa di un modulo Panoramica: Unire i dati in un modulo e stamparlo. Dettagli: Utilizzando Document Producer, un'azienda deve reindirizzare il flusso di stampa ASCII da una stampante caricata con moduli prestampati a Document Server. Questo script consente di unire i dati in ricezione utilizzando un formset, creato con Forms Composer, e di stamparlo su un foglio bianco. Script: 1 Utilizzare i dati in ricezione, original.dataset, con l'azione MergeForm per generare un PDF del modulo compilato. with MergeForm .input=original.dataset .Go() endwith 2 Le opzioni di stampa, ad esempio fronte/retro, origine carta e dimensioni carta, vengono configurate quando viene creato il formset e impostate mediante la proprietà printoptions. Le opzioni di finitura, ad esempio la cucitura e la perforazione, non possono essere impostate nel formset. Per aggiungere altre impostazioni o sostituire quelle del formset, creare un oggetto printoptions e specificare le impostazioni desiderate. In questo caso, viene attivata la funzione di perforazione. printoptions po = MergeForm.printoptions po.SetJobOption(LDD_PRINTOPTION_HOLEPUNCH, LDD_HOLEPUNCH_ON) 3 Utilizzare l'azione PrintForm per stampare il modulo PDF. L'indirizzo IP e il tipo di stampante vengono configurati mediante le impostazioni locali. Se la stampante utilizzata è dotata di un'opzione ImageQuick, il modulo PDF viene inviato direttamente alla stampante. In caso contrario, il modulo PDF viene prima convertito in PostScript. Il campo PrinterType deve avere una variabile locale (PrinterType) configurata come variabile di enumerazione. Per ulteriori informazioni, consultare la sezione "Impostazioni locali" nella Guida dell'applicazione Workflow Composer. Script Document Producer 23 with PrintForm .input=MergeForm.output .IPAddress=local.PrinterAddress .PrinterType=local.PrinterType .PrintOptions=po .WaitForCompletion=FALSE .Go() endwith Per eseguire questo script: 1 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 2 Configurare le informazioni relative alla stampante mediante le impostazioni locali. 3 Caricare l'esempio di nota di addebito incluso in Forms Composer. Creare un percorso denominato "test". Per ulteriori informazioni, vedere l'Appendice B. 4 Aprire una finestra del prompt dei comandi sul computer su cui è installato Document Server. Utilizzando il file di dati di esempio incluso in Forms Composer, emulare un flusso di stampa digitando quanto segue: copy /b debittext.txt \\.\pipe\test L'opzione /b consente di effettuare una copia binaria. Il file debittext.txt contiene un file di dati campione formattato come se fosse stato inviato a una stampante. \\.\pipe\test consente di copiare il file nel percorso creato nell'Appendice B. Se lo si esegue da un computer diverso da quello su cui è installato Document Server, sostituire il punto (".") con l'indirizzo IP del computer su cui è installato il server. Nota: Per ulteriori informazioni sulla configurazione delle code di stampa in Windows, consultare la Guida in linea di Forms Composer e Server Manager. Script Document Producer 24 Esempio 9: Unione di dati e invio di un modulo tramite fax Panoramica: Unire i dati in un modulo e inviarlo tramite fax. Dettagli: Utilizzando Document Producer, un'azienda deve reindirizzare il flusso di stampa ASCII da una stampante caricata con moduli prestampati a Document Server. Questo script consente di unire i dati in ricezione utilizzando un formset creato con Forms Composer e di inviare il documento risultante tramite fax. Script: 1 Utilizzare i dati in ricezione, original.dataset, con l'azione MergeForm per generare un PDF del modulo compilato. with MergeForm .input=original.dataset .Go() endwith 2 L'output dell'azione MergeForm è un PDF. È necessario convertirlo in un'immagine TIFF per poterlo convertire in un file PostScript. with ConvertImageFormat .input=MergeForm.output .Format=LDD_IMGFORMAT_TIFG4 .ColorDepth=LDD_IMGDEPTH_BW .AllPages=TRUE .Go() endwith 3 Convertire l'immagine TIFF in un file PostScript per poterlo inviare tramite fax. with ConvertToDocument .input=ConvertImageFormat.output .Format=LDD_DOCFORMAT_PS .AllPages=TRUE .PaperSize=LDD_PAPERSIZE_LETTER .Orientation=LDD_ORIENTATION_AUTO .Go() endwith 4 Ricavare il numero di fax dall'insieme di dati inviato. È possibile recuperare qualsiasi valore di qualunque variabile presente in un formset e utilizzarlo in uno script. string faxnumber = original.dataset.GetDataItem("FAX_NUMBER") Script Document Producer 25 5 Utilizzare l'azione FaxByPrinter per inviare il fax. Il fax viene inviato mediante una stampante MFP con funzionalità fax. L'indirizzo IP della stampante MFP viene configurato mediante le impostazioni locali. with FaxByPrinter .input=ConvertToDocument.output .IPAddress=local.IpAddress .StationID="ID stazione fax" .FaxNumber=faxnumber .WaitForCompletion=FALSE .RedialMinutes=5 .RedialTimes=3 .Go() endwith Per eseguire questo script: 1 Caricarlo sul server utilizzando Workflow Composer o Server Manager. 2 Configurare le informazioni relative alla stampante mediante le impostazioni locali. 3 Caricare l'esempio di copertina fax incluso in Forms Composer. Creare un percorso denominato "test". Per ulteriori informazioni, vedere l'Appendice B. 4 Aprire una finestra del prompt dei comandi sul computer su cui è installato Document Server. Utilizzando il file di dati di esempio incluso in Forms Composer, emulare un flusso di stampa digitando quanto segue: copy /b faxcover.txt \\.\pipe\test L'opzione /b consente di effettuare una copia binaria. Il file faxcover.txt contiene un file di dati campione formattato come se fosse stato inviato a una stampante. \\.\pipe\test consente di copiare il file nel percorso creato nell'Appendice B. Se lo si esegue da un computer diverso da quello su cui è installato Document Server, sostituire il punto (".") con l'indirizzo IP del computer su cui è installato il server. Nota: Mentre lo script consente di recuperare solo il numero di fax, in un formset è anche possibile ottenere l'indirizzo e-mail, il numero cliente o qualunque altra variabile. Sarà quindi possibile utilizzare questi valori nello script. Questo script consente di inviare il fax mediante una stampante MFP; è possibile modificare lo script in modo che invii il fax mediante un server fax che supporti la posta elettronica SMTP. È anche possibile archiviare il modulo per usarlo in seguito utilizzando una delle altre azioni supportate dal server. Script Document Producer 26 4 Script Document Portal Esempio 10: Stampa di un modulo vuoto Panoramica: Stampare un modulo vuoto Dettagli: Si tratta di uno script di base utilizzato da Document Portal per stampare moduli vuoti mediante una stampante PostScript. Script: 1 Creare un dataset per passare all'azione MergeForm. Dato che si desidera un modulo vuoto, questo dataset conterrà solo il nome del formset da utilizzare. Il formset viene specificato mediante la proprietà formsetname dell'oggetto originale. dataset merge_input merge_input.SetFormset(original.formsetname) 2 Utilizzare l'azione MergeForm per generare il modulo PDF vuoto. with MergeForm .input=merge_input .Go() endwith 3 Utilizzare l'azione PrintForm per stampare il PDF generato dall'azione MergeForm. L'indirizzo IP della stampante e le opzioni di stampa vengono specificati mediante le proprietà printerip e printoptions dell'oggetto originale. Queste impostazioni vengono configurate in Document Portal Admin. In questo caso, il tipo di stampante è impostato su PostScript; se la stampante utilizzata dispone dell'opzione ImageQuick, impostare il tipo LDD_PRINTERTYPE_LEXIQ. with PrintForm .input=MergeForm.output .IPAddress=original.printerip .PrinterType=LDD_PRINTERTYPE_LEXPS .PrintOptions=original.printoptions .WaitForCompletion=FALSE .Go() endwith Script Document Portal 27 Per eseguire questo script: 1 Caricarlo sul server utilizzando Document Portal Admin. NON utilizzare Workflow Composer o Server Manager per caricare lo script. 2 Nel caso in cui sul server non sia stato caricato alcun PDF o formset, caricarne uno. Associare lo script a un formset caricato. 3 Utilizzando una stampante MFP con touch screen, selezionare l'icona relativa ai moduli, quindi il modulo associato a questo script. Script Document Portal 28 Esempio 11: Prompt e stampa di un modulo vuoto Panoramica: Utilizzare i prompt e stampare il modulo selezionato. Dettagli: Questo script è utile per le stampanti a colori. Richiede all'utente di specificare se il modulo deve essere stampato a colori o in bianco e nero. In questo modo è possibile utilizzare un solo script per entrambi i tipi di output. Script: 1 Questo script consente di richiedere all'utente finale alcune informazioni; a tal fine, è necessario configurare un prompt. Si tratta di un elenco a selezione singola che consente di selezionare Bianco e nero o Colore. Come nel caso di tutti gli script che richiedono informazioni, tutti i prompt e le variabili utilizzati nel blocco dei prompt devono essere dichiarati prima di immettere il blocco dei prompt. stringprompt color with color .SetPromptText("Selezionare l'output desiderato:") .AddPromptOption("Bianco e nero") .AddPromptOption("Colore") endwith 2 Una volta configurato il blocco dei prompt, questi vengono utilizzati per richiedere informazioni. Quando viene selezionato questo script, questa parte viene eseguita prima di inviare il processo al server. Dato che viene richiesta una sola informazione, è necessario un unico passo. prompt step "prompts" ask(color) laststep endprompt 3 Una volta specificata l'informazione, il processo viene inviato come tutti gli altri processi non contenenti prompt. A questo punto, quando il processo viene riavviato, riprende l'esecuzione dello script. 4 Creare un dataset per passare all'azione MergeForm. Dato che si desidera un modulo vuoto, questo dataset conterrà solo il nome del formset da utilizzare. Il formset viene specificato mediante la proprietà formsetname dell'oggetto originale. dataset merge_input merge_input.SetFormset(original.formsetname) 5 Utilizzare l'azione MergeForm per generare il modulo PDF vuoto. with MergeForm .input=merge_input .Go() endwith Script Document Portal 29 6 Lo script modifica le opzioni di stampa associate al processo. A seconda della selezione, la stampante verrà impostata in modo da eseguire la stampa utilizzando le cartucce a colori o solo la cartuccia di inchiostro nero. printoptions opts = original.printoptions if (color == "Colore") opts.SetJobOption(LDD_PRINTOPTION_COLORMODEL, LDD_COLORMODEL_CMYK) else opts.SetJobOption(LDD_PRINTOPTION_COLORMODEL, LDD_COLORMODEL_BLACK) endif 7 Utilizzare l'azione PrintForm per stampare il PDF generato dall'azione MergeForm. L'indirizzo IP della stampante viene specificato mediante la proprietà printerip dell'oggetto originale. Le opzioni di stampa sono quelle modificate nel passo precedente. Le impostazioni di stampa originali vengono configurate in Document Portal Admin. In questo caso, il tipo di stampante è impostato su PostScript; se la stampante utilizzata dispone dell'opzione ImageQuick, impostare il tipo LDD_PRINTERTYPE_LEXIQ. with PrintForm .input=MergeForm.output .IPAddress=original.printerip .PrinterType=LDD_PRINTERTYPE_LEXPS .PrintOptions=opts .WaitForCompletion=FALSE .Go() endwith Per eseguire questo script: 1 Caricarlo sul server utilizzando Document Portal Admin. NON utilizzare Workflow Composer o Server Manager per caricare lo script. 2 Nel caso in cui sul server non sia stato caricato alcun PDF o formset, caricarne uno. Associare lo script a un formset caricato. 3 Utilizzando una stampante MFP con touch screen collegata a una stampante a colori, selezionare l'icona relativa ai moduli, quindi il modulo associato a questo script. Script Document Portal 30 Appendice A: Configurazione ODBC Attenersi alla seguente procedura per creare le connessioni DSN ODBC utilizzate per l'Esempio 4 e 7. I DSN vengono creati utilizzando lo stesso computer su cui è installato Document Server. 1 In Windows NT: selezionare Impostazioni Pannello di controllo. In Windows 2000/XP: selezionare Impostazioni Pannello di controllo amministrazione. Strumenti di 2 Selezionare Origini dati ODBC. 3 Selezionare la scheda relativa ai DSN di sistema. Fare clic su Aggiungi. Viene visualizzato l'elenco dei driver ODBC installati sul computer. Selezionare "Microsoft Access Driver (*.mdb)" dall'elenco e fare clic su Fine. 4 Viene visualizzata la finestra di dialogo relativa all'installazione di ODBC Microsoft Access. Per l'Esempio 4, immettere il nome origine dati "LDD1"; per l'Esempio 7, immettere "LDD2". Fare clic sul pulsante Seleziona per selezionare il database da utilizzare per la connessione. Per l'Esempio 4, selezionare il database "resumes.mdb"; per l'Esempio 7, selezionare "stores.mdb". Fare clic su OK. 5 Una volta aggiunti, entrambi i DSN compariranno nell'elenco dei DSN di sistema. 6 Fare clic su OK per chiudere la finestra di dialogo. A questo punto, le connessioni sono configurate ed è possibile utilizzarle all'interno di uno script. Quando si caricano gli script, sono disponibili le impostazioni locali relative all'Esempio 4 e 7 che consentono di configurare le impostazioni ODBC. In genere, i dati necessari per tutte le connessioni ODBC sono due; gli altri due sono facoltativi. – – È necessario specificare il DSN. Il nome origine dati è quello specificato nel passo 4. È necessario specificare il nome della tabella. Si tratta del nome della tabella contenente i dati utilizzati nello script. Se si utilizzano i database inclusi negli esempi, è possibile utilizzare i nomi predefiniti delle tabelle presenti nelle impostazioni locali. – Il nome utente è facoltativo. Se non si richiede di effettuare l'accesso, è possibile lasciare vuoto questo campo. Per impostazione predefinita, per il database Microsoft Access non è necessario effettuare l'accesso. La password è facoltativa. Se non si richiede di effettuare l'accesso, è possibile lasciare vuoto questo campo. – Appendice A: Configurazione ODBC 31 Appendice B: Configurazione di un formset Questa appendice illustra la procedura necessaria per caricare un formset e configurare il percorso per poterlo utilizzare. Queste informazioni servono per eseguire l'Esempio 8 e 9. In Server Manager 1 Se non lo si è già fatto, caricare lo script da utilizzare per questo formset. Per questi esempi, caricare "example08.xdd" o "example09.xdd". 2 Fare clic su Aggiungi formset nella pagina iniziale. Viene avviata la procedura Aggiunta guidata formset. Per prima cosa, selezionare il formset da caricare. Per l'Esempio 8, selezionare "debitmemo.fdd"; per l'Esempio 9, selezionare "faxcover.fdd". Entrambi i formset sono inclusi nelle directory di esempio installate con Forms Composer. Fare clic su Avanti. La pagina successiva della procedura guidata consente di selezionare l'azione da eseguire quando si ricevono i dati per questo formset. Le opzioni disponibili sono tre: – – – l'azione viene specificata dal percorso o nel flusso di dati, è necessario utilizzare una delle azioni predefinite oppure è necessario utilizzare uno script personalizzato. Negli esempi, si utilizzerà uno script personalizzato. Selezionare lo script appropriato (example08 o example09) dall'elenco. 3 Fare clic su Avanti. Nell'ultima pagina della procedura guidata viene visualizzato un riepilogo delle selezioni effettuate. Se non si è creato il percorso da utilizzare per questi esempi, selezionare la casella che consente di avviare la procedura Creazione guidata specifica percorso. 4 Fare clic su Fine. Se è necessario creare il percorso, viene avviata la procedura Creazione guidata specifica percorso; in caso contrario, la procedura è terminata ed è possibile procedere con l'esecuzione dello script. 5 Per prima cosa, all'interno di Creazione guidata specifica percorso, denominare il percorso. In questi esempi, si creerà un solo percorso. Selezionare lo script appropriato (example08 o example09) dall'elenco. Fare clic su Avanti. 6 La pagina successiva della procedura guidata consente di configurare il percorso in modo da accettare dati per uno o più formset. Dato che il percorso creato può essere utilizzato in entrambi gli esempi, selezionare "Il percorso verrà utilizzato da più formset". Fare clic su Avanti. Appendice B: Configurazione di un formset 32 7 La pagina successiva della procedura guidata consente di configurare l'azione da eseguire quando si ricevono dati nel percorso. Questa pagina è simile a quella della procedura Aggiunta guidata formset che consente di configurare l'azione da eseguire quando si ricevono i dati per il formset. Dato che l'azione relativa al formset è stata già configurata (viene eseguito uno script personalizzato), selezionare "L'azione verrà specificata nel flusso di stampa". Fare clic su Avanti. 8 La pagina successiva della procedura guidata consente di configurare il tipo di dati ricevuti dal percorso. In questo caso, si invieranno dei file di testo; pertanto, il tipo di dati è sempre lo stesso. Selezionare "I dati sono sempre di questo tipo" e quindi "un flusso di testo normale" dall'elenco. Fare clic su Avanti. 9 Nell'ultima pagina della procedura guidata viene visualizzato un riepilogo delle opzioni selezionate. Fare clic su Fine. A questo punto, si è pronti per eseguire lo script. Per ulteriori informazioni sulle opzioni relative al caricamento di formset e alla creazione del percorso, consultare la Guida in linea di Server Manager. Appendice B: Configurazione di un formset 33 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