[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Textrahmen per Script verketten

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

Textrahmen per Script verketten

cwenet
Beiträge gesamt: 931

15. Sep 2019, 14:49
Beitrag # 16 von 22
Beitrag ID: #571884
Bewertung:
(1799 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner, hallo Hans,

danke Euch beiden für die sonntagliche Hilfe.

Da es ein fremdes Dokument ist, gehe ich doch auf Nummer sicher.
Ich habe die Textrahmen automatisch etikettiert und dann verkettet.

Das Script von Hans ist prima.


Einen schönen Sonntag
Christoph


als Antwort auf: [#571883]
X

Textrahmen per Script verketten

Kari
Beiträge gesamt: 2

17. Apr 2020, 21:09
Beitrag # 17 von 22
Beitrag ID: #574956
Bewertung:
(1370 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

wie muss das Script unten angepasst werden, wenn es auf jeder Seite mehrere Textrahmen gibt?

Vielleicht kannst du mir weiterhelfen. :-)

Dankeschön!


als Antwort auf: [#571883]

Textrahmen per Script verketten

Hans Haesler
  
Beiträge gesamt: 5786

17. Apr 2020, 21:53
Beitrag # 18 von 22
Beitrag ID: #574957
Bewertung:
(1361 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kari,

herzlich willkommen in der Adobe InDesign Skriptwerkstatt! :-)

Ich werde gerne versuchen, Dir zu helfen. Damit die Aufgabe klarer ist:
Würdest Du mir bitte ein Beispieldokument zustellen? Mit zwei oder drei Seiten.
Meine Adresse findest Du in meinem Profil.

Gruss, Hans


als Antwort auf: [#574956]

Textrahmen per Script verketten

Hans Haesler
  
Beiträge gesamt: 5786

25. Apr 2020, 15:06
Beitrag # 19 von 22
Beitrag ID: #575025
Bewertung:
(1067 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kari,

danke für das Beispiel-Dokument. Gut, dass ich es verlangte, denn so hatte ich es mir nicht vorgestellt. :-)

Ich habe Dir via WeTransfer eine erste Version des Scripts zugestellt. Hier funktioniert es wie erwartet mit Deinem Beispiel-Dokument.

Bitte durchgeben, falls Änderungen gewünscht sind. Dann werde ich es hier veröffentlichen.

Gruss, Hans


als Antwort auf: [#574957]

Textrahmen per Script verketten

Kari
Beiträge gesamt: 2

2. Mai 2020, 16:18
Beitrag # 20 von 22
Beitrag ID: #575137
Bewertung:
(860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das Script tut genau, was es tun sollte, deshalb nochmals ein Dankeschön hierfür. Ich bedanke mich auch für die ausführliche Erklärung. :-)

Darüber hinaus ein Lob für deine überaus große Hilfe und den netten Kontakt mit dir. ;-)

Viele Grüße

Kari


als Antwort auf: [#575025]

Textrahmen per Script verketten

Hans Haesler
  
Beiträge gesamt: 5786

2. Mai 2020, 17:33
Beitrag # 21 von 22
Beitrag ID: #575138
Bewertung:
(844 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kari,

bitte sehr, gern geschehen. Besten Dank für Deine Rückmeldung.

*****
An interessierte Scripter: Weil es eine spezielle Aufgabe war, werde ich das Script vorerst nicht veröffentlichen. Auf jeder Seite sind vier Textrahmen. Jeder enthält eine Tabelle. Diese sind unterschiedlich hoch. Bei einigen Textrahmen ergibt das einen Überlauf.
Das Verketten diente dazu, alle Textrahmen in einen einzigen Textrahmen zu verfrachten. Das Script führt dazu folgende Schritte aus:

Code
1. Auf jeder Seite werden die Textrahmen verkettet. 
2. Eine erneute Schleife durch die Seiten und auf jeder wird der letzte
Rahmen mit dem ersten Rahmen der nächsten Seite verkettet.
3. Auf der ersten Seite wird die Verkettung des ersten Rahmens annulliert.
Ergebnis: Alle Tabellen befinden sich in diesem ersten Rahmen.
4. Neue Schleife durch die Seiten. Auf jeder Seite ab Rahmen 2 alle
Rahmen entfernen.
Und die Höhe aller ersten Rahmen auf die Höhe des Satzspiegels ändern.
5. Nochmals eine Schleife durch die Seiten und die Textrahmen verketten.
6. Auf der Musterseite den Textrahmen entfernen.
7. Mit einer "while"-Schleife Seiten einfügen und jedes Mal einen
Textrahmen und diesen verketten: Solange, bis der Textrahmen der
letzten Seite keinen Überfluss aufweist.

Ziemlich genial. Nicht wahr? ;-)

*****
Später werde ich hier die Version des Scripts veröffentlichen, welches ich schrieb, bevor ich das Beispiel-Dokument erhielt.

Gruss, Hans


als Antwort auf: [#575137]

Textrahmen per Script verketten

Hans Haesler
  
Beiträge gesamt: 5786

3. Mai 2020, 20:45
Beitrag # 22 von 22
Beitrag ID: #575145
Bewertung:
(744 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

und hier ist das angekündigte Script, welches alle Textrahmen eines Dokuments verkettet. Bedingung ist, dass die Textrahmen der Reihe nach – und von links oben nach rechts unten – erzeugt wurden. Denn wenn die Schichtung nicht regelmässig ist, wird das Ergebnis nicht zufriedenstellend sein.

Code
//TextRahmen_verketten_01d.js 
//© 03.05.2020 / Hans Haesler, Châtelard 52, CH-1018 Lausanne

// vorbeugenderweise das Anzeigen von Dialogen aktivieren
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// prüfen, ob ein Dokument geöffnet ist
if (app.documents.length == 0) {
alert ("Es ist kein Dokument offen.", "Achtung");
exit();
}

// das Dokument im Vordergrund
var curDoc = app.documents[0];

// alle Seiten ...
var allPages = curDoc.pages;
// ... und deren Anzahl
var nPages = allPages.length;

// vier Variablen
var allTextFrames, nFrames, stopVal, lastChar;

// eine Vorwärtsschleife durch die Seiten
for (var p=0; p<nPages; p++) {
// alle Textrahmen der aktuellen Seite ...
allTextFrames = allPages[p].textFrames;
// ... und deren Anzahl
nFrames = allTextFrames.length;
if (p == nPages-1) {
stopVal = 0;
}
else {
stopVal = -1;
}
// eine Rückwärtsschleife durch die Rahmen; wenn leer: Leerschlag einfügen
for (n=nFrames-1; n>stopVal; n--) {
if (allTextFrames[n].contents == "") {
allTextFrames[n].contents = " ";
}
}
// eine Rückwärtsschleife durch die Rahmen
for (n=nFrames-1; n>stopVal; n--) {
// das letzte Zeichen im aktuellen Textrahmen
try {
lastChar = allTextFrames[n].parentStory.characters[-1].contents;
if (lastChar*1 != 1397125698) {
allTextFrames[n].parentStory.insertionPoints[-1].contents = 1397125698;
}
}
catch (e) {
}
// den aktuellen Rahmen mit dem nächsten verketten
try {
allTextFrames[n].nextTextFrame = allTextFrames[n-1];
}
catch (e) {
}
}
}

// eine Vorwärtsschleife durch die Seiten
for (var p=0; p<nPages-1; p++) {
// den letzten Rahmen der aktuellen Seite
// mit dem ersten Rahmen der nächsten Seite verketten
try {
allPages[p].textFrames[0].nextTextFrame = allPages[p+1].textFrames[-1];
}
catch (e) {
}
}

// das Ende der Aktion verkünden
var dlog = new Window("palette");
dlog.size = [320,100];
dlog.add("statictext", [80, 100, 320, 116], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(999);
// das Fenster schliessen
dlog.close();

Falls die Anordnung der Rahmen nicht der oben genannten Vorgabe entspricht, müsste das Script erweitert werden, damit es die Reihenfolge aufgrund der Y- und X-Positionen herausfinden kann.

Gruss, Hans


als Antwort auf: [#575138]
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
25.05.2020 - 29.05.2020

Experten teilen mit Dir ihr Wissen

Online
Montag, 25. Mai 2020, 11.00 Uhr - Freitag, 29. Mai 2020, 17.45 Uhr

Seminar

Möchtest du deine Online-Reichweite vergrössern und deine digitale Präsenz optimieren? Dann könnte dich der #DigitalMarketingSummit vom 25. bis 29. Mai 2020 interessieren. An 10 Sessions zu verschiedenen Themen erhältst du je drei sofort umsetzbare Tipps. Montag 25.05.2020 Facebook für Unternehmen LinkedIn Profil und mehr Dienstag 26.05.2020 Twitter für Unternehmen Inhalt & Funktion der Webseite überprüfen Mittwoch 27.05.2020 E-Commerce (mit WooCommerce) Grundlagen für die Digitalisierung Donnerstag 28.05.2020 Google Search Ads (SEA) Google My Business (Maps Eintrag) Freitag 29.05.2020 Xing für Unternehmen Storytelling mit Instagram

Teilnahme Gratis!!
Anmeldung unter: https://digital.rogerruckstuhl.ch/digital-marketing-summit

Ja

Organisator: Roger Ruckstuhl Digital Marketing

Kontaktinformation: Eric Mächler, E-Mailinfo AT ericmaechler DOT com

https://digital.rogerruckstuhl.ch/digital-marketing-summit/

Digital Marketing Summit für Selbständige, Einzelunternehmer Dienstleister & Serviceanbieter
Veranstaltungen
02.06.2020 - 03.06.2020

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Dienstag, 02. Juni 2020, 08.30 Uhr - Mittwoch, 03. Juni 2020, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

Preis: CHF 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-basic

Neuste Foreneinträge


Grepstil-Problem mit Positiven Lookahead

PDF (Speisekarte) auf Android-Tablet anzeigen, Adobe Reader im Kiosk-Modus m�glich?

Ausschneiden und automatisch Hintergrund ersetzen

Zeichnungen miteinander verschmelzen in AI CS6

Umriss Anzeige einer Schrift in Negativ

Tabulator Tastendruck automatisch einf�gen

Dateien kopieren

Feldberechnung: null ausblenden

Spielentwicklung Deutsch als Zweitsprache Indesign Vorbereitung

Formatierung von eingef�gtem Text
medienjobs