Asset-Funktionen

Asset-Funktionen ermöglichen die programmgesteuerte Arbeit mit Grafiken, PDFs und Webinhalten. Diese Funktionen erlauben es Ihnen, die Existenz von Assets zu überprüfen, Dateipfade und URLs abzurufen, PDF-Seiten zu zählen, dynamische Grafiken zu erzeugen und Inhalte aus dem Web herunterzuladen.

Medientyp-Werte

Mehrere Asset-Funktionen akzeptieren einen Medientyp-Parameter, um anzugeben, mit welchem Asset-Typ gearbeitet werden soll:

Wert

Medientyp

Beschreibung

3

Webgrafiken

Für die Webausgabe optimierte Grafiken

6

Webtext

Textinhalt für die Webausgabe

7

Drucktext

Textinhalt für die Druckausgabe

8

Druckgrafiken

Für die Druckausgabe optimierte Grafiken (Standard)

IsAssetExist-Funktion

Die Funktion IsAssetExist überprüft, ob ein Asset in der Asset-Bibliothek der Kampagne existiert. Dies ist nützlich für bedingte Logik, um fehlende Assets ordnungsgemäß zu behandeln oder alternative Inhalte auszuwählen, wenn ein Asset nicht verfügbar ist.

Diese Funktion gibt den Datentyp Boolean zurück.

Syntax

IsAssetExist(assetIdAsString [, mediaTypeNumber])

Parameter

Beschreibung

assetIdAsString

Erforderlich. Die Asset-Kennung (Dateiname oder Asset-ID), deren Existenz überprüft werden soll.

mediaTypeNumber

Optional. Der zu durchsuchende Medientyp (3=Webgrafiken, 6=Webtext, 7=Drucktext, 8=Druckgrafiken). Standardwert ist 8 (Druckgrafiken), wenn nicht angegeben.

Beispiele

  1. Überprüfen, ob ein Druckgrafik-Asset existiert:

    IsAssetExist("logo.png")

    Ergebnis: True (wenn das Asset existiert)

  2. Überprüfen, ob ein Webgrafik-Asset existiert:

    IsAssetExist("banner.jpg", 3)

    Ergebnis: True oder False

  3. Bedingte Logik zur Behandlung fehlender Assets verwenden:

    If(IsAssetExist(|->[ProductImage])) {|->[ProductImage]} else {"default_product.png"}

    Ergebnis: Gibt das Produktbild zurück, wenn es existiert, andernfalls ein Standardbild.

  4. Nach einem empfängerspezifischen Asset suchen:

    IsAssetExist(|->[CustomerID] & "_photo.jpg")

    Wenn CustomerID = "C1001":

    Ergebnis: True (wenn "C1001_photo.jpg" existiert), andernfalls False.

GetAssetPath-Funktion

Die Funktion GetAssetPath ruft den Dateisystempfad eines Assets ab. Dies ist nützlich, wenn Sie den tatsächlichen Dateispeicherort für die Verarbeitung benötigen oder mit externen Systemen arbeiten, die Dateipfade erfordern.

Diese Funktion gibt den Datentyp Zeichenkette (Dateipfad) oder Null zurück, wenn das Asset nicht gefunden wird.

Syntax

GetAssetPath(assetIdAsString [, mediaTypeNumber])

Parameter

Beschreibung

assetIdAsString

Erforderlich. Die Asset-Kennung (Dateiname oder Asset-ID), deren Pfad abgerufen werden soll.

mediaTypeNumber

Optional. Der zu durchsuchende Medientyp (3=Webgrafiken, 6=Webtext, 7=Drucktext, 8=Druckgrafiken). Standardwert ist 8 (Druckgrafiken), wenn nicht angegeben.

Beispiele

  1. Den Pfad eines Druckgrafik-Assets abrufen:

    GetAssetPath("product_photo.jpg")

    Ergebnis: "C:\XMPie\Assets\Campaign123\product_photo.jpg"

  2. Den Pfad eines Webgrafik-Assets abrufen:

    GetAssetPath("hero_banner.png", 3)

    Ergebnis: Pfad zur Webgrafik-Version des Assets

  3. Einen dynamischen Asset-Pfad basierend auf Empfängerdaten erstellen:

    GetAssetPath(|->[Region] & "_map.pdf")

    Wenn Region = "Northeast":

    Ergebnis: Pfad zu "Northeast_map.pdf"

Hinweis: Der zurückgegebene Pfad ist der serverseitige Dateisystempfad. Dieser wird typischerweise für die interne Verarbeitung verwendet und ist möglicherweise nicht von externen Systemen zugänglich.

GetAssetWebURL-Funktion

Die Funktion GetAssetWebURL ruft eine webzugängliche URL für ein Asset ab. Dies ist nützlich, wenn Sie Assets in HTML-E-Mails, Webseiten oder in jedem Kontext referenzieren müssen, in dem eine URL anstelle eines Dateipfads erforderlich ist.

