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