[GastForen Programme Print/Bildbearbeitung Adobe InDesign Wiederholender "Hyperlink" auf "Textanker"

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Wiederholender "Hyperlink" auf "Textanker"

Markus H.
Beiträge gesamt: 15

23. Jul 2009, 09:58
Beitrag # 1 von 32
Bewertung:
(6805 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gruezi!

Wir erstellen ein Interaktives PDF mit InDesign CS4.
Darin gibt es einen Glossar bei welchem die "Textanker" gesetzt werden und die entsprechenden Begriffe im Dokument mit dem "Hyperlink" jeweils darauf verweisen. Das funktioniert!

Nur treten die einzelnen Begriffe x-fach im Dokument auf und bei jedem Begriff den "Neuer Hyperlink" manuell zu setzen benötigt zu viel Arbeit. Wie kann ich dies speditiv abarbeiten?

Eine Idee war mit "Suchen Ersetzen" aber da nimmt er mir nur die Zeichen mit und nicht den "Hyperlink". Könnte ich eine Art Makro aufzeichnen..?

Über eine Antwort freue ich mich.
Mit Gruss markus
X

Wiederholender "Hyperlink" auf "Textanker"

Martin Fischer
  
Beiträge gesamt: 12785

23. Jul 2009, 10:01
Beitrag # 2 von 32
Beitrag ID: #402869
Bewertung:
(6800 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Markus,

> Könnte ich eine Art Makro aufzeichnen..?

Makro aufzeichnen geht nicht.
Aber Skripten geht.
(JavaScript, AppleScript, Visual Basic)

Allerdings ist dies mit etwas Lehrzeit verbunden.


als Antwort auf: [#402866]

Wiederholender "Hyperlink" auf "Textanker"

Markus H.
Beiträge gesamt: 15

23. Jul 2009, 10:19
Beitrag # 3 von 32
Beitrag ID: #402871
Bewertung:
(6796 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke! Dann lernen wir mal.
Dazu wollte ich das deutsche Skript-Handbuch auf Adobe öffnen, leider funktioniert aber der Link nicht: "www.adobe.com/go/scripting_id_de"
Auf der DVD habe ich nur den englischen Beitrag gefunden. Gibt es dieses Buch noch?


als Antwort auf: [#402869]

Wiederholender "Hyperlink" auf "Textanker"

Martin Fischer
  
Beiträge gesamt: 12785

23. Jul 2009, 10:37
Beitrag # 4 von 32
Beitrag ID: #402874
Bewertung:
(6791 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Markus,

ich fürchte, bei Adobe findest Du keine Einführung ins Skripten in deutscher Sprache.

Dokumentationen findest Du etwa hier: http://www.adobe.com/...n/documentation.html
Quellen zum Skripten findest Du auch unter 'Scripting resources' in http://www.adobe.com/.../indesign/scripting/


als Antwort auf: [#402871]

Wiederholender "Hyperlink" auf "Textanker"

Markus H.
Beiträge gesamt: 15

23. Jul 2009, 10:42
Beitrag # 5 von 32
Beitrag ID: #402875
Bewertung:
(6783 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin!
Werde micht dort mal schlau machen.


als Antwort auf: [#402874]

Wiederholender "Hyperlink" auf "Textanker"

Martin Fischer
  
Beiträge gesamt: 12785

23. Jul 2009, 11:16
Beitrag # 6 von 32
Beitrag ID: #402878
Bewertung:
(6767 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Markus,

weil's mich spontan selbst gekitzelt hat, hier eine kleine Skriptstudie für diese Aufgabe.
Ich betone 'Studie', weil es kein ausgereiftes Skript ist.
Ein solches folgt vielleicht irgendwann einmal im Skript-Archiv.
Code
var myArray = new Array; 

// Liste mit Paaren von a) gesuchter Begriff und b) definiertem Anker
myArray[0] = ['Rumpelstilzchen', 'Anker1'];
myArray[1] = ['Hänsel', 'Anker2'];
// ...

var d = app.activeDocument;

// Zurücksetzen der Suche-Ersetze Einstellungen
app.findTextPreferences = app.changeTextPreferences = null;

// Definition der Suche-/Ersetze Einstellungen (ganzes Wort, auch in Fußnoten suchen)
app.findChangeTextOptions.wholeWord = true;
app.findChangeTextOptions.includeFootnotes = true;

// Schleife durch die oben definierte Liste
for ( var i = 0; i < myArray.length; i++ )
makeHyperlinks(myArray[i]);


function makeHyperlinks(aPair)
{
// Prüfung, ob Anker vorhanden ist
var myAnchor = null;
myAnchor = d.hyperlinkTextDestinations.item(aPair[1]);
if (myAnchor != null)
{
app.findTextPreferences.findWhat = aPair[0];
// gefundenes Stellen mit dem Begriff
var r = d.findText();
for ( var f = 0; f < r.length; f++ )
{
try // um die wiederholte Verlinkung eines bereits verlinkten Texts abzufangen
{
// Hinzufügen der neuen Quelle
var mySource = d.hyperlinkTextSources.add({sourceText: r[f]});
// Hinzufügen des Hyperlinds
var myHyperlink = d.hyperlinks.add({ source: mySource, destination:myAnchor});
} catch(e){}
}
}
}


Am Anfang des Skripts wird eine erweiterbare Liste definiert.
Dort sind paarweise das im Dokument zu suchende Wort und der Name des Hyperlinkziels definiert:
myArray[0] = ['Rumpelstilzchen', 'Anker1'];
'Rumpelstilzchen' wird gesucht und überall im Text mit dem Textanker 'Anker1' verknüpft.

Im Code sind ein paar Kommentare enthalten, die auf Deutsch darauf hinweisen, was an diesen Stellen passiert.


als Antwort auf: [#402875]
(Dieser Beitrag wurde von Martin Fischer am 23. Jul 2009, 15:15 geändert)

Wiederholender "Hyperlink" auf "Textanker"

Markus H.
Beiträge gesamt: 15

23. Jul 2009, 13:02
Beitrag # 7 von 32
Beitrag ID: #402902
Bewertung:
(6731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wow, werde es sehr gerne damit versuchen!

markus


als Antwort auf: [#402878]

Wiederholender "Hyperlink" auf "Textanker"

Markus H.
Beiträge gesamt: 15

23. Jul 2009, 14:40
Beitrag # 8 von 32
Beitrag ID: #402918
Bewertung:
(6702 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Er gibt mir die Fehlermeldung siehe Anhang (auch die Ansicht des Script).

Die Kommentare sollte er ja übergehen?

Bleibt bei der ersten Zeile stehen...

markus


als Antwort auf: [#402878]
Anhang:
fehlermeldung.jpg (21.2 KB)   ansicht-script.jpg (102 KB)

Wiederholender "Hyperlink" auf "Textanker"

Martin Fischer
  
Beiträge gesamt: 12785

23. Jul 2009, 14:48
Beitrag # 9 von 32
Beitrag ID: #402919
Bewertung:
(6703 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Markus,

ein JavaScript braucht die Endung 'jsx' (oder 'js'), um von InDesign als solches erkannt zu werden.
Ein Skript mit der Endung 'vbs' wird als Visual Basic Script interpretiert.
Und das geht nicht.


Schau hier: Skripte installieren.
Oder hier: Skripte installieren nach Singelmann.


als Antwort auf: [#402918]
(Dieser Beitrag wurde von Martin Fischer am 23. Jul 2009, 14:49 geändert)

Wiederholender "Hyperlink" auf "Textanker"

Markus H.
Beiträge gesamt: 15

23. Jul 2009, 15:12
Beitrag # 10 von 32
Beitrag ID: #402923
Bewertung:
(6686 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sali Martin

Ich habe es angepasst. Es läuft bis Zeile 39, ich find aber nichts falsches dort, siehe Anhänge.
"Try ohne Catch oder Finally"...


als Antwort auf: [#402919]
Anhang:
fehlermeldung2.jpg (18.8 KB)   ansicht-script2.jpg (120 KB)

Wiederholender "Hyperlink" auf "Textanker"

Martin Fischer
  
Beiträge gesamt: 12785

23. Jul 2009, 15:16
Beitrag # 11 von 32
Beitrag ID: #402924
Bewertung:
(6687 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Markus,

das ist ein Flüchtigkeitsfehler von mir.
Zeile 38 muss lauten: } catch(e){}

Ich hab's oben entsprechend korrigiert.


als Antwort auf: [#402923]

Wiederholender "Hyperlink" auf "Textanker"

Markus H.
Beiträge gesamt: 15

23. Jul 2009, 16:04
Beitrag # 12 von 32
Beitrag ID: #402943
Bewertung:
(6656 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin,
Ich habe mal die zweite Zeile rausgenommen und konzentriere mich auf das Wort "aP" (Rumpelstilzchen).
Den Textanker habe ich eröffnet auch mit der Bezeichnung "aP" (Anker1), siehe Anhang.
Kann es sein das bei der Textankerbezeichnung noch mehr "Code" rein muss? Habe auch die ' Zeichen mal rausgenommen => selbe Fehlermeldung.

Du hast von einer "kleinen Skriptstudie" geschrieben vielleicht wollen wir jetzt zuviel…

Markus


als Antwort auf: [#402924]
Anhang:
fehlermeldung3.jpg (20.7 KB)   ansicht-script3.jpg (114 KB)   NameTextanker.jpg (13.3 KB)

Wiederholender "Hyperlink" auf "Textanker"

Martin Fischer
  
Beiträge gesamt: 12785

23. Jul 2009, 16:13
Beitrag # 13 von 32
Beitrag ID: #402944
Bewertung:
(6658 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Markus,

Du hast die erste Zeile meines Skripts unterschlagen.

Code
var myArray = new Array; 


Wie Du bemerkt hast, bleibt das nicht ohne Folgen.


als Antwort auf: [#402943]

Wiederholender "Hyperlink" auf "Textanker"

Markus H.
Beiträge gesamt: 15

23. Jul 2009, 16:35
Beitrag # 14 von 32
Beitrag ID: #402951
Bewertung:
(6644 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
;-)

Geilo Martin, es läuft!

aber

ich sollte "unsichtbare Rechtecke" haben.
Wenn ich es manuel mache, frag er mich ja jeweils danach. Siehe PDF.


als Antwort auf: [#402944]
Anhang:
aP-Rahmen-hyperlink.jpg (125 KB)   aP-Rahmen-textanker.jpg (147 KB)

Wiederholender "Hyperlink" auf "Textanker"

Martin Fischer
  
Beiträge gesamt: 12785

23. Jul 2009, 17:00
Beitrag # 15 von 32
Beitrag ID: #402954
Bewertung:
(6641 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hoffe, Du wünscht nicht, dass Dich auch das Skript jedes Mal fragt. ;-)

Ändere die Zeile var myHyperlink = d.hyperlinks.add({ source: mySource, destination:myAnchor}); wie folgt:

Code
var myHyperlink = d.hyperlinks.add({ source: mySource, destination:myAnchor, visible:false}); 


Übrigens: Wenn Du für den Text des Textankers dieselbe Bezeichnung verwendest wie für den zu suchenden Begriff, dann bekommt auch dieser eine Verknüpfung zum Textanker (also quasi zu sich selbst). Ich hoffe, das stört nicht.

Und wenn der Name des Textankers gleich lautet wie die Bezeichnungen der Textquellen (also beide 'aP' oder 'up' usw.) könnte man auch auf die Definition von Paaren verzichten und stattdessen eine eindimensionale Liste anlegen (myArray = ['aP', 'uP']). Das müsste man freilich in der Funktion dann entsprechend berücksichtigen.

Darüberhinaus könnte man die Liste extern in einer Textdatei anlegen und über das Skript per Dialog auswählen. So könnte man mehrere Listen verwalten und müsste nicht jedes Mal das Skript editieren.


als Antwort auf: [#402951]
(Dieser Beitrag wurde von Martin Fischer am 23. Jul 2009, 17:17 geändert)
X

Aktuell

PDF / Print
IWS-Logo_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
20.06.2024

Online
Donnerstag, 20. Juni 2024, 15.00 - 15.45 Uhr

Webinar

Etiketten-Workflows gehören zu den anspruchsvollsten in der grafischen Industrie. Ihre PDF-Dateien sind oft sehr komplex und erfordern eine spezielle Vorbereitung. pdfToolbox bietet viele Möglichkeiten, um diese Arbeit zu automatisieren. Nehmen Sie an unserem Webinar "pdfToolbox für den Etikettendruck" teil und lernen Sie einige der Funktionen kennen, die Ihren Etiketten-Workflow effizienter gestalten. Einige der Bereiche, die Sie kennenlernen werden, sind: Beschnitt erzeugen Beim Etikettendruck ist das Druckmotiv oft nicht rechteckig. Lernen Sie, wie Sie einen passenden Beschnitt für alle Arten von Formen hinzufügen können. Produktionsreife Dateien erstellen nutzen Sie bereits vorliegende Inhalte oder Seiteninformationen, um eine Weißform hinter dem Seiteninhalt hinzuzufügen, eine passgenaue Lackform für bestimmte Objekte zu erzeugen oder eine Stanzlinie mit korrektem Sonderfarbnamen zu erstellen. Ausschießen, Step & Repeat, N-Up Mit der Ausschieß-Engine von pdfToolbox lassen sich Seiten zu größeren Druckbögen zusammenfassen, wobei verschiedene Layouts und Komplexitäten unterstützt werden. Hochwertige Freigabe-Bögen Erstellen Sie automatisch Freigabe-Bögen mit Vorschaubildern Ihrer Produktionsdatei und Auftragsdaten aus dem MIS. Qualitätskontrolle pdfToolbox enthält Standard-Preflight-Profile, die die grundlegenden Anforderungen an PDF-Dateien in Etiketten-Workflows abdecken. Prüfen Sie ob Ihre Dokumente internationalen Standards wie ISO PDF/X oder GWG (Ghent Workgroup) Spezifikationen entspricht. Verpackungs- und etikettenspezifische Vorgaben, wie der ISO-Standard „Processing Steps“, werden ebenfalls unterstützt.

kostenlos

Ja

Organisator: callassoftware

https://www.impressed.de/schulung.php?c=sDetail&sid=322

pdfToolbox für den Ettikettendruck
Veranstaltungen
02.07.2024

Online
Dienstag, 02. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow