mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 11.12.2025 13:28 Benutzername: Passwort: Auto-Login

Thema: InDesign - Textfelder in Tabelle ausrichten vom 02.08.2024


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Software - Print -> InDesign - Textfelder in Tabelle ausrichten
Autor Nachricht
imebro
Threadersteller

Dabei seit: 08.03.2012
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 02.08.2024 08:25
Titel

InDesign - Textfelder in Tabelle ausrichten

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich möchte ein ausfüllbares Formular in InDesign erstellen, welches ich später nach PDF exportiere.
Dazu habe ich eine Tabelle in InDesign erstellt.

In dieser Tabelle soll in jeder Zelle ein Textfeld erstellt werden, welches perfekt am jeweiligen Zellenrand ausgerichtet ist. Manuell ist das super aufwendig.

Ich habe schon probiert, nur ein Textfeld in eine einzige Zelle zu erstellen, dieses perfekt auszurichten und es dann zu kopieren. Aber nach dem Kopieren befindet sich das neue Textfeld leider nicht genau ausgerichtet in der nächsten Tabellenzelle.

Wie kann ich das realisieren?
Habt Ihr Tipps für mich?

Danke und Gruß,
imebro


Zuletzt bearbeitet von imebro am Fr 02.08.2024 08:25, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
xAMOKx

Dabei seit: 28.01.2013
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Fr 02.08.2024 10:34
Titel

Antworten mit Zitat Zum Seitenanfang

Du kannst das Formular in Acrobat auch automatisch erstellen lassen. In einigen Fällen ist das Ergebnis brauchbar.
Die exaktere Variante in InDesign geht am schnellsten per Skript. Damit kannst Du das Formular auch in Zukunft mal anpassen, ohne wieder manuell nachkorrigieren zu müssen, da du einfach das Skript nochmals laufenlassen kannst.

Code:
// Überprüfen, ob ein TextFrame ausgewählt ist
if (app.selection.length == 1 && app.selection[0].constructor.name == "TextFrame") {
    var textFrame = app.selection[0];
    var story = textFrame.parentStory;
    var doc = app.activeDocument; // Das aktuelle Dokument definieren

    // Überprüfen, ob eine Tabelle im TextFrame vorhanden ist
    if (story.tables.length > 0) {
        var table = story.tables[0];

        // Bestimme die Position des TextFrames auf der Seite
        var textFrameBounds = textFrame.geometricBounds;
        var frameX1 = textFrameBounds[1];
        var frameY1 = textFrameBounds[0];

        // Durchlaufe alle Zellen der Tabelle
        for (var rowIndex = 0; rowIndex < table.rows.length; rowIndex++) {
            for (var colIndex = 0; colIndex < table.columns.length; colIndex++) {
                // Bestimme die aktuelle Zelle
                var cell = table.rows[rowIndex].cells[colIndex];

                // Berechne die Position und Grösse des Formular-Textfeldes relativ zur Seite
                var cellLeft = frameX1;
                var cellTop = frameY1;

                for (var r = 0; r < rowIndex; r++) {
                    cellTop += table.rows[r].height;
                }

                for (var c = 0; c < colIndex; c++) {
                    cellLeft += table.columns[c].width;
                }

                var cellRight = cellLeft + cell.width;
                var cellBottom = cellTop + cell.height;

                // Erstelle ein Formular-Textfeld in der aktuellen Zelle
                var formField = doc.pages[textFrame.parentPage.index].textBoxes.add({
                    geometricBounds: [cellTop, cellLeft, cellBottom, cellRight],
                    contents: ""
                });
            }
        }
    } else {
        alert("Keine Tabelle im ausgewählten TextFrame gefunden.");
    }
} else {
    alert("Bitte wähle ein einzelnes TextFrame aus, das eine Tabelle enthält.");
}
  View user's profile Private Nachricht senden
Anzeige
Anzeige
imebro
Threadersteller

Dabei seit: 08.03.2012
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 02.08.2024 12:34
Titel

Antworten mit Zitat Zum Seitenanfang

ooooh, das ist ja eine tolle Idee.

Werde das mal ausprobieren...

Könnte ich theoretisch diesen Code auch in Adobe nutzen... also als Benutzerscript?

Und... wo genau trage ich diesen Code in InDesign ein?

Grüße,
imebro
  View user's profile Private Nachricht senden
xAMOKx

Dabei seit: 28.01.2013
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Fr 02.08.2024 13:10
Titel

Antworten mit Zitat Zum Seitenanfang

Ja, genau. Das ist ein benutzerskript für InDesign. In InDesign kannst Du im Fenster Skripte einen Rechtsklick auf Benutzer machen und dann "im Explorer/Finder anzeigen". Dort eine Datei mit dem Code als Inhalt erstellen und ajs .js-Datei speichern. In InDesign erscheint dann das Skript. Zum Asführen den Textrahmen anwählen der die Tabelle enthält und dann Doppelklick auf das Skript im Skripte-Panel.
  View user's profile Private Nachricht senden
imebro
Threadersteller

Dabei seit: 08.03.2012
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 05.08.2024 08:33
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo und danke für die super Hilfe.

Hat alles super geklappt und das erleichtert meine Arbeit wirklich ENORM * huduwudu! *

Schöne Grüße,
imebro
  View user's profile Private Nachricht senden
 
Ähnliche Themen InDesign tabelle an grundlinienraster ausrichten?
Zahlen in einer Tabelle rechts ausrichten
Excel-Tabelle in bestehende Indesign-Tabelle importieren?
Text Word Tabelle in InDesign Tabelle einfügen
Mehrspaltige XCL Tabelle in 2-spaltige InDesign Tabelle
InDesign CS4 - Textfelder einander zuordnen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Software - Print


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.