Sauvegarde en PDF

L’enregistrement des formulaires au format PDF est une fonctionnalité native de K2. Il est possible d’utiliser le contrôle smartforms Save As PDF ou bien un smartobject assez discret proposé par K2. Le smartobject en question se nomme PDF Converter et repose sur le service object et le service instance du même nom. Le contrôle utilise  le même smartobject, les deux méthodes donnent un résultat identique, avec les différences suivantes :

  • Le contrôle Save As PDF doit être placé dans le formulaire (ou une vue du formulaire) que vous souhaitez enregistrer.
    • Au moment où la méthode du contrôle Save As PDF est appelée, c’est l’affichage actuel de l’écran qui est enregistré. Tel que l’utilisateur voit le formulaire.
    • Ce billet se concentre sur l’utilisation du contrôle.
  • A l’inverse, le smartobject peut être utilisé pour enregistrer une page html dynamiquement (appelée depuis un processus par exemple).
    • L’affichage dépend alors de ce que voit le compte de service K2 par rapport aux permissions et autres mécanismes d’autorisation.
    • La documentation en ligne précise qu’il faut utiliser de préférence le contrôle plutôt que le service.

Le contrôle Save As PDF

Contrôle qui n’a pas de représentation visuelle à l’exécution (comme les contrôles BarCode, Timer, ImageAnnotation ou LocationServices). Il propose les paramètres suivants :

  • Append Date : la date et l’heure est utilisée pour le nom du document.
  • Clean IFrames : en cochant la case, le document PDF est généré même en cas d’erreur dans les IFrames. En décochant, le document n’est pas généré si la page d’une IFrame est en erreur.
  • File Name : le nom du fichier .
  • Page Size : la liste des tailles disponibles pour la création du PDF. Il va falloir jouer entre les différentes options pour obtenir le meilleur résultat.  Utiliser A4 pour un formulaire avec width=800 px , A3 avec width=1000 px.
  • Page Orientation : mode portrait ou paysage du document.
  • Data Source : permet de choisir le smartobject qui va stocker le document PDF. Par défaut, c’est un smartobject smartbox qui s’en charge.

De plus, il dispose des méthodes Save PDF et Save PDF Async. La première va figer l’écran pendant la génération du PDF, la deuxième effectue la génération sans gêner l’utilisation du formulaire.

Enfin, il propose les événements is Started et is Completed. Le premier sert à déclencher une règle au début de la création du document, le deuxième lorsque le document est généré.

Exemple d’utilisation

Pour le test, nous utiliserons un formulaire de gestion d’investissement dont les lignes suivantes sont dédiées uniquement à l’utilisation du contrôle. Le formulaire est enrichi avec :

    1. Le contrôle Save As PDF (vérifier le paramètre Page Size).
    2. Un data label, caché de préférence, pour récupérer l’ID du document.
    3. Un bouton pour exécuter les fonctionnalités de sauvegarde en PDF.

Form

Les règles du formulaire

Une fois que tous les éléments sont placés, il n’y a plus qu’à ajouter les règles.

Au plus simple (si le document ne doit pas être imprimé) :

    1. Ajouter une règle sur le bouton qui fait appel à la méthode du contrôle Save As PDF (execute a control's method). Vous avez ensuite la possibilité d’utiliser soit Save PDF ou Save PDF Async.
save
Pas besoin de toucher à la configuration
    1. Ajouter une règle sur le contrôle Save As PDF pour récupérer l’ID du document généré.

ID

  1. Si besoin, utiliser l’ID pour récupérer le document.
simple
Au plus simple

Au mieux (si le document doit être imprimé) :

  1. Préparer un statePDF” dans votre formulaire pour modifier la présentation. Cachez les boutons, les documents, les onglets, utilisez de préférence un fond blanc, cela vous fera économiser les cartouches d’encre de l’imprimante.
  2. Utiliser le bouton pour ouvrir le formulaire dans un nouvel onglet, avec le state PDF, et le thème SharePoint 2013 par exemple si le vôtre ajoute beaucoup de couleur à l’affichage.
  3. Lorsque le formulaire s’ouvre dans le state PDF, exécuter la méthode Save PDF du contrôle Save As PDF (cf paragraphe au plus simple).
mieux
Au mieux

C’est tout pour cette fois, cheers !

benjamin

Technical Specialist @t K2 France —–
Twitter : @benjaminbertram —–
LinkedIn : Benjamin Bertram

One thought to “Sauvegarde en PDF”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *