| 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 |
 |
|
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
|
|
| |
|
 |
xAMOKx
Dabei seit: 28.01.2013
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 02.08.2024 10:34
Titel
|
 |
|
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.");
} |
|
|
| |
|
 |
|
Anzeige
|
|
 |
imebro
Threadersteller
Dabei seit: 08.03.2012
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 02.08.2024 12:34
Titel
|
 |
|
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
|
|
| |
|
 |
xAMOKx
Dabei seit: 28.01.2013
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 02.08.2024 13:10
Titel
|
 |
|
|
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.
|
|
| |
|
 |
imebro
Threadersteller
Dabei seit: 08.03.2012
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 05.08.2024 08:33
Titel
|
 |
|
Hallo und danke für die super Hilfe.
Hat alles super geklappt und das erleichtert meine Arbeit wirklich ENORM
Schöne Grüße,
imebro
|
|
| |
|
 |
| |
|
 |
| Ä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
|
 |