Informazioni sul servizio Genera PDF
Il servizio Generate PDF converte i formati di file nativi in PDF. Converte anche i PDF in altri formati di file e ottimizza le dimensioni dei documenti PDF.
Il servizio Generate PDF utilizza applicazioni native per convertire in PDF i seguenti formati di file. Salvo diversa indicazione, sono supportate solo le versioni tedesca, francese, inglese e giapponese di queste applicazioni. Windows indica solo il supporto per Windows Server® 2003 e Windows Server 2008.
Microsoft Office 2003 e 2007 per convertire DOC, DOCX, RTF, TXT, XLS, XLSX, PPT, PPTX, VSD, MPP, MPPX, XPS e PUB (solo Windows)
Per convertire il formato Microsoft XPS in PDF è necessario Acrobat® 9.2 o versione successiva.
Autodesk AutoCAD 2005, 2006, 2007, 2008 e 2009 per convertire DWF, DWG e DXW (solo in lingua inglese)
Corel WordPerfect 12 e X4 per convertire WPD, QPW, SHW (solo inglese)
OpenOffice 2.0, 2.4, 3.0.1 e 3.1 per convertire ODT, ODS, ODP, ODG, ODF, ODF, SXW, SXC, SXD, DOC, DOCX, RTF, TXT, XLS, XLSX, PPT, PPTX, VSD, MPP, MPPX e PUB
Il servizio Generate PDF non supporta le versioni a 64 bit di OpenOffice.
Adobe Photoshop® CS2 per convertire PSD (solo Windows)
Photoshop CS3 e CS4 non sono supportati perché non supportano Windows Server 2003 o Windows Server 2008.
Adobe FrameMaker® 7.2 e 8 per convertire FM (solo Windows)
Adobe PageMaker® 7.0 per la conversione di PMD, PM6, P65 e PM (solo Windows)
Formati nativi supportati da applicazioni di terze parti (richiede lo sviluppo di file di installazione specifici per l'applicazione) (solo Windows)
Il servizio Genera PDF converte in PDF i seguenti formati di file basati sugli standard.
Il servizio Genera PDF converte i PDF nei seguenti formati di file (solo Windows):
Il servizio Genera PDF richiede l’esecuzione delle seguenti attività amministrative:
Queste attività sono descritte in Installazione e distribuzione di moduli AEM utilizzando JBoss Turnkey.
Puoi eseguire queste attività utilizzando il servizio Genera PDF:
Per ulteriori informazioni sul servizio Generate PDF, vedere Riferimento servizi per AEM Forms.
In questa sezione viene descritto come utilizzare l'API Generate PDF per convertire programmaticamente un documento di Microsoft Word in un documento PDF.
Per ulteriori informazioni sui formati di file aggiuntivi, vedere Aggiunta di supporto per formati di file nativi aggiuntivi.
Per ulteriori informazioni sul servizio Generate PDF, vedere Riferimento servizi per AEM Forms.
Per convertire un documento di Microsoft Word in un documento PDF, eseguire le operazioni seguenti:
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
Creare un client PDF Genera
Prima di eseguire un’operazione Genera PDF a livello di programmazione, crea un client di servizio Genera PDF. Se utilizzi l’API Java, crea un oggetto GeneratePdfServiceClient
. Se utilizzi l’API del servizio Web, crea un oggetto GeneratePDFServiceService
.
Recupera il file da convertire in un documento PDF
Recuperare il documento di Microsoft Word per la conversione in un documento PDF.
Convertire il file in un documento PDF
Dopo aver creato il client di servizio Generate PDF, è possibile richiamare il metodo createPDF2
. Questo metodo richiede informazioni sul documento da convertire, inclusa l'estensione del file.
Recupera i risultati
Dopo la conversione del file in un documento PDF, è possibile recuperare i risultati. Ad esempio, dopo aver convertito un file Word in un documento PDF, è possibile recuperare e salvare il documento PDF.
Consulta anche
Conversione di documenti Word in documenti PDF tramite API Java
Conversione di documenti Word in documenti PDF tramite API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Generazione rapida API servizio PDF
Convertire un documento di Microsoft Word in un documento PDF utilizzando Genera API PDF (Java):
Includi file di progetto.
Includi file JAR client, come adobe-generatepdf-client.jar, nel percorso di classe del progetto Java.
Crea un client Generate PDF.
ServiceClientFactory
contenente le proprietà di connessione.GeneratePdfServiceClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Recupera il file da convertire in un documento PDF.
java.io.FileInputStream
che rappresenta il file Word da convertire utilizzando il relativo costruttore. Passa un valore stringa che specifica la posizione del file.com.adobe.idp.Document
utilizzando il relativo costruttore e passando l'oggetto java.io.FileInputStream
.Converti il file in un documento PDF.
Converti il file in un documento PDF richiamando il metodo createPDF2
dell’oggetto GeneratePdfServiceClient
e passando i seguenti valori:
com.adobe.idp.Document
che rappresenta il file da convertire.java.lang.String
che contiene l'estensione del file.java.lang.String
che contiene le impostazioni del tipo di file da utilizzare nella conversione. Le impostazioni del tipo di file forniscono impostazioni di conversione per diversi tipi di file, ad esempio .doc o .xls.java.lang.String
che contiene il nome delle impostazioni PDF da utilizzare. Ad esempio, puoi specificare Standard
.java.lang.String
che contiene il nome delle impostazioni di protezione da utilizzare.com.adobe.idp.Document
facoltativo che contiene le impostazioni da applicare durante la generazione del documento PDF.com.adobe.idp.Document
facoltativo che contiene informazioni sui metadati da applicare al documento PDF.Il metodo createPDF2
restituisce un oggetto CreatePDFResult
contenente il nuovo documento PDF e le informazioni di registro. Il file di registro in genere contiene messaggi di errore o di avviso generati dalla richiesta di conversione.
Recupera i risultati.
Per ottenere il documento PDF, eseguire le operazioni seguenti:
getCreatedDocument
dell'oggetto CreatePDFResult
che restituisce un oggetto com.adobe.idp.Document
.copyToFile
dell’oggetto com.adobe.idp.Document
per estrarre il documento PDF dall’oggetto creato nel passaggio precedente.Se hai utilizzato il metodo createPDF2
per ottenere il documento di registro (non applicabile alle conversioni HTML), esegui le seguenti operazioni:
getLogDocument
dell'oggetto CreatePDFResult
. Restituisce un oggetto com.adobe.idp.Document
.copyToFile
dell'oggetto com.adobe.idp.Document
per estrarre il documento di registro.Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Convertire un documento di Microsoft Word in un documento PDF utilizzando Genera API PDF (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
con l'indirizzo IP del server che ospita AEM Forms.
Crea un client Generate PDF.
Creare un oggetto GeneratePDFServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto GeneratePDFServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/GeneratePDFService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Tuttavia, specifica ?blob=mtom
.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo GeneratePDFServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
GeneratePDFServiceClient.ClientCredentials.UserName.UserName
.GeneratePDFServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Recupera il file da convertire in un documento PDF.
BLOB
utilizzando il relativo costruttore. L'oggetto BLOB
viene utilizzato per memorizzare il file che si desidera convertire in un documento PDF.System.IO.FileStream
richiamando il relativo costruttore. Passa un valore stringa che rappresenta la posizione del file da convertire e la modalità di apertura del file.System.IO.FileStream
. È possibile determinare le dimensioni dell'array di byte ottenendo la proprietà Length
dell'oggetto System.IO.FileStream
.Read
dell’oggetto System.IO.FileStream
e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.BLOB
assegnando alla relativa proprietà MTOM
il contenuto dell'array di byte.Converti il file in un documento PDF.
Converti il file in un documento PDF richiamando il metodo CreatePDF2
dell’oggetto GeneratePDFServiceService
e passando i seguenti valori:
BLOB
che rappresenta il file da convertire.java.lang.String
che contiene le impostazioni del tipo di file da utilizzare nella conversione. Le impostazioni del tipo di file forniscono impostazioni di conversione per diversi tipi di file, ad esempio .doc o .xls.Standard
.No Security
.BLOB
facoltativo che contiene le impostazioni da applicare durante la generazione del documento PDF.BLOB
facoltativo che contiene informazioni sui metadati da applicare al documento PDF.BLOB
compilato dal metodo CreatePDF2
. Il metodo CreatePDF2
popola questo oggetto con il documento convertito. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).BLOB
compilato dal metodo CreatePDF2
. Il metodo CreatePDF2
popola questo oggetto con il documento di registro. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).Recupera i risultati.
MTOM
dell’oggetto BLOB
a un array di byte. L'array di byte rappresenta il documento PDF convertito. Assicurarsi di utilizzare l'oggetto BLOB
utilizzato come parametro di output per il metodo createPDF2
.System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF convertito.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.Write
dell’oggetto System.IO.BinaryWriter
e passando l’array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Questa sezione descrive come utilizzare l’API Generate PDF per convertire in modo programmatico i documenti HTML in documenti PDF.
Per ulteriori informazioni sul servizio Generate PDF, vedere Riferimento servizi per AEM Forms.
Per convertire un documento HTML in un documento PDF, eseguire le operazioni seguenti:
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
Creare un client PDF Genera
Prima di eseguire un’operazione Genera PDF a livello di programmazione, è necessario creare un client di servizio Genera PDF. Se utilizzi l’API Java, crea un oggetto GeneratePdfServiceClient
. Se utilizzi l’API del servizio Web, crea un GeneratePDFServiceService
.
Recupera il contenuto HTML da convertire in un documento PDF
Fare riferimento al contenuto HTML che si desidera convertire in un documento PDF. Puoi fare riferimento al contenuto HTML, ad esempio un file HTML o un contenuto HTML accessibile tramite un URL.
Convertire il contenuto HTML in un documento PDF
Dopo aver creato il client di servizio, è possibile richiamare l’operazione di creazione del PDF appropriata. Questa operazione richiede informazioni sul documento da convertire, incluso il percorso del documento di destinazione.
Recupera i risultati
Dopo aver convertito il contenuto HTML in un documento PDF, è possibile recuperare i risultati e salvare il documento PDF.
Consulta anche
Convertire il contenuto HTML in un documento PDF utilizzando l’API Java
Convertire il contenuto HTML in un documento PDF utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Generazione rapida API servizio PDF
Convertire un documento HTML in un documento PDF utilizzando l’API Generate PDF (Java):
Includi file di progetto.
Includi file JAR client, come adobe-generatepdf-client.jar, nel percorso di classe del progetto Java.
Crea un client Generate PDF.
Creare un oggetto GeneratePdfServiceClient
utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory
contenente proprietà di connessione.
Recupera il contenuto HTML da convertire in un documento PDF.
Recupera il contenuto HTML creando una variabile stringa e assegnando un URL che punta al contenuto HTML.
Converti il contenuto HTML in un documento PDF.
Richiama il metodo htmlToPDF2
dell'oggetto GeneratePdfServiceClient
e passa i seguenti valori:
java.lang.String
che contiene l'URL del file HTML da convertire.java.lang.String
che contiene le impostazioni del tipo di file da utilizzare nella conversione. Le impostazioni del tipo di file possono includere livelli di ragnatela.java.lang.String
che contiene il nome delle impostazioni di protezione da utilizzare.com.adobe.idp.Document
facoltativo che contiene le impostazioni da applicare durante la generazione del documento PDF. Se queste informazioni non vengono fornite, le impostazioni vengono scelte automaticamente in base ai tre parametri precedenti.com.adobe.idp.Document
facoltativo che contiene informazioni sui metadati da applicare al documento PDF.Recupera i risultati.
Il metodo htmlToPDF2
restituisce un oggetto HtmlToPdfResult
contenente il nuovo documento PDF generato. Per ottenere il documento PDF appena creato, eseguire le operazioni seguenti:
getCreatedDocument
dell'oggetto HtmlToPdfResult
. Restituisce un oggetto com.adobe.idp.Document
.copyToFile
dell’oggetto com.adobe.idp.Document
per estrarre il documento PDF dall’oggetto creato nel passaggio precedente.Consulta anche
Conversione di documenti HTML in documenti PDF
Avvio rapido (modalità SOAP): Conversione di contenuti HTML in un documento PDF tramite l’API Java
Avvio rapido (modalità SOAP): Conversione di contenuti HTML in un documento PDF tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Convertire il contenuto HTML in un documento PDF utilizzando l’API Generate PDF (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
con l'indirizzo IP del server che ospita AEM Forms.
Crea un client Generate PDF.
Creare un oggetto GeneratePDFServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto GeneratePDFServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/GeneratePDFService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Tuttavia, specifica ?blob=mtom
.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo GeneratePDFServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
GeneratePDFServiceClient.ClientCredentials.UserName.UserName
.GeneratePDFServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Recupera il contenuto HTML da convertire in un documento PDF.
Recupera il contenuto HTML creando una variabile stringa e assegnando un URL che punta al contenuto HTML.
Converti il contenuto HTML in un documento PDF.
Converti il contenuto HTML in un documento PDF richiamando il metodo HtmlToPDF2
dell’oggetto GeneratePDFServiceService
e passando i seguenti valori:
java.lang.String
che contiene le impostazioni del tipo di file da utilizzare nella conversione.BLOB
facoltativo che contiene le impostazioni da applicare durante la generazione del documento PDF.BLOB
facoltativo che contiene informazioni sui metadati da applicare al documento PDF.BLOB
compilato dal metodo CreatePDF2
. Il metodo CreatePDF2
popola questo oggetto con il documento convertito. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).Recupera i risultati.
MTOM
dell’oggetto BLOB
a un array di byte. L'array di byte rappresenta il documento PDF convertito. Assicurarsi di utilizzare l'oggetto BLOB
utilizzato come parametro di output per il metodo HtmlToPDF2
.System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF convertito.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.Write
dell’oggetto System.IO.BinaryWriter
e passando l’array di byte.Consulta anche
Conversione di documenti HTML in documenti PDF
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Questa sezione descrive come utilizzare l’API Generate PDF Java API e l’API del servizio Web per convertire programmaticamente un documento PDF in un file RTF, che è un esempio di un formato non immagine. Altri formati non immagine includono HTML, testo, DOC ed EPS. Durante la conversione di un documento PDF in formato RTF, assicurarsi che il documento PDF non contenga elementi del modulo, ad esempio un pulsante di invio. Gli elementi modulo non vengono convertiti.
Per ulteriori informazioni sul servizio Generate PDF, vedere Riferimento servizi per AEM Forms.
Per convertire un documento PDF in uno qualsiasi dei tipi supportati, eseguire le operazioni seguenti:
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
Creare un client PDF Genera
Prima di eseguire un’operazione Genera PDF a livello di programmazione, è necessario creare un client di servizio Genera PDF. Se utilizzi l’API Java, crea un oggetto GeneratePdfServiceClient
. Se utilizzi l’API del servizio Web, crea un oggetto GeneratePDFServiceService
.
Recupera il documento PDF da convertire
Recuperare il documento PDF per la conversione in un formato non immagine.
Conversione del documento PDF
Dopo aver creato il client di servizio, è possibile richiamare l’operazione di esportazione PDF. Questa operazione richiede informazioni sul documento da convertire, incluso il percorso del documento di destinazione.
Salva il file convertito
Salva il file convertito. Ad esempio, se converti un documento PDF in un file RTF, salva il documento convertito in un file RTF.
Consulta anche
Convertire un documento PDF in un file RTF utilizzando l’API Java
Convertire un documento PDF in un file RTF utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Generazione rapida API servizio PDF
Converti un documento PDF in un file RTF utilizzando l’API Generate PDF (Java):
Includi file di progetto.
Includi file JAR client, come adobe-generatepdf-client.jar, nel percorso di classe del progetto Java.
Crea un client Generate PDF.
Creare un oggetto GeneratePdfServiceClient
utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory
contenente proprietà di connessione.
Recuperare il documento PDF da convertire.
java.io.FileInputStream
che rappresenta il documento PDF da convertire utilizzando il relativo costruttore. Passa un valore stringa che specifica la posizione del documento PDF.com.adobe.idp.Document
utilizzando il relativo costruttore e passando l'oggetto java.io.FileInputStream
.Converti il documento PDF.
Richiama il metodo exportPDF2
dell'oggetto GeneratePdfServiceClient
e passa i seguenti valori:
com.adobe.idp.Document
che rappresenta il file PDF da convertire.java.lang.String
che contiene il nome del file da convertire.java.lang.String
che contiene il nome delle impostazioni di Adobe PDF.ConvertPDFFormatType
che specifica il tipo di file di destinazione per la conversione.com.adobe.idp.Document
facoltativo che contiene le impostazioni da applicare durante la generazione del documento PDF.Il metodo exportPDF2
restituisce un oggetto ExportPDFResult
contenente il file convertito.
Converti il documento PDF.
Per ottenere il file appena creato, esegui le seguenti operazioni:
getConvertedDocument
dell'oggetto ExportPDFResult
. Restituisce un oggetto com.adobe.idp.Document
.copyToFile
dell'oggetto com.adobe.idp.Document
per estrarre il nuovo documento.Consulta anche
Avvio rapido (modalità SOAP): Conversione di contenuti HTML in un documento PDF tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Converti un documento PDF in un file RTF utilizzando l’API Generate PDF (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
con l'indirizzo IP del server che ospita AEM Forms.
Creare un client Generate PDf.
Creare un oggetto GeneratePDFServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto GeneratePDFServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/GeneratePDFService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Tuttavia, specifica ?blob=mtom
.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo GeneratePDFServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
GeneratePDFServiceClient.ClientCredentials.UserName.UserName
.GeneratePDFServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Recuperare il documento PDF da convertire.
BLOB
utilizzando il relativo costruttore. L'oggetto BLOB
viene utilizzato per memorizzare un documento PDF convertito.System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF e la modalità di apertura del file.System.IO.FileStream
. È possibile determinare le dimensioni dell'array di byte ottenendo la proprietà Length
dell'oggetto System.IO.FileStream
.Read
dell’oggetto System.IO.FileStream
e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.BLOB
assegnando alla relativa proprietà MTOM
il contenuto dell'array di byte.Converti il documento PDF.
Richiama il metodo ExportPDF2
dell'oggetto GeneratePDFServiceServiceWse
e passa i seguenti valori:
BLOB
che rappresenta il file PDF da convertire.java.lang.String
che specifica la posizione del file.RTF
.BLOB
facoltativo che contiene le impostazioni da applicare durante la generazione del documento PDF.BLOB
compilato dal metodo ExportPDF2
. Il metodo ExportPDF2
popola questo oggetto con il documento convertito. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).Salva il file convertito.
MTOM
dell'oggetto BLOB
a un array di byte. L'array di byte rappresenta il documento RTF convertito. Assicurarsi di utilizzare l'oggetto BLOB
utilizzato come parametro di output per il metodo ExportPDF2
.System.IO.FileStream
richiamando il relativo costruttore. Passa un valore stringa che rappresenta la posizione del file RTF.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.System.IO.BinaryWriter
dell’oggetto Write
e passando l’array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Questa sezione spiega come aggiungere il supporto per ulteriori formati di file nativi. Fornisce una panoramica delle interazioni tra il servizio Generate PDF e le applicazioni native utilizzate da questo servizio per convertire i formati di file nativi in PDF.
Questa sezione spiega anche quanto segue:
Il servizio Generate PDF converte i formati di file nativi richiamando l'applicazione associata al formato di file e quindi interagendo con l'applicazione per stampare il documento utilizzando la stampante predefinita. La stampante predefinita deve essere impostata come stampante Adobe PDF.
Questa illustrazione mostra i componenti e i driver coinvolti nel supporto nativo delle applicazioni. Cita anche le grammatiche XML che influenzano le interazioni.
Interazioni dei componenti per la conversione dei file nativi
Questo documento utilizza il termine applicazione nativa per indicare l'applicazione utilizzata per produrre un formato di file nativo, ad esempio Microsoft Word.
** AppMonis un componente enterprise che interagisce con un'applicazione nativa nello stesso modo in cui un utente naviga attraverso le finestre di dialogo presentate da tale applicazione. Le grammatiche XML utilizzate da AppMon per istruire un'applicazione, come Microsoft Word, ad aprire e stampare un file richiedono le seguenti attività sequenziali:
AppMon utilizza le API Win32 standard per interagire con applicazioni di terze parti al fine di trasferire gli eventi dell'interfaccia utente, come i tasti e i clic del mouse, che è utile per controllare queste applicazioni per produrre file PDF da esse.
A causa di una limitazione con queste API Win32, AppMon non è in grado di inviare questi eventi dell'interfaccia utente ad alcuni tipi specifici di finestre, come barre dei menu mobili (presenti in alcune applicazioni come TextPad) e determinati tipi di finestre di dialogo il cui contenuto non può essere recuperato utilizzando le API Win32.
È facile identificare visivamente una barra di menu mobile; tuttavia, potrebbe non essere possibile identificare i tipi speciali di dialoghi solo attraverso l'ispezione visiva. È necessario un'applicazione di terze parti, come Microsoft Spy++ (parte dell'ambiente di sviluppo di Microsoft Visual C++) o il relativo WinID equivalente (che può essere scaricato gratuitamente da https://www.dennisbabkin.com/php/download.php?what=WinID) per esaminare una finestra di dialogo per determinare se AppMon sarebbe in grado di interagire con esso utilizzando le API Win32 standard.
Se WinID è in grado di estrarre il contenuto della finestra di dialogo, ad esempio il testo, le finestre secondarie, l’ID della classe della finestra e così via, AppMon sarà in grado di fare lo stesso.
In questa tabella sono elencati i tipi di informazioni utilizzati per la stampa dei formati di file nativi.
Tipo di informazione |
Descrizione |
Modifica/creazione di voci relative a file nativi |
---|---|---|
Impostazioni amministrative |
Include le impostazioni PDF, le impostazioni di protezione e le impostazioni del tipo di file. Le impostazioni del tipo di file associano le estensioni del nome file alle applicazioni native corrispondenti. Le impostazioni del tipo di file specificano anche le impostazioni dell'applicazione nativa utilizzate per stampare file nativi. |
Per modificare le impostazioni di un'applicazione nativa già supportata, l'amministratore di sistema imposta le impostazioni Tipo file nella console di amministrazione. Per aggiungere il supporto per un nuovo formato di file nativo, è necessario modificare manualmente il file. (Consultare Aggiunta o modifica del supporto per un formato di file nativo.) |
Script |
Specifica le interazioni tra il servizio Generate PDF e un'applicazione nativa. Tali interazioni solitamente indirizzano l'applicazione a stampare un file sul driver Adobe PDF. Lo script contiene istruzioni che indirizzano l'applicazione nativa ad aprire finestre di dialogo specifiche e che forniscono risposte specifiche ai campi e ai pulsanti di tali finestre di dialogo. |
Il servizio Generate PDF include file di script per tutte le applicazioni native supportate. È possibile modificare questi file utilizzando un'applicazione di modifica XML. Per aggiungere il supporto per una nuova applicazione nativa, è necessario creare un nuovo file di script. (Vedere Creazione o modifica di un file XML di dialogo aggiuntivo per un'applicazione nativa.) |
Istruzioni per la finestra di dialogo Generico |
Specifica come rispondere alle finestre di dialogo comuni a più applicazioni. Tali finestre di dialogo sono generate da sistemi operativi, applicazioni helper (come PDFMaker) e driver. Il file che contiene queste informazioni è appmon.global.en_US.xml. |
Non modificare il file. |
Istruzioni per la finestra di dialogo specifica dell’applicazione |
Specifica come rispondere alle finestre di dialogo specifiche dell'applicazione. Il file che contiene queste informazioni è appmon.[appname].dialog.[locale].xml (ad esempio, appmon.word.en_US.xml). |
Non modificare il file. Per aggiungere le istruzioni della finestra di dialogo per una nuova applicazione nativa, vedere Creazione o modifica di un file XML di dialogo aggiuntivo per un'applicazione nativa. |
Istruzioni aggiuntive per la finestra di dialogo specifica per l'applicazione |
Specifica sostituzioni e aggiunte alle istruzioni della finestra di dialogo specifica per l'applicazione. La sezione presenta un esempio di tali informazioni. Il file che contiene queste informazioni è appmon.[appname].add.[locale].xml. Un esempio è appmon.addizione.en_US.xml. |
I file di questo tipo possono essere creati e modificati utilizzando un'applicazione di modifica XML. (Vedere Creazione o modifica di un file XML di dialogo aggiuntivo per un'applicazione nativa.) Importante: È necessario creare ulteriori istruzioni per la finestra di dialogo specifiche per le applicazioni per ogni applicazione nativa supportata dal server. |
I file XML di script indirizzano il servizio Generate PDF per spostarsi tra le finestre di dialogo dell'applicazione nello stesso modo in cui un utente naviga attraverso le finestre di dialogo dell'applicazione. I file XML di script inoltre indirizzano il servizio Genera PDF a rispondere alle finestre di dialogo eseguendo azioni quali la pressione dei pulsanti, la selezione o la deselezione delle caselle di controllo o la selezione delle voci di menu.
Al contrario, i file XML di dialogo rispondono semplicemente a finestre di dialogo con gli stessi tipi di azioni utilizzati nei file XML di script.
Questa sezione e la sezione successiva utilizzano una terminologia diversa per le finestre di dialogo e i componenti che contengono, a seconda della prospettiva descritta. I componenti della finestra di dialogo sono elementi quali pulsanti, campi e caselle combinate.
Quando questa sezione e la sezione successiva descrivono le finestre di dialogo e i relativi componenti dal punto di vista di un utente, vengono utilizzati termini come finestra di dialogo, pulsante, campo e casella combinata.
Quando questa sezione e la sezione successiva descrivono le finestre di dialogo e i relativi componenti dal punto di vista della loro rappresentazione interna, viene utilizzato il termine window element. La rappresentazione interna degli elementi della finestra è una gerarchia, in cui ogni istanza dell’elemento della finestra è identificata dalle etichette. L'istanza dell'elemento window descrive anche le sue caratteristiche fisiche e il suo comportamento.
Dal punto di vista di un utente, le finestre di dialogo e i relativi componenti mostrano comportamenti diversi, in cui alcuni elementi della finestra di dialogo sono nascosti fino all’attivazione. Dal punto di vista della rappresentazione interna, non esiste un problema del genere. Ad esempio, la rappresentazione interna di una finestra di dialogo è simile a quella dei componenti che contiene, con l’eccezione che i componenti sono nidificati all’interno della finestra di dialogo.
Questa sezione descrive gli elementi XML che forniscono istruzioni ad AppMon. Questi elementi hanno nomi quali l'elemento dialog
e l'elemento window
. In questo documento viene utilizzato un font monospitato per distinguere gli elementi XML. L'elemento *dialog*
identifica una finestra di dialogo che può causare la visualizzazione di un file di script XML, intenzionalmente o meno. L’elemento *window*
identifica un elemento finestra (finestra di dialogo o componenti di una finestra di dialogo).
Questo diagramma mostra la gerarchia di script e finestra di dialogo XML. Un file XML di script è conforme allo schema script.xsd, che include (in senso XML) lo schema window.xsd. Analogamente, un file XML della finestra di dialogo è conforme allo schema dialogs.xsd, che include anche lo schema window.xsd.
Gerarchia dello script e della finestra di dialogo XML
Un file XML di script specifica una serie di passaggi che indirizzano l'applicazione nativa a spostarsi su determinati elementi della finestra e quindi a fornire le risposte a tali elementi. La maggior parte delle risposte è composta da testo o tasti che corrispondono all’input che un utente immette a un campo, a una casella combinata o a un pulsante nella finestra di dialogo corrispondente.
Lo scopo del supporto del servizio Generate PDF per i file XML di script è quello di indirizzare un'applicazione nativa alla stampa di un file nativo. Tuttavia, i file XML di script possono essere utilizzati per eseguire qualsiasi attività che un utente può eseguire durante l'interazione con le finestre di dialogo dell'applicazione nativa.
I passaggi in un file XML di script vengono eseguiti in ordine, senza alcuna possibilità di diramazione. L’unico test condizionale supportato è per timeout/tentativi, il che causa la chiusura di uno script se un passaggio non viene completato correttamente entro un periodo di tempo specifico e dopo un numero specifico di tentativi.
Oltre ai passaggi sequenziali, le istruzioni all’interno di un passaggio vengono eseguite in ordine. È necessario assicurarsi che i passaggi e le istruzioni rispecchino l'ordine in cui un utente eseguirà gli stessi passaggi.
Ogni passaggio in un file XML di script identifica l'elemento finestra che deve essere visualizzato se le istruzioni del passaggio vengono eseguite correttamente. Se durante l’esecuzione di un passaggio di script viene visualizzata una finestra di dialogo imprevista, il servizio Generate PDF cerca i file XML della finestra di dialogo come descritto nella sezione successiva.
L'esecuzione di applicazioni native visualizza diverse finestre di dialogo, che vengono visualizzate indipendentemente dal fatto che le applicazioni native siano in modalità visibile o invisibile. Le finestre di dialogo possono essere generate dal sistema operativo o dall'applicazione stessa. Quando le applicazioni native sono in esecuzione sotto il controllo del servizio Genera PDF, le finestre di dialogo del sistema e dell'applicazione nativa vengono visualizzate in una finestra invisibile.
Un file XML della finestra di dialogo specifica come il servizio Genera PDF risponde alle finestre di dialogo del sistema o dell'applicazione nativa. I file XML della finestra di dialogo consentono al servizio Generate PDF di rispondere alle finestre di dialogo non richieste in modo da facilitare il processo di conversione.
Quando nel sistema o nell’applicazione nativa viene visualizzata una finestra di dialogo non gestita dal file XML di script in esecuzione, il servizio Genera PDF esegue ricerche nei file XML di dialogo in questo ordine, arrestandosi quando trova una corrispondenza:
Se il servizio Genera PDF trova una corrispondenza per la finestra di dialogo, la ignora inviando il tasto o un'altra azione specificata per la finestra di dialogo. Se le istruzioni per la finestra di dialogo specificano un messaggio di interruzione, il servizio Genera PDF interrompe il processo attualmente in esecuzione e genera un messaggio di errore. Tale messaggio di interruzione viene specificato nell'elemento abortMessage
nella grammatica XML dello script.
Se il servizio Genera PDF rileva una finestra di dialogo non descritta in nessuno dei file precedentemente elencati, il servizio Genera PDF incorpora la didascalia della finestra di dialogo nella voce del file di registro. Il processo attualmente in esecuzione alla fine si interrompe. È quindi possibile utilizzare le informazioni contenute nel file di registro per comporre nuove istruzioni nel file XML della finestra di dialogo aggiuntivo per l'applicazione nativa.
Questa sezione descrive le attività da eseguire per supportare altri formati di file nativi o per modificare il supporto di un formato di file nativo già supportato.
Prima di poter aggiungere o modificare il supporto, è necessario completare le seguenti attività.
I file XML di dialogo e script richiedono l’identificazione dell’elemento finestra (finestra di dialogo, campo o altro componente di dialogo) a cui risponde l’elemento di dialogo o script. Ad esempio, dopo che uno script richiama un menu per un'applicazione nativa, lo script deve identificare l'elemento della finestra in quel menu a cui devono essere applicati i tasti o un'azione.
È possibile identificare facilmente una finestra di dialogo in base alla didascalia visualizzata nella relativa barra del titolo. Tuttavia, è necessario utilizzare uno strumento come Microsoft Spy++ per identificare gli elementi della finestra di livello inferiore. Gli elementi della finestra di livello inferiore possono essere identificati attraverso una varietà di attributi, che non sono ovvi. Inoltre, ogni applicazione nativa può identificare il proprio elemento finestra in modo diverso. Di conseguenza, esistono diversi modi per identificare un elemento finestra. Di seguito è riportato l’ordine consigliato per considerare l’identificazione degli elementi della finestra:
È possibile utilizzare uno o più di questi tre attributi per identificare una finestra.
Se gli attributi non identificano una didascalia, è invece possibile identificare un elemento finestra utilizzando il relativo indice rispetto al relativo elemento padre. Un index specifica la posizione dell'elemento finestra rispetto agli elementi della finestra di pari livello. Spesso, gli indici sono l'unico modo per identificare le caselle combinate.
Tieni presente i seguenti problemi:
Pri&nt
, che indica che il tasto di scelta rapida è n. I titoli delle didascalie negli script e nei file XML della finestra di dialogo devono omettere le e commerciali.^Long caption title$
). (Consultare Uso di espressioni regolari negli attributi della didascalia.)&
per i simboli commerciali, <
e >
per quelli inferiori e maggiori di, '
per gli apostrofi e "
per le virgolette.Se si prevede di lavorare su file XML di dialogo o script, installare l'applicazione Microsoft Spy++.
I file di dialogo e script si trovano nel file appmondata.jar . Prima di poter modificare uno qualsiasi di questi file o aggiungere nuovi file di script o di dialogo, devi rimuovere il pacchetto da questo file JAR. Ad esempio, si supponga di voler aggiungere il supporto per l'applicazione EditPlus. Si creano due file XML denominati appmon.editplus.script.en_US.xml e appmon.editplus.script.addizione.en_US.xml. Questi script XML devono essere aggiunti al file adobe-appmondata.jar in due posizioni, come specificato di seguito:
Dopo aver aggiunto questi file XML al file adobe-appmondata.jar, devi ridistribuire il componente GeneratePDF. Per aggiungere file XML di dialogo e script al file adobe-appmondata.jar, esegui le seguenti operazioni:
Per ridistribuire il componente GeneratePDF
Se si desidera indirizzare i file a una nuova applicazione nativa, è necessario creare un file XML di script per tale applicazione. Se si desidera modificare il modo in cui il servizio Generate PDF interagisce con un'applicazione nativa già supportata, è necessario modificare lo script per tale applicazione.
Lo script contiene istruzioni che navigano tra gli elementi della finestra dell’applicazione nativa e che forniscono risposte specifiche a tali elementi. Il file che contiene queste informazioni è appmon.[appname].script.[locale].xml. Un esempio è appmon.blocco note.script.en_US.xml.
Utilizzando l'applicazione nativa, determinare gli elementi della finestra da navigare e ogni risposta da eseguire per stampare il documento. Osserva le finestre di dialogo risultanti da qualsiasi risposta. I passaggi saranno simili ai seguenti:
Utilizza Microsoft Spy++ per ottenere le identità delle proprietà degli elementi finestra nell'applicazione nativa. Per scrivere script è necessario disporre di queste identità.
È possibile utilizzare espressioni regolari nelle specifiche delle didascalie. Il servizio Genera PDF utilizza la classe java.util.regex.Matcher
per supportare espressioni regolari. Questa utility supporta le espressioni regolari descritte in java.util.regex.Pattern
.
Espressione regolare che gestisce il nome del file aggiunto al Blocco note nel banner Blocco note
<!-- The regular expression ".*Notepad" means any number of non-terminating characters followed by Notepad. -->
<step>
<expectedWindow>
<window caption=".*Notepad"/>
</expectedWindow>
</step>
Espressione regolare che distingue Stampa da Imposta di stampa
<!-- This regular expression differentiates the Print dialog box from the Print Setup dialog box. The "^" specifies the beginning of the line, and the "$" specifies the end of the line. -->
<windowList>
<window controlID="0x01" caption="^Print$" action="press"/>
</windowList>
È necessario ordinare gli elementi window
e windowList
come segue:
window
vengono visualizzati come elementi secondari in un elemento windowList
o dialog
, ordinali in ordine decrescente gli elementi window
con le lunghezze dei nomi caption
che indicano la posizione nell’ordine.windowList
appaiono in un elemento window
, ordinali in ordine decrescente quelli windowList
, con le lunghezze degli attributi caption
del primo elemento indexes/
che indicano la posizione nell’ordine.Ordinamento degli elementi della finestra in un file di dialogo
<!-- The caption attribute in the following window element is 40 characters long. It is the longest caption in this example, so its parent window element appears before the others. -->
<window caption="Unexpected Failure in DebugActiveProcess">
<…>
</window>
<!-- Caption length is 33 characters. -->
<window caption="Adobe Acrobat - License Agreement">
<…>
</window>
<!-- Caption length is 33 characters. -->
<window caption="Microsoft Visual.*Runtime Library">
<…>
</window>
<!-- The caption attribute in the following window element is 28 characters long. It is the shortest caption in this example, so its parent window element appears after the others. -->
<window caption="Adobe Acrobat - Registration">
<…>
</window>
Ordinamento degli elementi della finestra all'interno di un elemento windowList
<!-- The caption attribute in the following indexes element is 56 characters long. It is the longest caption in this example, so its parent window element appears before the others. -->
<windowList>
<window caption="Can't exit design mode because.* cannot be created"/>
<window className="Button" caption="OK" action="press"/>
</windowList>
<windowList>
<window caption="Do you want to continue loading the project?"/>
<window className="Button" caption="No" action="press"/>
</windowList>
<windowList>
<window caption="The macros in this project are disabled"/>
<window className="Button" caption="OK" action="press"/>
</windowList>
Se si crea uno script per un'applicazione nativa non supportata in precedenza, è necessario creare anche un file XML di dialogo aggiuntivo per tale applicazione. Ogni applicazione nativa utilizzata da AppMon deve disporre di un solo file XML di dialogo aggiuntivo. Il file XML della finestra di dialogo aggiuntivo è necessario anche se non sono previste finestre di dialogo non richieste. La finestra di dialogo aggiuntiva deve avere almeno un elemento window
, anche se tale elemento window
è semplicemente un segnaposto.
In questo contesto, il termine aggiuntivo indica il contenuto dell'appello.[applicationname].add.[file locale].xml. Tale file specifica le sostituzioni e le aggiunte al file XML della finestra di dialogo.
È inoltre possibile modificare il file XML della finestra di dialogo aggiuntivo per un'applicazione nativa per i seguenti scopi:
Il nome file che identifica un file dialogXML aggiuntivo è appmon.[appname].add.[locale].xml. Un esempio è appmon.excel.addizione.en_US.xml.
Il nome del file XML della finestra di dialogo aggiuntivo deve utilizzare l'oggetto format.[applicationname].add.[locale].xml, dove ** applicationName deve corrispondere esattamente al nome dell'applicazione utilizzato nel file di configurazione XML e nello script.
Nessuna delle applicazioni generiche specificate nel file di configurazione native2pdfconfig.xml dispone di un file XML di dialogo primario. La sezione Aggiunta o modifica del supporto per un formato di file nativo descrive tali specifiche.
È necessario ordinare gli elementi windowList
che vengono visualizzati come elementi secondari in un elemento window
. (Vedere Ordinamento degli elementi windowList e windowList.)
È possibile modificare il file XML della finestra di dialogo generale per rispondere alle finestre di dialogo generate dal sistema o per rispondere alle finestre di dialogo comuni a più applicazioni.
Questa procedura spiega come aggiornare il file di configurazione del servizio Generate PDF per associare i tipi di file alle applicazioni native. Per aggiornare questo file di configurazione, è necessario utilizzare la console di amministrazione per esportare i dati di configurazione in un file. Il nome file predefinito per i dati di configurazione è native2pdfconfig.xml.
Aggiornare il file di configurazione del servizio PDF
filetype-settings
nel file nativo2pdfconfig.xml, se necessario.Il nome dell'applicazione è specificato come valore dell'attributo GenericApp
dell'elemento name
. Questo valore deve corrispondere esattamente al nome corrispondente specificato nello script sviluppato per quell'applicazione. Analogamente, l’attributo displayName
dell’elemento GenericApp
deve corrispondere esattamente alla didascalia della finestra expectedWindow
dello script corrispondente. Tale equivalenza viene valutata dopo la risoluzione di eventuali espressioni regolari visualizzate negli attributi displayName
o caption
.
In questo esempio, i dati di configurazione predefiniti forniti con il servizio Genera PDF sono stati modificati per specificare che il Blocco note (non Microsoft Word) deve essere utilizzato per elaborare i file con estensione .txt. Prima di questa modifica, Microsoft Word è stato specificato come applicazione nativa che deve elaborare tali file.
Modifiche per l'indirizzamento dei file di testo a Notepad (native2pdfconfig.xml)
<filetype-settings>
<!-- Some native app file types were omitted for brevity. -->
<!-- The following GenericApp element specifies Notepad as the native application that should be used to process files that have a txt file name extension. -->
<GenericApp
extensions="txt"
name="Notepad" displayName=".*Notepad"/>
<GenericApp
extensions="wpd"
name="WordPerfect" displayName="Corel WordPerfect"/>
<GenericApp extensions="pmd,pm6,p65,pm"
name="PageMaker" displayName="Adobe PageMaker"/>
<GenericApp extensions="fm"
name="FrameMaker" displayName="Adobe FrameMaker"/>
<GenericApp extensions="psd"
name="Photoshop" displayName="Adobe Photoshop"/>
</settings>
</filetype-settings>
Creare una variabile di ambiente che specifica la posizione dell'eseguibile dell'applicazione nativa. La variabile deve utilizzare il formato [nomeapplicazione]_PATH, dove nomeapplicazione deve corrispondere esattamente al nome dell'applicazione utilizzato nel file di configurazione XML e nello script, e dove il percorso contiene il percorso dell'eseguibile tra virgolette doppie. Un esempio di tale variabile di ambiente è Photoshop_PATH
.
Dopo aver creato la nuova variabile di ambiente, è necessario riavviare il server in cui viene distribuito il servizio Generate PDF.
Creare una variabile di sistema nell'ambiente Windows XP
c:\windows\Notepad.exe
Crea una variabile di sistema dalla riga di comando
In una finestra della riga di comando, digitare la definizione della variabile utilizzando il seguente formato:
[applicationname]_PATH=[Full path name]
Ad esempio, digitare: NotePad_PATH=C:\WINDOWS\NOTEPAD.EXE
Avvia un nuovo prompt della riga di comando per rendere effettiva la variabile di sistema.
AEM Forms include file XML di esempio che consentono al servizio Generate PDF di utilizzare Notepad per elaborare file con estensione .txt. Questo codice è incluso in questa sezione. Inoltre, devi apportare le altre modifiche descritte in questa sezione.
Questo esempio contiene le finestre di dialogo aggiuntive per l'applicazione Notepad. Queste finestre di dialogo possono essere oltre a quelle specificate dal servizio Genera PDF.
Finestra di dialogo Blocco note(appmon.blocco note.addizione.en_US.xml)
<dialogs app="Notepad" locale="en_US" version="7.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="dialogs.xsd">
<window caption="Caption Title">
<windowList>
<window className="Button" caption="OK" action="press"/>
</windowList>
</window>
</dialogs>
Questo esempio specifica come il servizio Generate PDF deve interagire con Notepad per stampare i file utilizzando la stampante Adobe PDF.
File XML script del Blocco note (appmon.blocco note.script.en_US.xml)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
*
* ADOBE CONFIDENTIAL
* ___________________
* Copyright 2004 - 2005 Adobe Systems Incorporated
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains
* the property of Adobe Systems Incorporated and its suppliers,
* if any. The intellectual and technical concepts contained
* herein are proprietary to Adobe Systems Incorporated and its
* suppliers and may be covered by U.S. and Foreign Patents,
* patents in process, and are protected by trade secret or copyright law.
* Dissemination of this information or reproduction of this material
* is strictly forbidden unless prior written permission is obtained
* from Adobe Systems Incorporated.
*-->
<!-- This file automates printing of text files via notepad to Adobe PDF printer. In order to see the complete hierarchy we recommend using the Microsoft Spy++ which details the properties of windows necessary to write scripts. In this sample there are total of eight steps-->
<application name="Notepad" version="9.0" locale="en_US" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="scripts.xsd">
<!-- In this step we wait for the application window to appear -->
<step>
<expectedWindow>
<window caption=".*Notepad"/>
</expectedWindow>
</step>
<!-- In this step, we acquire the application window and send File->Open menu bar, menu item commands and the expectation is the windows Open dialog-->
<step>
<acquiredWindow>
<window caption=".*Notepad">
<virtualInput>
<menuBar>
<selection>
<name>File</name>
</selection>
<selection>
<name>Open...</name>
</selection>
</menuBar>
</virtualInput>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Open"/>
</expectedWindow>
</step>
<!-- In this step, we acquire the Open window and then select the 'Edit' widget and input the source path followed by clicking on the 'Open' button . The expectation of this 'action' is that the Open dialog will disappear -->
<step>
<acquiredWindow>
<window caption="Open">
<windowList>
<window className="ComboBoxEx32">
<windowList>
<window className="ComboBox">
<windowList>
<window className="Edit" action="inputSourcePath"/>
</windowList>
</window>
</windowList>
</window>
</windowList>
<windowList>
<window className="Button" caption="Open" action="press"/>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Open" action="disappear"/>
</expectedWindow>
<pause value="30"/>
</step>
<!-- In this step, we acquire the application window and send File->Print menu bar, menu item commands and the expectation is the windows Print dialog-->
<step>
<acquiredWindow>
<window caption=".*Notepad">
<virtualInput>
<menuBar>
<selection>
<name>File</name>
</selection>
<selection>
<name>Print...</name>
</selection>
</menuBar>
</virtualInput>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Print">
</window>
</expectedWindow>
</step>
<!-- In this step, we acquire the Print dialog and click on the 'Preferences' button and the expected window in this case is the dialog with the caption '"Printing Preferences' -->
<step>
<acquiredWindow>
<window caption="Print">
<windowList>
<window caption="General">
<windowList>
<window className="Button" caption="Preferences" action="press"/>
</windowList>
</window>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Printing Preferences"/>
</expectedWindow>
</step>
<!-- In this step, we acquire the dialog "Printing Preferences' and select the combo box which is the 10th child of window with caption '"Adobe PDF Settings' and select the first index. (Note: All indeces start with 0.) Besides this we uncheck the box which has the caption '"View Adobe PDF results' and we click on the button OK. The expectation is that 'Printing Preferences' dialog disappears. -->
<step>
<acquiredWindow>
<window caption="Printing Preferences">
<windowList>
<window caption="Adobe PDF Settings">
<windowList>
<window className="Button" caption="View Adobe PDF results" action="uncheck"/>
</windowList>
<windowList>
<window className="Button" caption="Ask to Replace existing PDF file" action="uncheck"/>
</windowList>
</window>
</windowList>
<windowList>
<window className="Button" caption="OK" action="press"/>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Printing Preferences" action="disappear"/>
</expectedWindow>
</step>
<!-- In this step, we acquire the 'Print' dialog and click on the Print button. The expectation is that the dialog with caption 'Print' disappears. In this case we use the regular expression '^Print$' for specifying the caption given there could be multiple dialogs with caption that includes the word Print. -->
<step>
<acquiredWindow>
<window caption="Print">
<windowList>
<window caption="General"/>
<window className="Button" caption="^Print$" action="press"/>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Print" action="disappear"/>
</expectedWindow>
</step>
<step>
<expectedWindow>
<window caption="Save PDF File As"/>
</expectedWindow>
</step>
<!-- Finally in this step, we acquire the dialog with caption "Save PDF File As" and in the Edit widget type the destination path for the output PDF file and click on the Save button. The expectation is that the dialog disappears-->
<step>
<acquiredWindow>
<window caption="Save PDF File As">
<windowList>
<window className="Edit" action="inputDestinationPath"/>
</windowList>
<windowList>
<window className="Button" caption="Save" action="press"/>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Save PDF File As" action="disappear"/>
</expectedWindow>
</step>
<!-- We can always set a retry count or a maximum time for a step. In case we surpass these limitations, PDF Generator generates this abort message and terminates processing. -->
<abortMessage msg="15078"/>
</application>