Cette fonction est fournie dans le cadre de l'utilisation de l'Adélia Print Engine.
Cette fonction est une version étendue de VaToolBxAPETransformDoc . Elle fait le même traitement tout en rajoutant un paramètre supplémentaire en entrée-sortie permettant de récupérer des informations sur le document produit.
Remarque : cette fonction est le pendant Adélia du service Web "transformxslfo" de l'APE.
Rappel : la dll VaToolBx doit être déjà chargée (ordre CHARGER_DLL) au moment de l'appel de cette fonction et doit rester chargée au moment de l'appel des fonctions VaToolBxAPEClearDataModel, VaToolBxAPEMergeDoc , VaToolBxAPEAddInDataModel ou VaToolBxAPEMergeAndTransformDoc.
Domaine d'application
- Client Java,
- Serveur Java,
- Client Adélia Web,
- Client Adélia Cloud.
Paramètres
IMAGE |
XslfoDoc |
Document au format XSL-FO. |
ALPHA(n) |
TypeMime |
Format de sortie du document résultat. La chaîne doit être au format défini par la RFC 6838 (cliquez ici pour plus de détails) |
ALPHA(n) ou IMAGE |
Options |
Définition des options à appliquer lors du traitement du document. |
IMAGE |
TransformDoc |
Document résultat de l'exécution du moteur Apache FOP sur le document XslfoDoc. |
ALPHA(n) ou IMAGE | ExtraParams | Paramètre en entrée-sortie au format d'objet JSON. Chaque attribut de cet objet doit avoir un nom parmi les éléments suivants :
|
NUM_BIN_2 |
CodeRetour |
Code retour de l'opération : 0 : L'opération s'est déroulée correctement. -1 : Le paramètre "Options" doit être de type ALPHA ou IMAGE. -2 : Erreur lors de l'analyse syntaxique au format JSON des options de traitement "Options". -3 : Erreur lors de l'analyse des valeurs des options de traitement Options". -4 : Erreur d'entrée/sortie lors de l'analyse des options de traitement "Options". -5 : Erreur lors de la fermeture du document résultat TransformDoc. -6 : Le paramètre "ExtraParams" doit être de type ALPHA ou IMAGE. -7 : Erreur lors de l'analyse syntaxique au format JSON du paramètre "ExtraParams". -8 : Erreur lors de l'analyse des valeurs du paramètre "ExtraParams". -9 : Erreur d'entrée/sortie lors de l'analyse du paramètre "ExtraParams". -10 : Erreur lors de la mise à jour du paramètre "ExtraParams". Les erreurs décrites ci-dessous sont liées au traitement du document XslfoDoc par le moteur Apache FOP : 31 : Erreur à la création du moteur Apache FOP. 32 : Erreur lors de la création du transformateur de document. 33 : Erreur lors de la transformation du document XslfoDoc. 34 : Erreur d'entrée/sortie lors du traitement du document résultat. 35 : Erreur interne lors du traitement du document XslfoDoc par le moteur. |
Formats de sortie du moteur Apache FOP
Ce moteur supporte plusieurs formats de sortie.
Options de traitement du document XSL-FO
Le paramètre "Options" permet de définir des caractéristiques supplémentaires dans la production du document résultat.
Le format des options doit être le format JSON : l'ensemble des options sont décrites dans un objet dont chaque membre décrit une option, à savoir :
- docDescription : option de définition de métadonnées stockées dans le document résultat (valeur de type JSON Object).
Cette option ne peut être utilisée qu'avec certains formats de sortie autorisant le stockage de métadonnées.
Actuellement, le moteur Apache FOP implémente le support des métadonnées seulement pour le format "application/pdf". - pdfDocPolicy : option de définition de la politique de droits d'un document au format "application/pdf" (valeur de type JSON array of Object). Cela regroupe les fonctions de protection par mot de passe, les autorisations d'impression, etc.
- docDescription : option de définition de métadonnées stockées dans le document résultat (valeur de type JSON Object).
Par exemple
ALPHA(20) |
TypeMime |
ALPHA(256) |
Options |
IMAGE |
XslfoDoc |
IMAGE |
TransformDoc |
NUM_BIN_2 |
returnCode |
ALPHA(256) |
extraParams |
ALPHA(256) |
xmlDoc |
xml_idf |
idfXmlDoc |
NUM_BIN_2 |
totalNbPages |
TypeMime = 'application/pdf'
Options = '{"pdfDocPolicy": {"userPassword": "user"}}}'
* Préparation du paramètre supplémentaire de demande du nombre total de pages du document construit
extraParams = '{"Ape-Total-Number-Pages": null}'
...
APPELER_DLL 'VaToolbx.dll' ' VaToolBxAPETransformDocEx' XslfoDoc TypeMime Options TransformDoc extraParams returnCode
* Extraire le nombre total de pages du paramètre JSON extraParams
conv_donnees extraParams 'JSON' xmlDoc 'XML'
xml_ouvrir idfXmlDoc *lecture *var_doc(xmlDoc)
xml_selection idfXmlDoc //Ape-Total-Number-Pages
XML_RECUP_VAL idfXmlDoc totalNbPages
↑ Haut de pagexml_fermer idfXmlDoc