Diese Funktion gibt den Datentyp Zeichenkette (URL) oder Null zurück, wenn das Asset nicht gefunden wird.

Syntax

GetAssetWebURL(assetIdAsString [, mediaTypeNumber])

Parameter

Beschreibung

assetIdAsString

Erforderlich. Die Asset-Kennung (Dateiname oder Asset-ID), deren URL abgerufen werden soll.

mediaTypeNumber

Optional. Der zu durchsuchende Medientyp (3=Webgrafiken, 6=Webtext, 7=Drucktext, 8=Druckgrafiken). Standardwert ist 8 (Druckgrafiken), wenn nicht angegeben.

Beispiele

  1. Die Web-URL eines Assets abrufen:

    GetAssetWebURL("Pic1.pdf")

    Ergebnis: "https://www.example.com/assets/Pic1.pdf"

  2. Die URL einer Webgrafik abrufen:

    GetAssetWebURL("email_header.png", 3)

    Ergebnis: URL zur weboptimierten Version

  3. Ein HTML-Bild-Tag mit Asset-URL erstellen:

    "<img src=\"" & GetAssetWebURL(|->[ProductImage], 3) & "\" alt=\"Product\">"

    Wenn ProductImage = "widget.jpg":

    Ergebnis: "<img src="https://example.com/assets/widget.jpg" alt="Product">"

GetPDFAssetPageCount-Funktion

Die Funktion GetPDFAssetPageCount zählt die Anzahl der Seiten in einem PDF-Dokument-Asset. Dies ist nützlich für die dynamische Dokumentzusammenstellung, Paginierungslogik oder die Validierung von PDF-Assets vor der Verwendung.

Diese Funktion gibt den Datentyp Zahl zurück (ganzzahlige Seitenanzahl). Gibt 0 zurück, wenn das Asset nicht gefunden wird oder kein gültiges PDF ist.

Syntax

GetPDFAssetPageCount(assetIdAsString)

Parameter

Beschreibung

assetIdAsString

Erforderlich. Die Asset-Kennung (Dateiname oder Asset-ID) des PDF-Dokuments.

Beispiele

  1. Die Seitenanzahl eines PDFs abrufen:

    GetPDFAssetPageCount("catalog.pdf")

    Wenn catalog.pdf existiert, ein gültiges PDF ist und 24 Seiten hat:

    Ergebnis: 24

  2. Seitenanzahl für ein empfängerspezifisches Dokument abrufen:

    GetPDFAssetPageCount(|->[ContractFile])

    Wenn ContractFile = "contract_v2.pdf" (ein 5-seitiges Dokument):

    Ergebnis: 5

  3. Bedingte Verarbeitung basierend auf der Seitenanzahl:

    If(GetPDFAssetPageCount(|->[InsertPDF]) > 10) {
    "Großes Dokument - zusätzliches Porto erforderlich"
    } else {
    "Standardporto"
    }

Rectangle-Funktion

Die Funktion Rectangle erzeugt eine dynamische rechteckige Grafik in einer angegebenen CMYK-Farbe. Dies ermöglicht die datengesteuerte Erstellung farbiger Rechtecke, nützlich für die dynamische Farbauswahl in personalisierten Produkten, Farbmuster oder Hintergrundelemente.

Diese Funktion gibt ein Grafik-Asset zurück, das in Grafik-ADORs verwendet werden kann.

Syntax

Rectangle(cyanPercentage, magentaPercentage, yellowPercentage, blackPercentage)

Parameter

Beschreibung

cyanPercentage

Erforderlich. Die Cyan-Komponente (0-100).

magentaPercentage

Erforderlich. Die Magenta-Komponente (0-100).

yellowPercentage

Erforderlich. Die Gelb-Komponente (0-100).

blackPercentage

Erforderlich. Die Schwarz-Komponente (Key) (0-100).

Beispiele

  1. Ein einfarbig schwarzes Rechteck erstellen:

    Rectangle(0, 0, 0, 100)

    Ergebnis: Eine schwarze rechteckige Grafik

  2. Ein rotes Rechteck erstellen:

    Rectangle(0, 100, 100, 0)

    Ergebnis: Eine rote rechteckige Grafik

  3. Eine dynamische Farbe basierend auf Empfängerdaten erstellen:

    Rectangle(|->[CyanValue], |->[MagentaValue], |->[YellowValue], |->[BlackValue])

    Ergebnis: Ein individuell eingefärbtes Rechteck basierend auf Empfängerpräferenzen

Hinweis: Die Rectangle-Funktion erzeugt zur Kompositionszeit dynamisch ein Grafik-Asset. Die Größe des Rechtecks wird durch den Grafikrahmen in Ihrer Dokumentvorlage bestimmt.

