[GastForen Programme Print/Bildbearbeitung Adobe InDesign Artikelnummern aus Tabellen automatisiert in Links konvertieren

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

Artikelnummern aus Tabellen automatisiert in Links konvertieren

Trimer
Beiträge gesamt: 236

7. Jan 2016, 17:19
Beitrag # 1 von 10
Bewertung:
(4773 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen,

ich weiß nicht ob ich zu doof bin, einen Beitrag zu finden, ich einfach mit den falschen Begriffen suche, oder ob noch keiner von Euch ein ähnliches Problem hatte.

Situation: ich habe InDesign Dokumente, die automatisiert erstellt werden. In diesen Dokumenten gibt es eine Menge Bestelltabellen. Die Artikelnummern in den Bestelltabellen beziehen sich auch auf Produkte, die in einem Online-Shop bestellbar sind. Logischerweise folgen diese URLs im Webshop einer klaren Struktur. (z.B.: www.meineadresse_01234.de)

Benötigtes Ziel: Ich möchte eine interaktive PDF erstellen, in der man durch Klick auf die Artikelnummern zu dem jeweiligen Produkt im Shop kommt.

Idee: Eine Lösung (Skript oder PlugIn) in der ich eine Variable (eben die URL exklusive der Art.-Nr.) hinterlegen kann und diese dann die Art-Nr. in Links konvertiert.

Natürlich weiß ich, wie man manuell Hyperlinks in InDesign erstellt. Doch manuell ist in diesem Fall einfach keine Lösung. Ich könnte mir den weg über ein spezielles Absatzformat vorstellen, das ich nur den Art-Nr. in den Tabellen zuweise.

Ich hoffe Ihr versteht mein Problem und wisst eine Lösung.
Euch allen einen schönen Abend.
X

Artikelnummern aus Tabellen automatisiert in Links konvertieren

Kai Rübsamen
  
Beiträge gesamt: 4679

7. Jan 2016, 20:10
Beitrag # 2 von 10
Beitrag ID: #545814
Bewertung:
(4733 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

hab dich beim letzten IDUG-Meeting vermisst …

Ich würde vermuten, dass man das skripten kann. Kontaktier mich einfach mal direkt.


als Antwort auf: [#545808]

Artikelnummern aus Tabellen automatisiert in Links konvertieren

WernerPerplies
Beiträge gesamt: 2725

8. Jan 2016, 06:37
Beitrag # 3 von 10
Beitrag ID: #545825
Bewertung:
(4673 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

eventuell könnte Dir dieses (kostenpflichtige) Skript helfen:

WpsCreateHyperlinkUrls – Adobe InDesign Skript zur Erzeugung von URL-Hyperlinks

Voraussetzung wäre wäre eine Liste dieser Art:

Artikelnummer;Hyperlink-URL


als Antwort auf: [#545808]

Artikelnummern aus Tabellen automatisiert in Links konvertieren

zeroeight15
Beiträge gesamt: 6

8. Jan 2016, 12:00
Beitrag # 4 von 10
Beitrag ID: #545829
Bewertung:
(4617 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes
Falls die Artikelnummern mit einem eigenen Zeichenstil versehen sind könnte mein (kostenpflichtiges) Script "HyperLinkBuilder" helfen:
http://aiedv.ch/...HyperLinkBuilder.php

Gruß
Andreas


als Antwort auf: [#545808]

Artikelnummern aus Tabellen automatisiert in Links konvertieren

Trimer
Beiträge gesamt: 236

8. Jan 2016, 12:10
Beitrag # 5 von 10
Beitrag ID: #545830
Bewertung:
(4612 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ihr Zwei,

danke für Eure Antworten.
Werner, leider ist Dein Skript nicht wirklich das was ich benötige.
Kai, danke mal wieder für Dein Angebot. Eine Skriptlösung zu bauen, dass werde ich jetzt mit einem Kollegen verwirklichen. Dafür muss ich Dich/Euch nicht behelligen.

Ich dachte einfach nur, dass doch sicherlich viele User schon einmal vor so einem Problem standen...doch anscheinend nicht. So werden wir eine Lösung intern finden.

Euch ein schönes Wochenende.


als Antwort auf: [#545825]

Artikelnummern aus Tabellen automatisiert in Links konvertieren

Trimer
Beiträge gesamt: 236

8. Jan 2016, 14:47
Beitrag # 6 von 10
Beitrag ID: #545835
Bewertung:
(4545 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,

meine Antwort hat sich mit Deiner überschnitten. Daher hatte ich sie erst gar nicht gesehen. Prinzipiell wäre das genau die Lösung gewesen. Wir sind jetzt aber intern schon sehr weit fortgeschritten mit einer Lösung per Skript. Trotzdem vielen Dank für Deine Antwort.


als Antwort auf: [#545829]

Artikelnummern aus Tabellen automatisiert in Links konvertieren

Peter Sauseng
Beiträge gesamt: 483

11. Jan 2016, 09:56
Beitrag # 7 von 10
Beitrag ID: #545847
Bewertung:
(4420 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes!

Zitat Ich dachte einfach nur, dass doch sicherlich viele User schon einmal vor so einem Problem standen...doch anscheinend nicht. So werden wir eine Lösung intern finden.


Doch, ich hatte diese Anforderung auch schon und habe einfach das Skript MakeHyperlinks_CS.jsx
http://indesign.hilfdirselbst.ch/...essen-verlinken.html erweitert und statt nach URLs nach den Artikelnummern gesucht und diese verlinkt.

Gruß, Peter


als Antwort auf: [#545830]

Artikelnummern aus Tabellen automatisiert in Links konvertieren

Trimer
Beiträge gesamt: 236

14. Jan 2016, 17:53
Beitrag # 8 von 10
Beitrag ID: #545970
Bewertung:
(4264 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

wusste ich es doch ;-)

Vielen Dank für Deinen Beitrag. Ich habe die Infos meinem Kollegen weitergeleitet, der sich im Bereich skripting auskennt. Er ist ja gerade schon dabei eines zu für "meine" Anforderungen zu bauen. Aber ich denke es wird ihn interessieren, welche Lösung Du gebaut hast.

Dir einen schönen Feierabend,


als Antwort auf: [#545847]

Artikelnummern aus Tabellen automatisiert in Links konvertieren

Peter Sauseng
Beiträge gesamt: 483

18. Jan 2016, 08:39
Beitrag # 9 von 10
Beitrag ID: #546014
Bewertung:
(4138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes!

Wenn es keinen speziellen Anforderungen gibt, reicht es, wenn man den Abschnitt

Code
app.findGrepPreferences.findWhat = '\\<(http|www)\\S*\\>';   
var myURLs = app.activeDocument.findGrep();
makeHyperlink('http://', myURLs);


ändert:

bei app.findGrepPreferences.findWhat die GREP-Suche, welche die Artikelnummern findet, angeben. Eventuell ist noch ein spezielles Zeichenformat für die Suche anzugeben.

Und statt 'http://' bei der Funktion makeHyperlink die gewünschte URL, z.B. 'http://www.meineadresse.de/artikelnr', einfügen.

Probleme können auftreten, wenn eine Artikelnummer mehrmals vorkommt oder wenn in einem betroffenen Absatz schon ein Hyperlink eingefügt ist.
Wenn man dies ausschließen kann, ist weiters nichts zu tun.

Gruß, Peter


als Antwort auf: [#545970]

Artikelnummern aus Tabellen automatisiert in Links konvertieren

Ingo Herber
Beiträge gesamt: 453

21. Jan 2016, 08:28
Beitrag # 10 von 10
Beitrag ID: #546139
Bewertung:
(4034 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Trimer,
sorry bin evtl. zu spät. In meinem Archiv habe ich ein älteres Script gefunden mit dem ich mal Artikelnummern in einem Katalog mit URLs versehen habe.
Dazu braucht man eine Tab-getrennte Liste zum Zuweisen
Die zu ersetzenden Artikelnummern müssen das Zeichenformat "hyperlink" haben.

Das Script war für CS3, ein schneller Test war hier aber erfolgreich.

Code
// Nobrainer Scripting - http://www.nobrainer.dk 

if (app.documents.length > 0) {
var myDocument = app.activeDocument;
var myHyperlinkStyle = myDocument.characterStyles.item("hyperlink"); // replace hyperlink with name of your char style for links
//alert(myHyperlinkStyle);
main();
} else {
alert("Please open a document");
}

function main() {
try {
var script = app.activeScript;
} catch(err) {
var script = File(err.fileName);
}

var myScriptFolderPath = script.path;
var myFindChangeFile = new File(myScriptFolderPath + "/NamesAndURLs.txt"); //mac path for users desktop //File.openDialog("Choose the file containing the tab separated list");
//alert(myFindChangeFile)
myFindChangeFile = File(myFindChangeFile);
var myResult = myFindChangeFile.open("r", undefined, undefined);
if(myResult == true){
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
//Loop through the find/change operations.
do {
//read 1 line into myLine
myLine = myFindChangeFile.readln();
myFindChangeArray = myLine.split("\t");

//The first field in the line is the value to find
myFindVal = myFindChangeArray[0];

// second is the url
myFindUrl = myFindChangeArray[1];

doSearchAndReplace(myFindVal, myFindUrl, app.activeDocument);

} while(myFindChangeFile.eof == false);
myFindChangeFile.close();
// reset search
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
}
}

function doSearchAndReplace(stringfind, urlstring, searchin) {
app.findTextPreferences.findWhat = stringfind;

//Set the find options.
app.findChangeTextOptions.caseSensitive = false;
app.findChangeTextOptions.includeFootnotes = false;
app.findChangeTextOptions.includeHiddenLayers = false;
app.findChangeTextOptions.includeLockedLayersForFind = false;
app.findChangeTextOptions.includeLockedStoriesForFind = false;
app.findChangeTextOptions.includeMasterPages = false;
app.findChangeTextOptions.wholeWord = false;

var myFoundItems = searchin.findText();

for (i = 0; i < myFoundItems.length; i++) {
var myHyperlinkDestination = myMakeURLHyperlinkDestination(urlstring);
myMakeHyperlink(myFoundItems[i], myHyperlinkDestination);
myFoundItems[i].applyCharacterStyle(myHyperlinkStyle, false);
}
}

function myMakeHyperlink(myFoundItem, myHyperlinkDestination){
try {
var myHyperlinkTextSource = myDocument.hyperlinkTextSources.add(myFoundItem);
var myHyperlink = myDocument.hyperlinks.add(myHyperlinkTextSource, myHyperlinkDestination);
myHyperlink.visible = false;
}
catch(myError){
}
}

function myMakeURLHyperlinkDestination(myURL){
//If the hyperlink destination already exists, use it;
//if it doesn't, then create it.
try{
var myHyperlinkDestination = myDocument.hyperlinkURLDestinations.item(myURL);
myHyperlinkDestination.name;
}
catch(myError){
myHyperlinkDestination = myDocument.hyperlinkURLDestinations.add(myURL);
}
myHyperlinkDestination.name = myURL;

//Set other hyperlink properties here, if necessary.
return myHyperlinkDestination;
}



als Antwort auf: [#545808]
X