> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Installez le connecteur ABBYY FlexiCapture pour Pega en important FlexiCaptureConnector.jar sur le serveur et en créant une fonction Java qui appelle ses classes.

Pour installer Pega, vous devez [importer le connecteur sur le serveur](#import) et [créer une fonction Java dans Pega](#java).

<a id="import" />Pour importer le connecteur sur le serveur :

1. Ouvrez **Dev Studio** et cliquez sur **Configure → Application → Distribution → Import**.

   <Frame>
     <img src="https://mintcdn.com/abbyy/KEmWsO92hkr7eybZ/images/flexi-capture/connectors/Pega1.png?fit=max&auto=format&n=KEmWsO92hkr7eybZ&q=85&s=a341f96a004c8a19fb49207d18680709" alt="Capture d’écran de Pega Dev Studio avec le menu Configure ouvert, montrant le chemin Application → Distribution → Import sélectionné pour importer le connecteur." width="935" height="329" data-path="images/flexi-capture/connectors/Pega1.png" />
   </Frame>

2. Chargez le fichier **FlexiCaptureConnector.jar** sur le serveur.

3. Ouvrez le **Pega Self-Service Portal** et cliquez sur **Restart Server**.

<Frame>
  <img src="https://mintcdn.com/abbyy/Xgx3EG8BZs5YQjIJ/images/flexi-capture/connectors/Pega2.png?fit=max&auto=format&n=Xgx3EG8BZs5YQjIJ&q=85&s=eecde34cbec1e5bd944b2b7b9ae52933" alt="Capture d’écran de la page Operations du Pega Self-Service Portal avec le bouton Restart Server mis en évidence pour redémarrer le serveur d’applications." width="537" height="297" data-path="images/flexi-capture/connectors/Pega2.png" />
</Frame>

<a id="java" />Pour créer une fonction Java permettant d’appeler des méthodes des classes du connecteur :

1. Créez une nouvelle bibliothèque en cliquant sur **Records → Technical → Library → Create** et donnez-lui, par exemple, le nom *FlexiCaptureLibrary*. Incluez ensuite les packages suivants :

   * *java.util.*\*
   * *java.nio.file.*\*
   * *com.abbyy.connectors.*\*
   * *com.abbyy.connectors.models.*\*

   <Frame>
     <img src="https://mintcdn.com/abbyy/Xgx3EG8BZs5YQjIJ/images/flexi-capture/connectors/Pega48.png?fit=max&auto=format&n=Xgx3EG8BZs5YQjIJ&q=85&s=c0db6b32efd6466d4e21a56900335a91" alt="Capture d’écran de Pega Dev Studio modifiant l’enregistrement FlexiCaptureLibrary dans l’onglet Packages, avec les packages java.util, java.nio.file, com.abbyy.connectors et com.abbyy.connectors.models à inclure." width="577" height="394" data-path="images/flexi-capture/connectors/Pega48.png" />
   </Frame>

2. Cliquez sur **Save**, puis sur **Generate Library**.

3. Créez une nouvelle fonction en cliquant sur **Records → Technical →** **Function → Create**.

4. Dans le champ **Label**, indiquez un nom pour la nouvelle fonction (par exemple *CaptureData*).

5. Dans la section **Parameters**, spécifiez les deux paramètres d’entrée suivants :

| **Name**        | **Java type** |
| --------------- | ------------- |
| *FileName*      | *String*      |
| *Base64Content* | *String*      |

6. Dans le champ **Library**, saisissez le nom de la bibliothèque créée à l’étape 1 et cliquez sur **Create and open**.

7. Dans la fenêtre qui s’ouvre, sous l’onglet **Parameters**, indiquez *String* comme type de données dans le champ **Java data type** :

   <Frame>
     <img src="https://mintcdn.com/abbyy/Xgx3EG8BZs5YQjIJ/images/flexi-capture/connectors/Pega26.png?fit=max&auto=format&n=Xgx3EG8BZs5YQjIJ&q=85&s=ed724ead37a0bdc2a4a9a863b618b362" alt="Capture d’écran de Pega Dev Studio dans l’onglet Parameters de la fonction, montrant les paramètres d’entrée String FileName et Base64Content ainsi que String sélectionné comme type de données Java dans la section Output." width="710" height="495" data-path="images/flexi-capture/connectors/Pega26.png" />
   </Frame>

8. Copiez le code du fichier **CodeExample.java**, que vous trouverez dans *%Installation Path%\Connector for FlexiCapture as a Service\Samples\Pega Function* (pour plus de commodité, le code est reproduit ci-dessous). Sans quitter cette fenêtre, cliquez sur l’onglet **Java** et collez le code que vous venez de copier. Cet exemple de code envoie des fichiers à FC et récupère les résultats du traitement sous forme de chaînes JSON contenant les noms des champs capturés et leurs valeurs. Les fragments de code surlignés en jaune doivent être remplacés par des données de connexion valides nécessaires pour se connecter au serveur d’applications FC. Téléversez ensuite votre projet sur le serveur d’applications FC et [configurez-le](/fr/flexi-capture/connectors/pega/pega-configuring-fc).

```
// Création du client API FlexiCapture Web Services. Veuillez indiquer l'adresse du serveur d'applications FlexiCapture ici. 
try (FlexiCaptureWebServiceClient client = new FlexiCaptureWebServiceClient("https://FlexiCaptureApplicationServer")) {
// Veuillez décommenter la ligne ci-dessous et indiquer un nom de société pour interagir avec FlexiCapture Cloud ou le tenant.
// client.setTenant("Company");
// Veuillez fournir des identifiants utilisateur FlexiCapture valides.
client.setCredentials(new Credentials("Username", "Password"));
// Récupération du projet FlexiCapture. Veuillez indiquer un nom de projet ici.
try (FlexiCaptureProject project = client.getProject("InvoiceDemoProject")) {
// Préparation d'un fichier à téléverser dans FlexiCapture. 'FileName' et 'Base64Content' sont des paramètres de fonction Pega.
List<File> files = new ArrayList<File>();
files.add(new File(FileName, Base64.getDecoder().decode(Base64Content.replace("\n", "").replace("\r", ""))));
// Préparation d'une tâche pour le traitement par lot FlexiCapture.
BatchCreationJob job = new BatchCreationJob(files);
job.setName("Pega_" + System.currentTimeMillis());  // Définition du nom du lot FlexiCapture.
job.setType("Default");                             // Définition du nom du type de lot FlexiCapture.
// Création et exécution du lot FlexiCapture.
int batchId = project.create(job);
// Attente de la fin du traitement du lot et récupération des résultats.
Result result = project.getResult(batchId);
// Vérification si l'étape du lot est Traité.
if (result.getStage() == com.abbyy.connectors.models.Stage.Processed) {
// Retour des champs capturés sous forme de chaîne JSON.
return result.getFields();
} else {
// Levée d'une exception pour les autres étapes.
// Au lieu de lever une exception, le traitement de ces étapes peut être configuré ici.
throw new FlexiCaptureConnectorException(String.format("Unsupported FlexiCapture stage type '%s'.", result.getStage()));
}
}
} catch (Exception ex) {
// Chaînage des messages d'erreur.
Throwable cause = ex.getCause();
String message = ex.getMessage();
while (cause != null) {
message += " " + cause.getMessage();
cause = cause.getCause();
}
// Levée du message chaîné.
throw new FlexiCaptureConnectorException(message);
}
```

9. Cliquez sur l’onglet **Imports & Exceptions** et saisissez *Exception* dans la section **Exceptions thrown**.
10. Retournez à l’onglet **Java**, sélectionnez l’option **Function ready to be compiled?**, enregistrez vos modifications, puis cliquez sur **Generate function**. Si la fonction est générée correctement, le message suivant s’affiche :

<Frame>
  <img src="https://mintcdn.com/abbyy/Xgx3EG8BZs5YQjIJ/images/flexi-capture/connectors/Pega3.png?fit=max&auto=format&n=Xgx3EG8BZs5YQjIJ&q=85&s=0b973102dd28000d18049bfa8285b7da" alt="Capture d’écran d’une boîte de dialogue d’accusé de réception de bibliothèque Pega avec le statut Good et un message indiquant que la bibliothèque a été générée avec succès." width="364" height="282" data-path="images/flexi-capture/connectors/Pega3.png" />
</Frame>