Tipp: Klicken Sie hier, um zu erfahren, wie Sie in uStore mithilfe der Rectangle-Funktion eine dynamische Farbauswahl erstellen.

Web.URLContentAsFile-Funktion

Die Funktion Web.URLContentAsFile lädt Inhalte von einer URL herunter und stellt sie als Asset zur Verfügung. Dies ist nützlich für die Einbindung dynamischer Webinhalte, das Abrufen von Bildern von externen Servern oder die Integration mit Webdiensten, die Bildinhalte bereitstellen.

Diese Funktion gibt ein Grafik-Asset (den heruntergeladenen Inhalt) oder ein Standard-Asset zurück, wenn der Download fehlschlägt.

Syntax

Call Web.URLContentAsFile(URL [, timeout, defaultAssetName, contentType])

Parameter

Beschreibung

URL

Erforderlich. Die Web-URL, von der Inhalte heruntergeladen werden sollen.

timeout

Optional. Maximale Wartezeit in Sekunden für den Download. Standardwert ist 30 Sekunden.

defaultAssetName

Optional. Der Name eines Ausweich-Assets, das bei einem Download-Fehler verwendet werden soll.

contentType

Optional. Der erwartete IANA-MIME-Typ des Inhalts (z. B. "image/jpeg", "image/png").

Beispiele

  1. Ein Bild von einer URL herunterladen:

    Call Web.URLContentAsFile("https://example.com/images/photo.jpg")

    Ergebnis: Photo.jpg wird heruntergeladen und als Asset verwendet

  2. Download mit Timeout und Ausweich-Asset:

    Call Web.URLContentAsFile("https://api.example.com/avatar/" & |->[UserID], 15, "default_avatar.png")

    Lädt den Avatar des Benutzers mit einem 15-Sekunden-Timeout herunter und verwendet default_avatar.png als Ausweich-Asset bei einem Fehler.

  3. Download mit bestimmtem Inhaltstyp:

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

Wichtig: Diese Funktion führt während der Komposition eine HTTP-Anfrage aus. Stellen Sie sicher, dass die Ziel-URL vom Produktionsserver aus erreichbar ist, und beachten Sie die Timeout-Werte für eine zuverlässige Auftragsverarbeitung. Die Verwendung eines Ausweich-Assets wird empfohlen, um Netzwerkausfälle ordnungsgemäß zu behandeln.

Schulung: Ein Video-Tutorial zeigt die Verwendung der Funktion Web.URLContentAsFile().

PDFAssetPagesTable-Funktion

Die Funktion PDFAssetPagesTable erzeugt Tabellenzeilen aus den Seiten eines PDF-Dokuments, mit einer Zeile pro Seite. Dies ist nützlich für die Erstellung dynamischer Tabellen, die einzelne PDF-Seiten anzeigen oder referenzieren, wie z. B. Dokumentvorschauen oder seitenweise Verarbeitung.

Diese Funktion gibt einen Tabellen-Datentyp mit einer Zeile pro PDF-Seite zurück.

Syntax

PDFAssetPagesTable(assetIdAsString)

Parameter

Beschreibung

assetIdAsString

Erforderlich. Die Asset-Kennung (Dateiname oder Asset-ID) des PDF-Dokuments.

Ausgabeformat

Jede Zeile in der zurückgegebenen Tabelle enthält einen Verweis auf eine einzelne PDF-Seite mit der Namenskonvention:

Dateiname.pdf:Seitennummer

Wobei Seitennummer 1-basiert ist (die erste Seite ist 1, nicht 0).

Beispiele

  1. Eine Tabelle aus den Seiten eines PDFs erzeugen:

    PDFAssetPagesTable("catalog.pdf")

    Wenn catalog.pdf 3 Seiten hat:

    Ergebnis: Tabelle mit den Zeilen "catalog.pdf:1", "catalog.pdf:2", "catalog.pdf:3"

  2. Eine Vorschaugalerie von PDF-Seiten in einem Tabellen-ADOR erstellen:

    PDFAssetPagesTable(|->[BrochureFile])

    Ergebnis: Verwenden Sie dies in einem Tabellen-ADOR mit einer Grafikspalte, um jede Seite als Vorschaubild anzuzeigen.

Verwendungskontext: Diese Funktion wird typischerweise in Tabellen-ADOR-Ausdrücken verwendet, wobei die Grafikspalte einzelne PDF-Seiten referenzieren kann. Das Seitenreferenzformat (Dateiname.pdf:Seitennummer) wird von der Kompositions-Engine beim Platzieren von PDF-Seiten als Grafiken verstanden.

Schulung: Ein Video-Tutorial zeigt, wie Sie die Funktion PDFAssetPagesTable() verwenden, um Seiten aus einem PDF-Asset in ein dynamisches Dokument einzufügen.

Mehr Themen