Automatiser l’impression PDF des pages d’un portail

L'option Imprimer vers PDF permet d'imprimer la page courante d'un portail au format PDF. L'astuce suivante explique comment, à une fréquence déterminée, automatiser la création de PDF en fonction des valeurs de QuickViews présentes dans la page.

Considérons la page du portail suivante :

diveport_page1

Nous souhaitons automatiser la production de PDF en fonction des valeurs des QuickViews Trimestre-Année et Période.

Un script DI-Production va nous permettre de mener à bien cette tâche.

Il est composé des éléments suivants :

script_production1

Un nœud de départ (start), un nœud de boucle (loop), un processus PrintDP, un nœud de fin (end).

Voici les propriétés du processus PrintDP :

Print-DP-config1

DiveLine Port : paramétrage du port DiveLine (2130 par défaut)

DiveLine Server : nom du serveur DiveLine - si l'ensemble des modules Diver Solution sont installés sur le même serveur, indiquer localhost ou 127.0.0.1

DiveLine User : indiquer le nom d'un utilisateur ayant les droits d'accès pour la page considérée.

Document Type : permet de préciser le format du document généré - PDF ou PNG (image)

Email Object : choix dans la liste déroulante de l'une des valeurs proposées.

Page Height et Page Width : permettent de préciser respectivement la hauteur et la largeur en pixels du document généré - à adapter en fonction du contenu de la page.

Concernant le nœud boucle (loop), nous allons préciser dans la zone Parameters les valeurs de QuickViews que nous souhaitons utiliser pour filtrer les données de la page.

loop-parameters1

Dans notre exemple, le premier PDF généré contiendra la page du portail filtrée sur les valeurs de QuickViews Q1-2011 et Mois en cours, le deuxième PDF sur les valeurs de QuickViews Q2-2011 et Mois en cours et ainsi de suite.

Supposons que l'accès à la page du portail s'effectue avec l'URL suivante :

http://127.0.0.1:8080/diveport70#page=33ed40da-9e70-42aa-b8c9-de7b668bbf3c

Nous allons retourner dans le processus PrintDP afin de rajouter dans la zone DivePort URL l'URL suivante :

http://127.0.0.1:8080/diveport70#page=33ed40da-9e70-42aa-b8c9-de7b668bbf3c&dive-key=Trimestre-Année&dive-value=$Date&dive-key=Période&dive-value=$Période

Les paramètres définis précédemment dans le nœud boucle sont ainsi passés dans l'URL.

Dans les zones Attachment Name et File Name, vous pouvez également insérer les paramètres / valeurs de QuickViews dans le nom de fichier.

Print-DP-config2

Attachement Name permet de définir le nom du fichier attaché au courriel envoyé, tandis que File Name permet de définir le nom du fichier enregistré dans un répertoire local du serveur.

Une fois le script réalisé et complété, une sauvegarde et l'exécution de ce dernier permet la création de PDF dans le répertoire défini :

PDF-list1

L'ouverture par exemple du fichier rapportQ3-2011-Trimestre en cours.pdf montre bien que les données ont été filtrées sur Q3-2011 et Trimestre en cours :

pdf-result1

Il ne reste plus qu'à planifier l'exécution du script Production via DI-Production / WorkBench.