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
-
Überprüfen, ob ein Druckgrafik-Asset existiert:
IsAssetExist("logo.png")
Ergebnis: True (wenn das Asset existiert)
-
Überprüfen, ob ein Webgrafik-Asset existiert:
IsAssetExist("banner.jpg", 3)
Ergebnis: True oder False
-
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.
-
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
-
Den Pfad eines Druckgrafik-Assets abrufen:
GetAssetPath("product_photo.jpg")
Ergebnis: "C:\XMPie\Assets\Campaign123\product_photo.jpg"
-
Den Pfad eines Webgrafik-Assets abrufen:
GetAssetPath("hero_banner.png", 3)
Ergebnis: Pfad zur Webgrafik-Version des Assets
-
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
-
Die Web-URL eines Assets abrufen:
GetAssetWebURL("Pic1.pdf")
Ergebnis: "https://www.example.com/assets/Pic1.pdf"
-
Die URL einer Webgrafik abrufen:
GetAssetWebURL("email_header.png", 3)
Ergebnis: URL zur weboptimierten Version
-
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
-
Die Seitenanzahl eines PDFs abrufen:
GetPDFAssetPageCount("catalog.pdf")
Wenn catalog.pdf existiert, ein gültiges PDF ist und 24 Seiten hat:
Ergebnis: 24
-
Seitenanzahl für ein empfängerspezifisches Dokument abrufen:
GetPDFAssetPageCount(|->[ContractFile])
Wenn ContractFile = "contract_v2.pdf" (ein 5-seitiges Dokument):
Ergebnis: 5
-
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
-
Ein einfarbig schwarzes Rechteck erstellen:
Rectangle(0, 0, 0, 100)
Ergebnis: Eine schwarze rechteckige Grafik
-
Ein rotes Rechteck erstellen:
Rectangle(0, 100, 100, 0)
Ergebnis: Eine rote rechteckige Grafik
-
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
-
Ein Bild von einer URL herunterladen:
Call Web.URLContentAsFile("https://example.com/images/photo.jpg")
Ergebnis: Photo.jpg wird heruntergeladen und als Asset verwendet
-
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.
-
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
-
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"
-
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
-
Konvertierfunktionen - Funktionen zum Konvertieren zwischen Datentypen
-
Numerische Funktionen - Funktionen für mathematische Operationen
-
Zeichenkettenfunktionen - Funktionen zur Textbearbeitung
-
Datumsfunktionen - Funktionen für Datums- und Zeitoperationen