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

  1. Vérifier si un actif d’image imprimée existe :

    IsAssetExist("logo.png")

    Résultat : True (si l’actif existe)

  2. Vérifier si un actif d’image web existe :

    IsAssetExist("banner.jpg", 3)

    Résultat : True ou False

  3. 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.

  4. 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

  1. Obtenir le chemin d’un actif d’image imprimée :

    GetAssetPath("product_photo.jpg")

    Résultat : "C:\XMPie\Assets\Campaign123\product_photo.jpg"

  2. Obtenir le chemin d’un actif d’image web :

    GetAssetPath("hero_banner.png", 3)

    Résultat : Chemin vers la version web de l’actif

  3. 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"

  4. 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

  1. Obtenir l’URL web d’un actif :

    GetAssetWebURL("Pic1.pdf")

    Résultat : "https://www.example.com/assets/Pic1.pdf"

  2. Obtenir l’URL d’une image web :

    GetAssetWebURL("email_header.png", 3)

    Résultat : URL vers la version optimisée pour le web

  3. 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">"

  4. Créer un lien de téléchargement pour un PDF :

    "<a href=\"" & GetAssetWebURL(|->[BrochureFile]) & "\">Download Brochure</a>"

  5. 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

  1. 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

  2. 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

  3. Traitement conditionnel basé sur le nombre de pages :

    If(GetPDFAssetPageCount(|->[InsertPDF]) > 10) {
    "Large document - additional postage required"
    } else {
    "Standard postage"
    }

  4. Valider un PDF avant de l’inclure :

    If(GetPDFAssetPageCount(|->[Attachment]) > 0) {
    "Valid PDF attached"
    } else {
    "No valid PDF found"
    }

  5. 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

  1. Créer un rectangle noir uni :

    Rectangle(0, 0, 0, 100)

    Résultat : Une image rectangulaire noire

  2. Créer un rectangle rouge :

    Rectangle(0, 100, 100, 0)

    Résultat : Une image rectangulaire rouge

  3. 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

  4. 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

  1. 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

  2. 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.

  3. Télécharger avec un type de contenu spécifique :

    Call Web.URLContentAsFile(|->[ImageURL], 30, "placeholder.jpg", "image/jpeg")

  4. 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"
    )

  5. 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

pageNumber commence à 1 (la première page est 1, pas 0).

Exemples

  1. 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"

  2. 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