[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Ausgewählten Text googeln

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

Ausgewählten Text googeln

Martin Fischer
  
Beiträge gesamt: 12783

26. Okt 2010, 16:24
Beitrag # 1 von 33
Bewertung:
(10164 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vor ein paar Tagen wandte sich ein Freund mit folgendem Anliegen an mich:

Zitat Ist es mit einem Skript möglich, einen in Indesign aktivierten Text an eine Google-Suche zu übergeben, also den Standardbowser aufzurufen und eine Suche zu starten? Wir müssen nämlich des öfteren Namen in Büchern googeln, ob sie richtig geschrieben sind, und da wäre es schön, nicht immer manuell Aktivieren > Copy > Browser > Paste > Enter zu machen. So ein Skript auf der rechten Maustaste wäre schon prima: Aktivieren des Textes > rechte Maustaste > Skript "Google" aufrufen.


Spontan dachte ich, das ist mit JavaScript nicht möglich.
Dafür braucht's wg. einer programmübergreifenden Aktion AppleScript bzw. VBA.

Doch dann kam mir die Idee, es mit einem temporären Hyperlink zu versuchen.
Und mit der folgenden Skizze klappte es im Prinzip auch auf Knopfdruck (also manueller Start aus der Skriptpalette oder über Tastaturbefehl:

Code
//googleSelection.jsx 
//DESCRIPTION:Recherchiert den ausgewählten Text in Google
//Autor: Martin Fischer
//Datum: Oktober 2010

if (app.selection.length > 0 && app.selection[0].hasOwnProperty ('baseline') && app.selection[0].characters.length > 0)
{
// Hyperlink-String aus Auswahl ermitteln
var _sel = app.selection[0];
var _str = 'http://www.google.de/search?q=\"' + _sel.contents + '\"&ie=UTF-8&oe=UTF-8';

// Hyperlink vorbereiten und anlegen
try
{
var _source = app.documents.firstItem().hyperlinkTextSources.add({sourceText: _sel});
}
catch(e)
{
alert ('Aktive Hyperlinkquelle ausgewählt.');
exit();
}
var _dest = app.documents.firstItem().hyperlinkURLDestinations.add({destinationURL:_str});
var _hyper = app.documents.firstItem().hyperlinks.add({destination:_dest,source: _source})

// Hyperlink anzeigen
_hyper.showDestination ();

// aufräumen
_hyper.remove();
_dest.remove();
_source.remove();
}




Hier die Version für's Kontextmenü (am besten im Startup Skript-Ordner ablegen):

Code
// googleSelection_context.jsx 
//DESCRIPTION:Recherchiert den ausgewählten Text in Google über das Kontextmenü (rechte Maustaste)
//Autor: Martin Fischer
//Datum: Oktober 2010

#targetengine "session"
google_menu();

function google_menu(){
var _text_context_menu = app.menus.item("$ID/RtMouseText");

var g_action = null;
g_action = app.scriptMenuActions.item("Auswahl googeln");
if (g_action == null)
g_action = app.scriptMenuActions.add("Auswahl googeln");

var _event_listener = g_action.eventListeners.add("onInvoke", google_text, false);
var _sep = _text_context_menu.menuSeparators.add();
var _google_menu_item = _text_context_menu.menuItems.add(g_action);

function google_text(myEvent)
{
if (app.selection[0].characters.length > 0)
{
// Hyperlink-String aus Auswahl ermitteln
var _sel = app.selection[0];
var _str = 'http://www.google.de/search?q=\"' + _sel.contents + '\"&ie=UTF-8&oe=UTF-8';

// Hyperlink vorbereiten und anlegen
try
{
var _source = app.documents.firstItem().hyperlinkTextSources.add({sourceText: _sel});
}
catch(e)
{
alert ('Aktive Hyperlinkquelle ausgewählt.');
exit();
}
var _dest = app.documents.firstItem().hyperlinkURLDestinations.add({destinationURL:_str});
var _hyper = app.documents.firstItem().hyperlinks.add({destination:_dest,source: _source})

// Hyperlink anzeigen
_hyper.showDestination ();

// aufräumen
_hyper.remove();
_dest.remove();
_source.remove();
}
else
{
alert ('Kein Text ausgewählt.');
}
}
}



Im Moment knabbere ich noch an zwei Problemen:
1. Wie gehe ich mit der Möglichkeit um, daß im ausgewählten Text bereits ein Hyperlink stecken kann und ihm deswegen nicht nochmals ein temporärer Hyperlink zugewiesen werden kann?

2. Wie gehe ich mit Sonderzeichen um, die als eingeklammerter Unicodewert übergeben werden? Z.B. 'Naz<014D>raîos' – das '<014D>' steht für ein 'o' mit Macron (Balken drüber).


Zu 1. gäbe es die Möglichkeit, im gegebenen Fall den Textinhalt (ohne Hyperlink) in einen temporären Textrahmen zu platzieren und dort die weiteren Operationen für einen temporären Hyperlink zu erledigen, so dass das Original unangetastet bleibt.

Zu 2. könnte ich mir vorstellen, dass man die Sonderzeichen irgendwie greifen kann (Ziffer in spitzen Klammern herausfiltern und durch Irgendwas kodieren). Aber was wäre das Schema für dieses Irgendwas?


Ferner hatte ich noch an einem Schönheitsfehler geknabbert:
Durch diesen temporären Hyperlink, der am Ende wieder gelöscht ist, bekommt das möglicherweise zuvor frisch gesicherte Dokument doch den Geändert-Status. Wie könnte man dem vorbeugen? Statt der remove()-Befehle undo()-Befehle verwenden. Aber das war mir zu unspezifisch und deswegen risikobehaftet.


Inzwischen habe ich an dem Kontextskript in der obigen Form selbst Gefallen gefunden.
Damit schlage ich gerne mal einen Namen oder bibliographische Angaben nach, die mir etwas unklar bzw. schlecht leserlich zur Korrektur/Ergänzung angewiesen werden.

(Dieser Beitrag wurde von Martin Fischer am 27. Okt 2010, 08:27 geändert)
X

Ausgewählten Text googeln

SamiSalami
Beiträge gesamt: 66

26. Okt 2010, 17:34
Beitrag # 2 von 33
Beitrag ID: #455227
Bewertung:
(10139 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich glaube du meinst das mit Irgendwas:
http://www.wissenonline.org/html/url-kodierung.html

Ein wenig friemelig natürlich dass du dich hier mit jedem möglichen Zeichen auseinandersetzen musst;
Du kannst natürlich nen regulären Audruck rüberlaufen lassen und somit schonmal einige ungewolte Zeichen von vornherein ausschließen, wenn du die anderen dann kodieren willst, kommst du um die "jedes-Zeichen-einzeln" - Friemelei nicht herum.

Hoffe das mit der URL-Kodierung hilft dir schonmal :-)
Dazu findest du auch etliche Skripte im Netz!


als Antwort auf: [#455213]

Ausgewählten Text googeln

Martin Fischer
  
Beiträge gesamt: 12783

26. Okt 2010, 18:13
Beitrag # 3 von 33
Beitrag ID: #455236
Bewertung:
(10130 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, das geht in die richtige Richtung.

Nein, ich möchte nicht jedes einzelne Zeichen auseinandernehmen.

Im Hyperlink von InDesign ist das Unicode-Zeichen noch korrekt vorhanden.
Die Codierung in einen Hexadezimal-Wert in spitzen Klammern ereignet sich bei der Übergabe an den Browser. Es ist deshalb nicht möglich, im URL-String selbst über einen regulären Ausdruck die Ziffern, die von spitzen Klammern umgeben sind, zu ermitteln und umzucodieren.

Es muss eine Regel geben (eventuell einen Unicode-Range außerhalb eines bestimmten Ranges) wie die Zeichen, die bei der Übergabe als Hexadecimal-Werte übergeben werden zu greifen sind. Und diese Zeichen könnten entsprechend umcodiert werden.

Vielleicht versuch ich's mal mit den Zeichen jenseits des Latin-1 Codebereichs.

Die Tabelle mit Maskierungen von Sonderzeichen in Dezimal und Hexadezimal könnte mir noch weiter helfen.
Demnach lässt sich ein Unicodezeichen mit bekanntem hexadezimalem Unicodewert einfach durch Voranstellung von &#x und Beendigung durch das Semikolon adressieren.

----
edit:
Nur zu dumm, dass das Phis # selbst in %23 kodiert wird, um sich damit außer Kraft zu setzen. :-(


als Antwort auf: [#455227]
(Dieser Beitrag wurde von Martin Fischer am 26. Okt 2010, 18:27 geändert)

Ausgewählten Text googeln

Martin Fischer
  
Beiträge gesamt: 12783

26. Okt 2010, 18:56
Beitrag # 4 von 33
Beitrag ID: #455242
Bewertung:
(10114 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hab mal versucht, das Pferd von hinten aufzuzäumen.

Für die Suche nach 'Nazoraîos' (statt 'o' das 'o' mit Macron) – mit Treffern – verwendet Google einen Search-String, den ich hier leider nicht kopierbar darstellen kann (weder als URL noch als CODE), und den ich auch nicht über die Anleitung in Google SOAP Search API richtig analysiert bekomme. :-(

Ich breche an dieser Stelle ab.
Es genügt, wenn das Skript manchmal und in einfacheren Fällen weiterhilft. ;-)


als Antwort auf: [#455236]
(Dieser Beitrag wurde von Martin Fischer am 26. Okt 2010, 19:00 geändert)

Ausgewählten Text googeln

kkauer
Beiträge gesamt: 661

26. Okt 2010, 19:33
Beitrag # 5 von 33
Beitrag ID: #455244
Bewertung:
(10090 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ] Ich breche an dieser Stelle ab.
Es genügt, wenn das Skript manchmal und in einfacheren Fällen weiterhilft. ;-)


Für die komplizierteren Fälle steht für Mac-User als Plan B (kein Tastaturkürzel, kein Kontextmenüeintrag) ja noch der Eintrag im Dienste-Menü zur Verfügung ;-)


als Antwort auf: [#455242]

Ausgewählten Text googeln

SamiSalami
Beiträge gesamt: 66

26. Okt 2010, 19:39
Beitrag # 6 von 33
Beitrag ID: #455245
Bewertung:
(10088 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Leider kenn ich _noch_ nicht wirklich mit der Google-Engine aus (das werd ich vllt nochmal nachholen). Aber wenn ich das richtig sehe nimmt Google Phrasen mit allen Zeichen, wenn du also den String mit Anführungszeichen übergibst könnte das tatsächlich was verändern... womöglich ist dann die komplette Umkodierung gar nicht nötig (oder habe ich hier den Grund missverstanden?).

Was mir noch aufgefallen ist, dass man bei deiner jetzigen Prüfung auch Bilder selektieren könnte, da diese auch ein Objekt von Character sein können - hierfür würde ich einfach ein weiteres try catch drum herum legen, da es mit einer Grafik eh bei "contents" knallen wird.

Aber ich finde es so schon definitv ein sehr nettes Tool :-)


als Antwort auf: [#455242]

Ausgewählten Text googeln

Martin Fischer
  
Beiträge gesamt: 12783

26. Okt 2010, 19:52
Beitrag # 7 von 33
Beitrag ID: #455246
Bewertung:
(10083 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Für die komplizierteren Fälle steht für Mac-User als Plan B (kein Tastaturkürzel, kein Kontextmenüeintrag) ja noch der Eintrag im Dienste-Menü zur Verfügung ;-)


Ah ...
Ich ahnte doch, dass die Dienste mal für was gut sein würden. ;-)
Dem 'Mit Google suchen' kann man zwar auch eine systemweite Kurztaste zugewiesen. Allerdings komme ich aus InDesign an diesen Befehl per Taste nicht ran. Aber es funktioniert immerhin über's Menü - auch mit Sonderzeichen und sogar der richtigen Schreibrichtung.

Danke für den Hinweis.

Die Anfrage nach der Google-Recherche von ausgewähltem Text in InDesign kam von einem Windows-Anwender.


als Antwort auf: [#455244]
(Dieser Beitrag wurde von Martin Fischer am 26. Okt 2010, 20:03 geändert)

Ausgewählten Text googeln

Martin Fischer
  
Beiträge gesamt: 12783

26. Okt 2010, 19:54
Beitrag # 8 von 33
Beitrag ID: #455247
Bewertung:
(10083 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Was mir noch aufgefallen ist, dass man bei deiner jetzigen Prüfung auch Bilder selektieren könnte, da diese auch ein Objekt von Character sein können - hierfür würde ich einfach ein weiteres try catch drum herum legen, da es mit einer Grafik eh bei "contents" knallen wird.


Manche Skripte setzen eben ein Minimum an Intelligenz vor dem Bildschirm voraus. ;-)
Im Ernst, das könnte man ohne try-catch noch über eine Ermittlung der Zahl der PageItems im Search-String auffangen. Aber das gehört schon zur Kür.


als Antwort auf: [#455245]
(Dieser Beitrag wurde von Martin Fischer am 26. Okt 2010, 19:56 geändert)

Ausgewählten Text googeln

SamiSalami
Beiträge gesamt: 66

26. Okt 2010, 20:21
Beitrag # 9 von 33
Beitrag ID: #455250
Bewertung:
(10054 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ]
Antwort auf: Was mir noch aufgefallen ist, dass man bei deiner jetzigen Prüfung auch Bilder selektieren könnte, da diese auch ein Objekt von Character sein können - hierfür würde ich einfach ein weiteres try catch drum herum legen, da es mit einer Grafik eh bei "contents" knallen wird.


Manche Skripte setzen eben ein Minimum an Intelligenz vor dem Bildschirm voraus. ;-)
Im Ernst, das könnte man ohne try-catch noch über eine Ermittlung der Zahl der PageItems im Search-String auffangen. Aber das gehört schon zur Kür.


Deswegen wollte ich es ja mit einem try-catch simpel halt ;-P


als Antwort auf: [#455247]

Ausgewählten Text googeln

WernerPerplies
Beiträge gesamt: 2762

26. Okt 2010, 20:30
Beitrag # 10 von 33
Beitrag ID: #455252
Bewertung:
(10051 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Zitat Die Anfrage nach der Google-Recherche von ausgewähltem Text in InDesign kam von einem Windows-Anwender.


Dann sollte es es auch realisierbar sein, ich würde es dann aber mit einem Windowsprogramm realisieren.

Aber ob es den Aufwand lohnt?


als Antwort auf: [#455246]

Ausgewählten Text googeln

kkauer
Beiträge gesamt: 661

26. Okt 2010, 20:53
Beitrag # 11 von 33
Beitrag ID: #455258
Bewertung:
(10037 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ WernerPerplies ] Aber ob es den Aufwand lohnt?

Eher nicht, denn die Idee ist ja nicht wirklich speziell und entsprechende Lösungen gibt es bestimmt schon …


als Antwort auf: [#455252]

Ausgewählten Text googeln

WernerPerplies
Beiträge gesamt: 2762

26. Okt 2010, 21:01
Beitrag # 12 von 33
Beitrag ID: #455260
Bewertung:
(10020 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, dann müsste man sie nur finden. ;-)


als Antwort auf: [#455258]

Ausgewählten Text googeln

kkauer
Beiträge gesamt: 661

26. Okt 2010, 21:53
Beitrag # 13 von 33
Beitrag ID: #455278
Bewertung:
(9993 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ WernerPerplies ] Ja, dann müsste man sie nur finden. ;-)


Na dann bastel halt dein
Zitat Windowsprogramm



als Antwort auf: [#455260]
(Dieser Beitrag wurde von kkauer am 26. Okt 2010, 21:54 geändert)

Ausgewählten Text googeln

WernerPerplies
Beiträge gesamt: 2762

27. Okt 2010, 07:33
Beitrag # 14 von 33
Beitrag ID: #455293
Bewertung:
(9953 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Martin,

ich bin nicht ganz sicher, vielleicht war es ja gestern schon etwas spät, aber gab es da nicht einen weiteren Beitrag von Dir?

Sei's drum:

Wie wäre es mit folgender Lösung:

1. Du schreibst ein Skript, das den selektieren Text in eine Datei schreibt.
Diese Datei legst Du in ein festgelegtes, leeres Verzeichnis ab.

Von mir erhältst Du ein Windows-Programm, das folgendes kann:

1. sucht einen Begriff bei Google, der per Drag an Drop auf die Menueleiste meines Programmes gezogen wird.

2. sucht einen Begriff aus einer Datei, die in eine festgelegtes Verzeichnis abgelegt wurde. Das Programm löscht diese Datei automatisch nach Ausführung.

Schicke mir, wenn Du interessiert bist, eine Datei mit einem beliebigen Suchbegriff, damit ich die Codierung testen kann.


als Antwort auf: [#455246]

Ausgewählten Text googeln

Martin Fischer
  
Beiträge gesamt: 12783

27. Okt 2010, 08:26
Beitrag # 15 von 33
Beitrag ID: #455295
Bewertung:
(9939 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Werner,

Zitat ich bin nicht ganz sicher, vielleicht war es ja gestern schon etwas spät, aber gab es da nicht einen weiteren Beitrag von Dir?


Es hat mich in den Fingern gejuckt, aber hat es nicht über die Tastatur geschafft. ;-)

Anbei ein Snippet mit diversen Suchbegriffen mit Zeichen jenseits von Latin-1.


als Antwort auf: [#455293]
Anhang:
zum_googeln.idms (37.1 KB)
X

Aktuell

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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

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

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

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? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!