Fonctions des actifs
Les fonctions des actifs vous permettent de travailler avec des images, des PDF et du contenu web de manière programmatique. Ces fonctions permettent de vérifier l’existence d’un actif, de récupérer des chemins de fichiers et des URL, de compter les pages d’un PDF, de générer des images dynamiques et de télécharger du contenu depuis le web.
Valeurs des types de média
Plusieurs fonctions des actifs acceptent un paramètre de type de média pour spécifier le type d’actif à utiliser :
|
Valeur |
Type de média |
Description |
|---|---|---|
|
3 |
Web Graphics |
Images optimisées pour la sortie web |
|
6 |
Web Text |
Contenu textuel pour la sortie web |
|
7 |
Print Text |
Contenu textuel pour la sortie imprimée |
|
8 |
Print Graphics |
Images optimisées pour la sortie imprimée (par défaut) |
Fonction IsAssetExist
La fonction IsAssetExist vérifie si un actif existe dans la bibliothèque d’actifs de la campagne. Cela est utile pour une logique conditionnelle permettant de gérer les actifs manquants de manière élégante ou de sélectionner un contenu alternatif lorsqu’un actif n’est pas disponible.
Cette fonction renvoie un type de données Boolean.
Syntaxe
IsAssetExist(assetIdAsString [, mediaTypeNumber])
|
Paramètre |
Description |
|---|---|
|
assetIdAsString |
Obligatoire. L’identifiant de l’actif (nom de fichier ou ID de l’actif) dont l’existence doit être vérifiée. |
|
mediaTypeNumber |
Facultatif. Le type de média à rechercher (3=images web, 6=texte web, 7=texte imprimé, 8=images imprimées). La valeur par défaut est 8 (images imprimées) si omis. |
Exemples
-
Vérifier si un actif d’image imprimée existe :
IsAssetExist("logo.png")
Résultat : True (si l’actif existe)
-
Vérifier si un actif d’image web existe :
IsAssetExist("banner.jpg", 3)
Résultat : True ou False
-
Utiliser une logique conditionnelle pour gérer les actifs manquants :
If(IsAssetExist(|->[ProductImage])) {|->[ProductImage]} else {"default_product.png"}
Résultat : Renvoie l’image du produit si elle existe, sinon renvoie une image par défaut.
-
Vérifier un actif spécifique au destinataire :
IsAssetExist(|->[CustomerID] & "_photo.jpg")
Si CustomerID = "C1001" :
Résultat : True (si "C1001_photo.jpg" existe), sinon False.
Fonction GetAssetPath
La fonction GetAssetPath récupère le chemin d’accès au fichier d’un actif. Cela est utile lorsque vous avez besoin de l’emplacement réel du fichier pour le traitement ou lorsque vous travaillez avec des systèmes externes nécessitant des chemins de fichiers.
Cette fonction renvoie un type de données String (chemin de fichier), ou Null si l’actif est introuvable.
Syntaxe
GetAssetPath(assetIdAsString [, mediaTypeNumber])
|
Paramètre |
Description |
|---|---|
|
assetIdAsString |
Obligatoire. L’identifiant de l’actif (nom de fichier ou ID de l’actif) dont le chemin doit être récupéré. |
|
mediaTypeNumber |
Facultatif. Le type de média à rechercher (3=images web, 6=texte web, 7=texte imprimé, 8=images imprimées). La valeur par défaut est 8 (images imprimées) si omis. |
Exemples
-
Obtenir le chemin d’un actif d’image imprimée :
GetAssetPath("product_photo.jpg")
Résultat : "C:\XMPie\Assets\Campaign123\product_photo.jpg"
-
Obtenir le chemin d’un actif d’image web :
GetAssetPath("hero_banner.png", 3)
Résultat : Chemin vers la version web de l’actif
-
Construire un chemin d’actif dynamique basé sur les données du destinataire :
GetAssetPath(|->[Region] & "_map.pdf")
Si Region = "Northeast" :
Résultat : Chemin vers "Northeast_map.pdf"
-
Gérer les actifs manquants avec une solution de repli :
If(GetAssetPath(|->[CustomLogo]) != Null) {
GetAssetPath(|->[CustomLogo])
} else {
GetAssetPath("default_logo.png")
}
Remarque : Le chemin renvoyé est le chemin du système de fichiers côté serveur. Il est généralement utilisé pour le traitement interne et peut ne pas être accessible depuis des systèmes externes.
Fonction GetAssetWebURL
La fonction GetAssetWebURL obtient une URL accessible par le web pour un actif. Cela est utile lorsque vous devez référencer des actifs dans des e-mails HTML, des pages web ou tout contexte nécessitant une URL plutôt qu’un chemin de fichier.
Cette fonction renvoie un type de données String (URL), ou Null si l’actif est introuvable.
Syntaxe
GetAssetWebURL(assetIdAsString [, mediaTypeNumber])
|
Paramètre |
Description |
|---|---|
|
assetIdAsString |
Obligatoire. L’identifiant de l’actif (nom de fichier ou ID de l’actif) dont l’URL doit être récupérée. |
|
mediaTypeNumber |
Facultatif. Le type de média à rechercher (3=images web, 6=texte web, 7=texte imprimé, 8=images imprimées). La valeur par défaut est 8 (images imprimées) si omis. |
Exemples
-
Obtenir l’URL web d’un actif :
GetAssetWebURL("Pic1.pdf")
Résultat : "https://www.example.com/assets/Pic1.pdf"
-
Obtenir l’URL d’une image web :
GetAssetWebURL("email_header.png", 3)
Résultat : URL vers la version optimisée pour le web
-
Construire une balise HTML d’image avec l’URL de l’actif :
"<img src=\"" & GetAssetWebURL(|->[ProductImage], 3) & "\" alt=\"Product\">"
Si ProductImage = "widget.jpg" :
Résultat : "<img src="https://example.com/assets/widget.jpg" alt="Product">"
-
Créer un lien de téléchargement pour un PDF :
"<a href=\"" & GetAssetWebURL(|->[BrochureFile]) & "\">Download Brochure</a>"
-
Obtenir l’URL d’un actif avec une solution de repli s’il n’existe pas :
If(GetAssetWebURL(|->[PersonalizedImage], 3) != Null) {
GetAssetWebURL(|->[PersonalizedImage], 3)
} else {
GetAssetWebURL("generic_image.jpg", 3)
}
Fonction GetPDFAssetPageCount
La fonction GetPDFAssetPageCount compte le nombre de pages d’un actif de document PDF. Cela est utile pour l’assemblage dynamique de documents, la logique de pagination ou la validation des actifs PDF avant utilisation.
Cette fonction renvoie un type de données Number (nombre entier de pages). Renvoie 0 si l’actif est introuvable ou n’est pas un PDF valide.
Syntaxe
GetPDFAssetPageCount(assetIdAsString)
|
Paramètre |
Description |
|---|---|
|
assetIdAsString |
Obligatoire. L’identifiant de l’actif (nom de fichier ou ID de l’actif) du document PDF. |
Exemples
-
Obtenir le nombre de pages d’un PDF :
GetPDFAssetPageCount("catalog.pdf")
Si catalog.pdf existe, est un PDF valide et contient 24 pages :
Résultat : 24
-
Obtenir le nombre de pages d’un document spécifique au destinataire :
GetPDFAssetPageCount(|->[ContractFile])
Si ContractFile = "contract_v2.pdf" (un document de 5 pages) :
Résultat : 5
-
Traitement conditionnel basé sur le nombre de pages :
If(GetPDFAssetPageCount(|->[InsertPDF]) > 10) {
"Large document - additional postage required"
} else {
"Standard postage"
} -
Valider un PDF avant de l’inclure :
If(GetPDFAssetPageCount(|->[Attachment]) > 0) {
"Valid PDF attached"
} else {
"No valid PDF found"
} -
Calculer le nombre total de pages sur plusieurs PDF :
GetPDFAssetPageCount(|->[Doc1]) + GetPDFAssetPageCount(|->[Doc2]) + GetPDFAssetPageCount(|->[Doc3])
Fonction Rectangle
La fonction Rectangle génère une image rectangulaire dynamique avec une couleur CMJN spécifiée. Cela vous permet de créer des rectangles colorés à la volée à partir de données, ce qui est utile pour la sélection dynamique de couleurs dans les produits personnalisés, les échantillons de couleurs ou les éléments d’arrière-plan.
Cette fonction renvoie un actif de type Graphic pouvant être utilisé dans les ADOR d’image.
Syntaxe
Rectangle(cyanPercentage, magentaPercentage, yellowPercentage, blackPercentage)
|
Paramètre |
Description |
|---|---|
|
cyanPercentage |
Obligatoire. Le composant cyan (0-100). |
|
magentaPercentage |
Obligatoire. Le composant magenta (0-100). |
|
yellowPercentage |
Obligatoire. Le composant jaune (0-100). |
|
blackPercentage |
Obligatoire. Le composant noir (clé) (0-100). |
Valeurs de couleurs CMJN courantes
|
Couleur |
C |
M |
J |
N |
|---|---|---|---|---|
|
Noir |
0 |
0 |
0 |
100 |
|
Blanc |
0 |
0 |
0 |
0 |
|
Rouge |
0 |
100 |
100 |
0 |
|
Vert |
100 |
0 |
100 |
0 |
|
Bleu |
100 |
100 |
0 |
0 |
|
Jaune |
0 |
0 |
100 |
0 |
|
Cyan |
100 |
0 |
0 |
0 |
|
Magenta |
0 |
100 |
0 |
0 |
Exemples
-
Créer un rectangle noir uni :
Rectangle(0, 0, 0, 100)
Résultat : Une image rectangulaire noire
-
Créer un rectangle rouge :
Rectangle(0, 100, 100, 0)
Résultat : Une image rectangulaire rouge
-
Créer une couleur dynamique basée sur les données du destinataire :
Rectangle(|->[CyanValue], |->[MagentaValue], |->[YellowValue], |->[BlackValue])
Si CyanValue=50, MagentaValue=25, YellowValue=0, BlackValue=10 :
Résultat : Un rectangle de couleur personnalisée basé sur les préférences du destinataire
-
Créer un échantillon de couleur pour un produit :
Switch(|->[ProductColor])
{
case "Red":
Rectangle(0, 100, 100, 0)
case "Blue":
Rectangle(100, 100, 0, 0)
case "Green":
Rectangle(100, 0, 100, 0)
default:
Rectangle(0, 0, 0, 50)
}Résultat : Renvoie un rectangle coloré en fonction de la sélection de couleur du produit.
Remarque : La fonction Rectangle génère un actif graphique de manière dynamique au moment de la composition. La taille du rectangle est déterminée par le bloc graphique dans votre modèle de document.
Astuce : Cliquez ici pour apprendre à créer un sélecteur de couleurs dynamique dans uStore avec la fonction Rectangle.
Fonction Web.URLContentAsFile
La fonction Web.URLContentAsFile télécharge du contenu depuis une URL et le rend disponible en tant qu’actif. Cela est utile pour intégrer du contenu web dynamique, récupérer des images depuis des serveurs externes ou s’intégrer à des services web fournissant du contenu image.
Cette fonction renvoie un actif de type Graphic (le contenu téléchargé), ou un actif par défaut si le téléchargement échoue.
Syntaxe
Call Web.URLContentAsFile(URL [, timeout, defaultAssetName, contentType])
|
Paramètre |
Description |
|---|---|
|
URL |
Obligatoire. L’URL web depuis laquelle télécharger le contenu. |
|
timeout |
Facultatif. Durée maximale en secondes pour attendre le téléchargement. La valeur par défaut est de 30 secondes. |
|
defaultAssetName |
Facultatif. Le nom d’un actif de repli à utiliser si le téléchargement échoue. |
|
contentType |
Facultatif. Le type MIME IANA attendu du contenu (par ex., "image/jpeg", "image/png"). |
Exemples
-
Télécharger une image depuis une URL :
Call Web.URLContentAsFile("https://example.com/images/photo.jpg")
Résultat : Photo.jpg est téléchargé et utilisé comme actif
-
Télécharger avec un délai d’expiration et une solution de repli :
Call Web.URLContentAsFile("https://api.example.com/avatar/" & |->[UserID], 15, "default_avatar.png")
Télécharge l’avatar de l’utilisateur avec un délai d’expiration de 15 secondes, en utilisant default_avatar.png en cas d’échec.
-
Télécharger avec un type de contenu spécifique :
Call Web.URLContentAsFile(|->[ImageURL], 30, "placeholder.jpg", "image/jpeg")
-
Récupérer un graphique généré dynamiquement :
Call Web.URLContentAsFile(
"https://charts.example.com/generate?data=" & |->[SalesData] & "&type=bar",
45,
"chart_unavailable.png",
"image/png"
) -
Télécharger une image de carte personnalisée :
Call Web.URLContentAsFile(
"https://maps.example.com/static?address=" & HtmlEncode(|->[Address]),
20,
"generic_map.png"
)
Important : Cette fonction effectue une requête HTTP pendant la composition. Assurez-vous que l’URL cible est accessible depuis le serveur de production et tenez compte des valeurs de délai d’expiration pour un traitement fiable des travaux. L’utilisation d’un actif de repli est recommandée pour gérer les défaillances réseau de manière élégante.
Formation : Un tutoriel vidéo est disponible pour montrer comment utiliser la fonction Web.URLContentAsFile().
Fonction PDFAssetPagesTable
La fonction PDFAssetPagesTable génère des lignes de tableau à partir des pages d’un document PDF, avec une ligne par page. Cela est utile pour créer des tableaux dynamiques qui affichent ou référencent des pages PDF individuelles, comme des aperçus de documents ou un traitement page par page.
Cette fonction renvoie un type de données Table avec une ligne par page PDF.
Syntaxe
PDFAssetPagesTable(assetIdAsString)
|
Paramètre |
Description |
|---|---|
|
assetIdAsString |
Obligatoire. L’identifiant de l’actif (nom de fichier ou ID de l’actif) du document PDF. |
Format de sortie
Chaque ligne du tableau renvoyé contient une référence à une seule page PDF selon la convention de nommage :
filename.pdf:pageNumber
Où pageNumber commence à 1 (la première page est 1, pas 0).
Exemples
-
Générer un tableau à partir des pages d’un PDF :
PDFAssetPagesTable("catalog.pdf")
Si catalog.pdf contient 3 pages :
Résultat : Tableau avec les lignes "catalog.pdf:1", "catalog.pdf:2", "catalog.pdf:3"
-
Créer une galerie de miniatures des pages PDF dans un ADOR de tableau :
PDFAssetPagesTable(|->[BrochureFile])
Résultat : Utilisez ceci dans un ADOR de tableau avec une colonne d’image pour afficher chaque page sous forme de miniature.
Contexte d’utilisation : Cette fonction est généralement utilisée dans les expressions d’ADOR de tableau où la colonne d’image peut référencer des pages PDF individuelles. Le format de référence de page (filename.pdf:pageNumber) est compris par le moteur de composition lors du placement des pages PDF en tant qu’images.
Formation : Un tutoriel vidéo est disponible pour montrer comment utiliser la fonction PDFAssetPagesTable() pour insérer des pages d’un actif PDF dans un document dynamique.
Rubriques associées
-
Fonctions de conversion - Fonctions de conversion entre types de données
-
Fonctions numériques - Fonctions pour les opérations mathématiques
-
Fonctions de chaînes - Fonctions de manipulation de texte
-
Fonctions de date - Fonctions pour les opérations de date et d’heure