javascript Copy the textFrames contents to the new textFrames
There is no problem copying the manually created textFrames, but there is a problem with the newly created one. I am a novice and don’t know what is going on. Please help me
Error code: targetCharacters[j].appliedFont = sourceCharacters[j + sourceLines[0].length + 1].appliedFont;
targetCharacters[j].pointSize = sourceCharacters[j + sourceLines[0].length + 1].pointSize;
source code:
var doc = app.activeDocument;
var sourceTextFrameName = "AAA";
for (var i = 0; i < doc.textFrames.length; i++) {
var sourceTextFrame = doc.textFrames[i];
if (sourceTextFrame.name === sourceTextFrameName) {
var sourceLines = sourceTextFrame.contents.split('\r');
if (sourceLines.length >= 2) {
var secondLine = sourceLines[1];
var frameWidth = sourceTextFrame.geometricBounds[3] - sourceTextFrame.geometricBounds[1]; // 左右边界相减
var newTextFrame = doc.textFrames.add({
geometricBounds: [0, 0, 20, frameWidth],
contents: ""
});
newTextFrame.contents = secondLine;
var sourceCharacters = sourceTextFrame.characters;
var targetCharacters = newTextFrame.characters;
for (var j = 0; j < secondLine.length; j++) {
if (j < sourceCharacters.length) {
targetCharacters[j].appliedFont = sourceCharacters[j + sourceLines[0].length + 1].appliedFont;
targetCharacters[j].pointSize = sourceCharacters[j + sourceLines[0].length + 1].pointSize;
}
}} else {
alert("NO");
}
break;
}
}
