2016-05-23 7 views
0

Ich habe eine PDF, die eine Schaltfläche mit Feldname ctaButton hat.Acrobat Javascript: Übergabe eines UTM-Parameters von URL in eine PDF-Schaltfläche

ctaButton hat derzeit eine URL, die auf zeigt.

Ich möchte das PDF auf meinem Server unter https://mywebsite.com/hosted.pdf hosten.

Und wenn ich jemand einen Link zum PDF senden, möchte ich einen UTM_term Parameter ?utm_term=customer1 befestigen und dann die PDF diesen Parameter lesen und aktualisieren Sie die ctaButton URL https://mywebsite.com/?utm_term=customer1.

Ich habe ein paar Stunden mit den Javascript-Aktionen in Acrobat herumgespielt und versucht, dies zu erreichen. Jede Hilfe sehr geschätzt.

Antwort

0

Ich habe Stunden der Forschung und kam zu dieser Schlussfolgerung - Javascript in Acrobat ist wie der Versuch, 1985 zu programmieren UND Browser werden nicht ausführen, was Code Sie kommen mit.

So habe ich diese Abhilfe:

  • Als ich das PDF an jemanden senden, ich es als eine Verbindung mit einem base64 codierten Zeichenfolge JSON-Paket senden, die eine Reihe von Tracking Daten enthalten, aber wichtiger ist, die Name der Datei sowie utm Parameter für den Zugriff auf die spezifisch für den Empfänger
  • der Link trifft einen Server-Handler (NodeJS), die die codierten JSON-Paket extrahiert und verwendet die Daten in dem Paket eine HTML-aufzutischen Umleitung Seite zeigt auf die rechts PDF-Datei
  • Wichtig ist, speichert die HTML-Seite auch das JSON-Paket in Browser localStorage. . . Das ist praktisch, in der nachfolgenden Schritten
  • Die PDF-Datei in Browser öffnet (es nicht zu, hat auf Desktop geöffnet werden konnte) und der Aufruf zum Handeln Link einen Link zu einer Get-Anforderung Handler
  • hat
  • die get-Request-Handler dient Diese zweite Umleitungsseite greift der Browser des lokalen Speicher wieder einen einzigen umadressierenseite
  • auf, schaut für die UTM-Parameter I für diesen Benutzer festgelegt, und leitet dann zum verkaufen Seite, mit schönen utm Parameter angebracht

Zusammenfassend fügen Sie die utm-Parameter nicht dem Call-to-Action-Link in der PDF-Datei hinzu (weil das die Welt zu einfach zum Leben machen würde) und stattdessen machen Sie all diese Akrobatik (kein Wortspiel beabsichtigt) zum Anhängen utm Parameter in den Link klickt (über JSON Strings in localStorage gespeichert) während des Prozesses (dh wenn der Benutzer die E-Mail öffnet, um die Datei über den Link zu extrahieren, und wenn der Benutzer im PDF auf Call-to-Action klickt.

Fragen oder Erläuterungen bitte lassen Sie mich in den Kommentaren wissen, und ich werde mein Bestes tun, um zu adressieren.

Caveats

  • funktioniert nur, wenn der Benutzer denselben Browser in allen Schritten verwendet (dh, wenn Susan die E-Mail in Safari öffnet, speichert die PDF, dann klickt auf den Aufruf zum Handeln in der PDF, und den Link öffnet in Chrome, utm Parameter werden nicht übergeben).
  • Geht davon Browser ist modern und hat localStorage

UPDATE: Ich über eine andere Lösung kam. Es ist ein bisschen komplizierter. Diagramm unten.

enter image description here

Porky.io ist eine Erweiterung Javascript für Adobe Indesign. So Fluss:

  1. Porky.io senden die Kundendaten, die Sie benötigen (zB alarm UTM für Links)
  2. Porky.io erzeugt PDF aus einer Vorlage, die Sie mit den Kundendaten liefern Sie zur Verfügung gestellten
  3. für ein Hören neue Datei von Porky speichern
  4. etwas mit der Datei durchführen (zB es Kunden eine E-Mail)

ich glaube, Sie brauchen eine Instanz von Windows irgendwo in der Cloud (zB auf Azure) laufen Indesign mit der laufen Porky.io. Es sei denn, Sie wollen sich auf Ihren Laptop verlassen.

Mein Projekt ist noch nicht groß genug, um dies einzurichten. . . aber gute Alternative, wenn ich meine aktuelle Lösung robuster machen muss.

0

Sie können die vollständige URL zu dem Dokument erhalten mit ...

var myURL = this.url; 

"this" in Acrobat JavaScript ist das Dokument Kontext.

+0

danke - technisch korrekt, obwohl ich gelernt, Browser werden nicht Acrobat-Code ausführen. Siehe Antwort, die ich zur Problemumgehung gepostet habe, die perfekt für mich funktioniert. – martellalex

Verwandte Themen