[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Linie an Grep-fundstelle zeichnen

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

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

15. Dez 2017, 13:48
Beitrag # 1 von 31
Bewertung:
(12701 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich möchte gerne folgendes Ergebnis erzielen:
Mit einem Skript soll nachgeshen werden wo im Text ein Preis nach einem "statt" + Leerzeichen vorkommt.
An dieser Stelle soll der Preis durchgestrichen werden, aber nicht mit einem Zeichenformat sondern mit einer graphicline von links unten (Grundlinie) bis rechts oben (Versalhöhe) über die ganze Breite des Preises = Fundstelle.

Die Fundstelle kann ich mit GREP so ermitteln:
(?<=statt\s)\d+\.(\d+|-)

Aber wie kann ich die Linie an dieser Stelle diagonal zeichnen lasen?

Bitte um eure Mithilfe.

Vielen Dank
X

Linie an Grep-fundstelle zeichnen

Kai Rübsamen
Beiträge gesamt: 4659

15. Dez 2017, 15:40
Beitrag # 2 von 31
Beitrag ID: #561474
Bewertung:
(12681 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Du denkst zu kompliziert. Dafür braucht es kein Skript!

Du machst dir eine Linie und vergibst ihr ein Objektformat. Dann fügst du sie an deiner Fundstellen über die Zwischenablage ein und richtest sie dann (oder schon vorher) als benutzerdefiniertes verankertes Objekt ein.

Gruß Kai Rübsamen


als Antwort auf: [#561469]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

18. Dez 2017, 13:21
Beitrag # 3 von 31
Beitrag ID: #561502
Bewertung:
(12294 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Kai für deine Antwort.
Aber ich denke leider nicht zu kompliziert. Der Text selbst darf nicht verändert werden. Also dürfen auch keine verankerten Objekte im Text vorkommen. (Der Text ist mit einer Datenbank verbunden und wird auch von daher aktualisiert)
Ergo muss die "Durchstreichlinie" als eigenes Objekt über dem Text liegen.

Und daher wollte ich das per Skript erledigen.

Um eine Linie zeichnen zu können müsste ich jedoch die Koordinaten von meiner Fundstelle irgendwie auf die der Linie übertragen. Und genau hier fehlt mir der Ansatz.

Aber für Beiträge bin ich dankbar.

LG
faxinger


als Antwort auf: [#561474]

Linie an Grep-fundstelle zeichnen

Kai Rübsamen
Beiträge gesamt: 4659

18. Dez 2017, 13:47
Beitrag # 4 von 31
Beitrag ID: #561504
Bewertung:
(12285 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dann würde ich den Strich trotzdem verankert einfügen u. nachträglich alle verankerten Objekte lösen. Wenn sich später dein Layout verschiebt, kannst du alle Objekte mit Objektformat x löschen und machst die Schritte einfach noch einmal.

Gruß Kai Rübsamen


als Antwort auf: [#561502]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

18. Dez 2017, 14:21
Beitrag # 5 von 31
Beitrag ID: #561505
Bewertung:
(12278 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Kai,

aber es muss doch möglich sein, an den Fundstellen eine Linie zeichnen zu lassen?

LG
faxinger


als Antwort auf: [#561504]

Linie an Grep-fundstelle zeichnen

Kai Rübsamen
Beiträge gesamt: 4659

18. Dez 2017, 14:33
Beitrag # 6 von 31
Beitrag ID: #561506
Bewertung:
(12276 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also: Hast du die Mitteilung von Martin gelesen. So könnte man das machen. Es gibt im Forum auch einige Beispiele dazu. Ich bin allerdings von deinem Skripting-Wissenstand ausgegangen und fände diese teilautomatisierte Lösung für dich momentan einfacher …

Was spricht gegen das Einfügen u. nachträgliche Lösen eines Objekts?

Edit: Nein, hast du vermutlich nicht, denn Martin hat seinen guten Ansatz leider wieder gelöscht?!

Es wäre übrigens so, dass du per Skript generell unterschiedliche Neigungen in Abhängigkeit der Länge deiner Preise kriegen wirst. Das würde MIR nicht gefallen.

Gruß Kai Rübsamen


als Antwort auf: [#561505]
(Dieser Beitrag wurde von Kai Rübsamen am 18. Dez 2017, 14:37 geändert)

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

18. Dez 2017, 15:31
Beitrag # 7 von 31
Beitrag ID: #561509
Bewertung:
(12262 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Kai.

Dass ich unterschiedliche Neigungen erhalte ist erwünscht. Daher ist auch die Lösung per Objektformat nicht machbar. -> Hier müsste ich händisch nachjustieren. Das will ich aber vermeiden.

Ich werde mal das Forum durchsuchen, vielleicht werde ich ja fündig.

Danke

LG
faxinger


als Antwort auf: [#561506]

Linie an Grep-fundstelle zeichnen

Uwe Laubender
Beiträge gesamt: 4788

18. Dez 2017, 15:56
Beitrag # 8 von 31
Beitrag ID: #561510
Bewertung:
(12245 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger,
ich hätte da noch einen Ansatz, der ohne eine Verankerung auskommt.

1. Wandle jede Fundstellen in eine Outline als Duplikat.
Also Schleife durch die Fundstellen mit Zähler n . Innerhalb der Schleife dann:
Code
var outline = foundTextOfGrep[n].createOutlines(false)[0]; 

Warum die [0] ? Weil createOutlines ein Array zurückgibt. Ich gehe hier mal von einer Länge 1 aus.

2. Zeichne im Spread der Outline (das ist der parent von outline) eine graphicLine mit den geometricBounds der Outline. Das gelingt am besten, wenn Du die Eigenschaft rulerOrigin der viewPreferences des Dokuments auf RulerOrigin.SPREAD_ORIGIN stellst.
Code
var gB = outline.geometricBounds; 
var graphicLine = outline.parent.graphicLines.add({ geometricBounds : gB });

An dieser Stelle kannst Du auch Werte für strokeWeight und strokeColor mitgeben. Vielleicht auch noch einen Wert für itemLayer, damit die graphicLine auf eine gesonderte Ebene gelangt.

3. Um von links unten nach rechts oben zu zeichnen, kannst Du den entirePath umdefinieren:
Code
graphicLine.paths[0].entirePath = [ [gB[1],gB[2]] , [gB[3],gB[0]] ]; 


Dann kannst Du das Objekt aus 1. wieder löschen:
Code
outline.remove(); 


Da wir hier kein konkretes Beispiel sehen, ist es etwas schwierig zu entscheiden, ob mein Vorschlag taugt, um von "Grundlinie" zu "Versalhöhe" zu zeichnen. Je nach Typografie der Preise sind "Versalhöhe" und "Grundlinie" vielleicht weniger geeignet.

Bedenke auch, was passieren soll, wenn gefundener Text in Übersatz steht.

Mit horizontalOffset eines der insertionPoints eines gefundenen Texts würde ich übrigens nicht arbeiten. Das ist nicht exakt genug an der Form des Texts dran. Kann sich sogar im Text befinden, wenn mit Unterschneidung gearbeitet wurde.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#561469]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

18. Dez 2017, 16:25
Beitrag # 9 von 31
Beitrag ID: #561511
Bewertung:
(12233 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Uwe,

dieser Ansatz gefällt mir sehr gut.

Werde ich demnächst testen.


Danke

LG
faxinger


als Antwort auf: [#561510]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

18. Dez 2017, 17:12
Beitrag # 10 von 31
Beitrag ID: #561514
Bewertung:
(12228 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
nur rein interessenhalber:

Wie ungenau wäre es denn wenn man keine outlines generieren würde?

Es geht hier nämlich nicht um 100tel Millimeter beim zeichnen der Linie.

Vielleicht wäre doch der Ansatz ohne outlines gangbar?

LG
faxinger


als Antwort auf: [#561510]

Linie an Grep-fundstelle zeichnen

Uwe Laubender
Beiträge gesamt: 4788

18. Dez 2017, 17:32
Beitrag # 11 von 31
Beitrag ID: #561515
Bewertung:
(12224 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich würde sagen: Probier's einfach aus.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#561514]

Linie an Grep-fundstelle zeichnen

Kai Rübsamen
Beiträge gesamt: 4659

18. Dez 2017, 18:02
Beitrag # 12 von 31
Beitrag ID: #561516
Bewertung:
(12182 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Daher ist auch die Lösung per Objektformat nicht machbar. -> Hier müsste ich händisch nachjustieren. Das will ich aber vermeiden.

In dem Fall hättest du für unterschiedlich lange Preis versch. Objektformate. Aber versuch das mal mit der Linie. Du wirst zwar etwas länger brauchen, aber auch etwas lernen ;-)

Gruß Kai Rübsamen


als Antwort auf: [#561509]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

12. Jan 2018, 14:45
Beitrag # 13 von 31
Beitrag ID: #561819
Bewertung:
(8850 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

meine ersten Codeschnipsel zu diesem Thema führen schon mal ins Leere:
Code
var _doc = app.activeDocument; 

app.findGrepPreferences = NothingEnum.nothing; // Suchfeld leeren
app.changeGrepPreferences = NothingEnum.nothing; // Ersetzen-Feld leeren
app.findGrepPreferences.findWhat= "(?<=statt\s)\d+\.(\d+|-)";
var _found = app.activeDocument.findGrep();
alert (_found);

Ich erhalte nur ein leeres Hinweisfenster.

Ich habe aber ein ID-Dokument offen, und der Text kann so über die ID interne GREP-Suche gefunden werden.

Was mache ich falsch?

LG
faxinger


als Antwort auf: [#561516]

Linie an Grep-fundstelle zeichnen

Ralf Hobirk
Beiträge gesamt: 5930

12. Jan 2018, 15:19
Beitrag # 14 von 31
Beitrag ID: #561821
Bewertung:
(8842 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Faxinger,

in Javascript muss auch der Backslash escaped werden:

Code
app.findGrepPreferences.findWhat= "(?<=statt\\s)\\d+\\.(\\d+|-)"; 


---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)


als Antwort auf: [#561819]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

15. Jan 2018, 10:51
Beitrag # 15 von 31
Beitrag ID: #561835
Bewertung:
(8153 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Ralf,

in kleinen Schritt bin ich jetzt weiter, alleerdings funktioniert es noch nicht. Das ist mein Code soweit:
Code
 

var _doc = app.activeDocument;

app.findGrepPreferences = NothingEnum.nothing; // Suchfeld leeren
app.changeGrepPreferences = NothingEnum.nothing; // Ersetzen-Feld leeren
app.findGrepPreferences.findWhat= "(?<=statt\\s)\\d+\\.(\\d+|-)";
var _found = app.activeDocument.findGrep();

var X_first = _found.horizontalOffset;
var X_last = _found.endHorizontalOffset;
var Y_bottom = _found.baseline;
var Y_top = _found.baseline + 12;

for (j = 0; j < _found.length; j++) {

add.graphicLine.paths[i].entirePath = [ [X_first[1],Y_bottom[2]] , [X_last[3],Y_top[0]] ];

};



Ich glaub da fehlt noch was...

LG
faxinger


als Antwort auf: [#561821]

Linie an Grep-fundstelle zeichnen

Kai Rübsamen
Beiträge gesamt: 4659

15. Jan 2018, 11:02
Beitrag # 16 von 31
Beitrag ID: #561838
Bewertung:
(5930 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wo ist dein Beispieldokument als .idml-Datei?

Gruß Kai Rübsamen


als Antwort auf: [#561835]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

15. Jan 2018, 11:52
Beitrag # 17 von 31
Beitrag ID: #561839
Bewertung:
(5914 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

im Anhang ist jetzt eine idml Datei als Beispiel.

Es sollen quasi die Linien automatisch per Skript gezeichnet werden...

LG
faxinger


als Antwort auf: [#561838]
Anhang:
test.idml (33.7 KB)

Linie an Grep-fundstelle zeichnen

Kai Rübsamen
Beiträge gesamt: 4659

15. Jan 2018, 12:21
Beitrag # 18 von 31
Beitrag ID: #561842
Bewertung:
(5910 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Versuch es mal so:

Code
var _doc = app.activeDocument;  

app.findGrepPreferences = app.changeGrepPreferences = null;
app.findGrepPreferences.findWhat= "(?<=statt\\s)\\d+\\.(\\d+|-)";
var _found = _doc.findGrep();

for (j = 0; j < _found.length; j++) {
var curFound = _found[j];
var x1 = curFound.horizontalOffset;
var y1 = curFound.baseline;
var x2 = curFound.endHorizontalOffset;
var y2 = curFound.baseline - 3;
var graphicLine = _doc.graphicLines.add();
graphicLine.properties = {
fillColor : "None" ,
strokeColor : "Magenta" ,
strokeWeight : "0.25 mm"
}
graphicLine.paths[0].pathPoints[0].anchor = [x1, y1];
graphicLine.paths[0].pathPoints[1].anchor = [x2, y2];
}


oder so:
Code
var _doc = app.activeDocument;  

app.findGrepPreferences = app.changeGrepPreferences = null;
app.findGrepPreferences.findWhat= "(?<=statt\\s)\\d+\\.(\\d+|-)";
var _found = _doc.findGrep();

for (var j = 0; j < _found.length; j++) {
var curFound = _found[j];
var x1 = curFound.horizontalOffset;
var y1 = curFound.baseline;
var x2 = curFound.endHorizontalOffset;
var y2 = curFound.baseline - 3;
var graphicLine = _doc.graphicLines.add();
graphicLine.properties = {
fillColor : "None" ,
strokeColor : "Magenta" ,
strokeWeight : "1",
name: "Preislinie"
}
graphicLine.paths[0].entirePath = [[x1, y1], [x2, y2]];
}

app.findGrepPreferences = app.changeGrepPreferences = null;


Dein Vorgehen ist gefährlich! Was machst du, wenn sich der Umbruch nachträglich verschiebt? Wie willst du die Linien wieder löschen? Ich würde zumindest noch ein Objektformat, Namen oder eigene Ebene vergeben.

Gruß Kai Rübsamen


als Antwort auf: [#561839]
(Dieser Beitrag wurde von Kai Rübsamen am 15. Jan 2018, 12:27 geändert)

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

15. Jan 2018, 12:39
Beitrag # 19 von 31
Beitrag ID: #561844
Bewertung:
(5900 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Perfekt.

Danke sehr


als Antwort auf: [#561842]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

18. Jan 2018, 11:39
Beitrag # 20 von 31
Beitrag ID: #561912
Bewertung:
(5687 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

danke für den Hinweis. Aber die Linien werden mit einem Skript gelöscht und dann neu gezeichnet.

Objektformate würden mir da nix helfen. Aber es kommen ohnehin nur solche Linien im Dokument vor und somit ist das Löschen per Skript der schnellste Weg.


LG
faxinger


als Antwort auf: [#561842]

Linie an Grep-fundstelle zeichnen

Kai Rübsamen
Beiträge gesamt: 4659

18. Jan 2018, 12:59
Beitrag # 21 von 31
Beitrag ID: #561922
Bewertung:
(5680 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
In meiner zweiten Variante hatte ich einen Namen vergeben. Du könntest das Skript dahingehend ergänzen und zuerst alle Linien mit entsprechendem Namen besuchen, löschen u. dann neu zeichnen.

Gruß Kai Rübsamen


als Antwort auf: [#561912]

Linie an Grep-fundstelle zeichnen

Uwe Laubender
Beiträge gesamt: 4788

18. Jan 2018, 13:13
Beitrag # 22 von 31
Beitrag ID: #561926
Bewertung:
(5674 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hm…
Noch einfacher wäre vielleicht für die Linien eine separate, eigene Ebene zu benutzen. Vor einem zweiten Skriptlauf wird einfach auf die Ebene geprüft und falls vorhanden gelöscht.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#561922]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

18. Jan 2018, 15:24
Beitrag # 23 von 31
Beitrag ID: #561934
Bewertung:
(5650 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

danke aber die Linien müssen auf der gleichen Ebene sein.

Aber wie gesagt da im Dokument sonst keine Linien vorkommen ist es auch kein Problem diese vorab per skript zu löschen und dann neu zeichnen zu lassen.

LG
faxinger


als Antwort auf: [#561926]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

10. Sep 2020, 16:15
Beitrag # 24 von 31
Beitrag ID: #576713
Bewertung:
(2807 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

ich muss das Thema noch einmal aufgreifen:

Das Skript funktioniert nur auf einer Seite bzw. Doppelseite.

Wie kann ich aber alle Fundstellen im Dokument mit Linien versehen?

Ich muss ja dann noch alle Seiten durchlaufen, aber mir ist nicht klar wie ich die jeweiligen x und y koordinaten des betroffenen Textrahmens auf der jeweiligen Seite mitberücksichtige.

Aktuell zeichnet ID alle Linien nur auf dem 1. Spread.

Sprich alle Fundstellen werden auf der 1. Seite gezeichnet.

Da hab ich jetzt einen Knoten im Hirn...


als Antwort auf: [#561842]
(Dieser Beitrag wurde von faxinger am 10. Sep 2020, 16:19 geändert)

Linie an Grep-fundstelle zeichnen

Uwe Laubender
Beiträge gesamt: 4788

10. Sep 2020, 19:56
Beitrag # 25 von 31
Beitrag ID: #576716
Bewertung:
(2789 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger,
Du könntest die neu gezeichnete Linie am ersten insertionPoint der Fundstelle verankern und den Anker anschließend lösen.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#576713]

Linie an Grep-fundstelle zeichnen

WernerPerplies
Beiträge gesamt: 2524

11. Sep 2020, 06:30
Beitrag # 26 von 31
Beitrag ID: #576717
Bewertung:
(2708 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen


als Antwort auf: [#561469]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

11. Sep 2020, 09:21
Beitrag # 27 von 31
Beitrag ID: #576721
Bewertung:
(2662 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

danke für deine Antwort.

Müsste es nicht auch über den jeweiligen Textrahmen bzw. dessen parentpage funktionieren?

LG
faxinger


als Antwort auf: [#576716]

Linie an Grep-fundstelle zeichnen

Uwe Laubender
Beiträge gesamt: 4788

11. Sep 2020, 14:08
Beitrag # 28 von 31
Beitrag ID: #576726
Bewertung:
(2604 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger,

weshalb kompliziert, wenn's auch einfach geht?

Keine Ahnung, welchen Code Du benutzt, um die Linien zu bauen.
Davon hängt's doch ab.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#576721]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

11. Sep 2020, 14:32
Beitrag # 29 von 31
Beitrag ID: #576727
Bewertung:
(2596 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

derzeit verwende ich diesen Code:
Code
 
//DESCRIPTION: Löscht vorhandene Linien und zeichnet neue Linien beim Preis nach "statt"
// das aktive Dokument
var curDoc = app.activeDocument;
curDoc.viewPreferences.rulerOrigin = RulerOrigin.pageOrigin;
// die aktive Ebene
var curLayer = curDoc.activeLayer=curDoc.layers.itemByName("Artikel");
// alle Linien auf der aktiven Ebene
var allLinesOnCurLayer = curLayer.graphicLines.everyItem().getElements();

// die Schleife muss rückwärts laufen, da etwas gelöscht wird
for (var i = allLinesOnCurLayer.length-1; i >= 0 ; i--) {
var curLine = allLinesOnCurLayer[i];
// prüfen ob die Linie ohne Pfeile ist
if (curLine.leftLineEnd == ArrowHead.NONE) {
curLine.remove();
}
};

app.findGrepPreferences = app.changeGrepPreferences = null;
app.findGrepPreferences.findWhat= "(?<=statt\\s)\\d+\\.(\\d+|-)";

var _found = curDoc.findGrep(true);
for (j = 0; j < _found.length; j++)
{
var curFound = _found[j];
var _firstchar = curFound.contents[0];

switch (_firstchar)
{
case "1":
var _wert = -0.2;
break;

case "2":
var _wert = +0.15;
break;

case "3":
var _wert = +0.15;
break;

case "4":
var _wert = +0.25;
break;

case "5":
var _wert = +0.18;
break;

case "6":
var _wert = +0.15;
break;

case "7":
var _wert = +0.02;
break;

case "8":
var _wert = +0.1;
break;

case "9":
var _wert = +0.1;
break;

case "0":
var _wert = +0.05;
break;
};



var x1 = curFound.horizontalOffset -_wert;
var y1 = curFound.baseline - 0.15;
var x2 = curFound.endHorizontalOffset +0.2;
var y2 = curFound.baseline - 1.9;
var graphicLine = curDoc.graphicLines.add();
graphicLine.properties = {
fillColor : "None" ,
strokeColor : "Black" ,
strokeWeight : "1pt"
}
graphicLine.paths[0].pathPoints[0].anchor = [x1, y1];
graphicLine.paths[0].pathPoints[1].anchor = [x2, y2];

};


Das Problem dabei ist wie gesagt, dass nur die erste Seite bzw. der erste Druckbogen mit den Streichlinien umgesetzt wird. Die weiteren Linien (GREP-Fundstellen) werden alle auf der 1. Seite gezeichnet.


als Antwort auf: [#576726]

Linie an Grep-fundstelle zeichnen

Uwe Laubender
Beiträge gesamt: 4788

11. Sep 2020, 15:56
Beitrag # 30 von 31
Beitrag ID: #576732
Bewertung: ||
(2585 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Na, dann ermittelst Du über den ersten insertionPoint des gefundenen Textes den zugehörigen Textrahmen und dessen parentPage und baust die Linie dort.

Das dürfte in Deinem Code das hier sein:

Code
var graphicLine = curFound.insertionPoints[0].parentTextFrames[0].parentPage.graphicLines.add(); 


Du solltest aber vorab noch den aktuellen Wert von parentPage prüfen. Kann ja sein, dass sich eine Fundstelle auf dem Pasteboard befindet. Dann gibt parentPage den Wert null zurück. Im Erfolgsfall aber das Seitenobjekt.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#576727]

Linie an Grep-fundstelle zeichnen

faxinger
Beiträge gesamt: 245

16. Sep 2020, 10:22
Beitrag # 31 von 31
Beitrag ID: #576762
Bewertung:
(580 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Perfekt Uwe!

danke, ja genau so wollte ich es haben.


als Antwort auf: [#576732]
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
22.10.2020 - 23.10.2020

Digicomp Academy AG, Basel und Bern
Donnerstag, 22. Okt. 2020, 08.30 Uhr - Freitag, 23. Okt. 2020, 17.00 Uhr

Kurs

In diesem Advanced-Kurs erlernen Sie weitergehende Methoden im Dokumentenaufbau, der Typografie und im Bereich Layouttechniken. Nach diesem Kurs können Sie strukturierte Dokumente erstellen oder bestehende effizienter anpassen.

Preis: 1'400.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/adobe-indesign-cc/kurs-indesign-cc-advanced

Veranstaltungen
22.10.2020

Digicomp Academy AG, Bubenbergplatz 11, 3011 Bern
Donnerstag, 22. Okt. 2020, 18.00 - 20.00 Uhr

Infoabend

1. Lehrgang: Web Publisher Im berufsbegleitenden Web Publisher Lehrgang vertiefen Sie Ihr Wissen rund um das Thema Screendesign und die Umsetzung von Websites. Wir befähigen Sie dazu selbständig und professionell Ihren Webauftritt zu planen und in die Realität umzusetzen. - nächste Durchführung: 06.11.2020 - 11.12.2020 https://www.digicomp.ch/zertifizierung/software-anwendungs-zertifikate/publishing-zertifizierung/lehrgang-web-publisher 2. Lehrgang: Publisher Basic Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von publishingNETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen. - nächste Durchführung: 12.03.2021 - 16.07.2021 https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/publishing-lehrgaenge/lehrgang-publisher-basic 3. Lehrgang: Publisher Professional Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte. - nächste Durchführung: 05.02.2021 - 05.11.2021 https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/publishing-lehrgaenge/lehrgang-publisher-professional-profil-multimedia

Preis: kostenlos
Dauer: 18 - 20 Uhr / ab 20 Uhr Apéro

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/events/infoabende/infoabend-fuer-software-anwender-innen/infoabend-publishing-lehrgaenge

Neuste Foreneinträge


PDF_RGB-AUSGABE

InDesign CC 2021: Neuerungen / New Features

Flächendeckung einer Datei

Bedingter Text

Letzter Aufruf für InDesign CC 2019 ?

Sehr hochwertiger Bildschirm (gleichwertig wie Mac Retina)

Sound für Imagefilm / Produkt-Kurzvideo

Bild öffnen - - .......weil ein Volumefehler aufgetreten ist nicht öffnen.

Probleme beim Einlaoggen auf Quark-Seite

QuarkXPress 2018 lässt sich nicht mehr aktivieren
medienjobs