Ich habe ein Skript für inDesign entwickelt, das inDesign-Dateien Seite für Seite 1 x einscodiert, Textrahmen scannt, bestimmte Codes im Text findet und für jeden Code prüft, ob der Code ist In einer Liste, wenn ja, fügt das Skript ein kleines Bild nach dem Code ein, wenn nicht das Skript zum nächsten Textrahmen übergeht.InDesign Script - Tabellenfuß und Einfügepunkt
Weil Beispiel ist besser, dass große Rede, hier ein Beispiel:
Nach Code es dieses kleine schwarz/grau Bild eingefügt hat. Das funktioniert perfekt für jeden Code, außer für die Codes in der letzten Tabellenzeile.
Ich habe mehrere Punkte überprüfen, bevor Sie um Hilfe bitten: -Script erkennen den Code richtig (ich kann sogar den Text mit dem Skript bearbeiten, um sicherzustellen, dass). -Die Tabellenzelle hat genug Platz, um das Bild einzufügen (ich habe auch versucht, der Reihe eine höhere Höhe zu geben). -Ich habe versucht, das Bild zu verkleinern, es kleiner zu machen. -Der Skript hinzufügen das Bild korrekt, wenn ich eine leere Zeile nach dem letzten hinzufügen ... so ist es wirklich eine letzte Reihe Problem ...
Hier ist der Teil des Skripts, das
app.findTextPreferences.findWhat = currentREF;
var myFoundItems = app.activeDocument.findText();
for (var bh = 0; bh < myFoundItems.length; bh++) {
myLastIns = myFoundItems[bh].insertionPoints.length;
myInsPointOk = myFoundItems[bh].insertionPoints[myLastIns - 1];
if (bh == 0) {
myTf = myInsPointOk.parentTextFrames[0];
}
try {
//Insert/place the logo
var myImgPath = logoImage;
var myBlockImg = myInsPointOk.rectangles.add({strokeWeight: 0, strokeColor: "None", fillColor: "None", geometricBounds: [ 0, 0, 1, 1 ]});
myBlockImg.contentType = ContentType.graphicType;
myBlockImg.anchoredObjectSettings.anchoredPosition = AnchorPosition.INLINE_POSITION;
myBlockImg.anchoredObjectSettings.anchorXoffset = 0;
myBlockImg.anchoredObjectSettings.anchorYoffset = 0;
myBlockImg.place(File(myImgPath));
myBlockImg.fit(FitOptions.FRAME_TO_CONTENT);
} catch (e) {
//Warning, the code has been find but the script didn't success to insert it
$.writeln("La référence " + normalFormatRef + " à été trouvée dans le fichier " + app.activeDocument.name + " mais le script n'à pas réussit à insérer le picto.");
arrError.push("La référence " + normalFormatRef + " à été trouvée dans le fichier " + app.activeDocument.name + " mais le script n'à pas réussit à insérer le picto.");
}
}
scheitern
Was ich denke ist, dass das Skript nicht den Einfügepunkt in der Tabelle der letzten Zeile findet ... aber warum? Oder vielleicht tun denke ich nicht richtig ...
Am Ende, das Skript Stopp auf dem jedes Mal Linie versuchen, ein Bild auf der letzten Zeile hinzufügen ...
var myBlockImg = myInsPointOk.rectangles.add({strokeWeight: 0, strokeColor: "None", fillColor: "None", geometricBounds: [ 0, 0, 1, 1 ]});
Aus diesem Grund Ich vermute, dass der Einfügepunkt fehlschlägt.
Funktioniert es, wenn Sie '..findText (true)' verwenden, um die Liste der gefundenen Elemente in umgekehrter Reihenfolge zu erhalten? Wenn ja, kann ich erklären warum :) – usr2564301
Danke, aber es hat nicht funktioniert :( –