如何修改从 InCopy 创建的 InDesign 文档文本框架?
How can I modify an InDesign's document textFrame created from InCopy?
我有一个 InDesign 文件,我正在尝试编写脚本,但我 运行 遇到了一个问题。我相信文档的一部分内容是从 InCopy 创建的,因为当我在通过页面编写脚本后尝试修改该文本框架时,我得到:
我无权访问 InCopy,我尝试通过将 INDD 文件导出到 IDML 文件然后将其重新导入来覆盖 InCopy 帧,但我无法绕过 InCopy。当我研究该站点时,我能找到的最接近的问题是 How to script InDesign/InCopy to “Check In” and “Check Out” textFrames?,但是当我尝试将 checkOut()
实施到选择中时,我得到了一个错误,所以我研究了 运行:
但我仍然无法在选择文本框上插入。
精简代码
function run() {
throw new Error( "Script has run into an error" );
}
run.error = null;
try {
app.doScript( somePages );
if ( run.error ) {
throw run.error;
}
} catch(e) {
alert( e );
}
function somePages() {
var allPages = app.documents[0].pages.everyItem().getElements(),
items = app.activeDocument.allPageItems,
pageCount = allPages.length;
for ( var x = allPages.length-1; x >= 0; x-- ) {
if ( allPages[x].textFrames.length != 0 && items[x].locked == false ) {
app.activeDocument.pageItems.everyItem().locked = false;
app.select(allPages[x].textFrames[0].insertionPoints[0]);
app.selection[0].contents= "foobar" + allPages[x].name;
}
}
}
我如何针对文本框编写脚本以添加从 InCopy 创建的文本,这样我就可以 运行 浏览文档?
那是因为在文本框架的情况下,必须检查的是故事。
function run() {
throw new Error( "Script has run into an error" );
}
run.error = null;
try {
app.doScript( somePages );
if ( run.error ) {
throw run.error;
}
} catch(e) {
alert( e );
}
function somePages() {
var allPages = app.documents[0].pages.everyItem().getElements(),
items = app.activeDocument.allPageItems,
pageCount = allPages.length;
for ( var x = allPages.length-1; x >= 0; x-- ) {
if ( allPages[x].textFrames.length != 0 && items[x].locked == false ) {
app.activeDocument.stories.everyItem().checkOut();
app.activeDocument.pageItems.everyItem().locked = false;
app.select(allPages[x].textFrames[0].insertionPoints[0]);
app.selection[0].contents= "foobar" + allPages[x].name;
}
}
}
app.activeDocument.stories.everyItem().checkOut();
我有一个 InDesign 文件,我正在尝试编写脚本,但我 运行 遇到了一个问题。我相信文档的一部分内容是从 InCopy 创建的,因为当我在通过页面编写脚本后尝试修改该文本框架时,我得到:
我无权访问 InCopy,我尝试通过将 INDD 文件导出到 IDML 文件然后将其重新导入来覆盖 InCopy 帧,但我无法绕过 InCopy。当我研究该站点时,我能找到的最接近的问题是 How to script InDesign/InCopy to “Check In” and “Check Out” textFrames?,但是当我尝试将 checkOut()
实施到选择中时,我得到了一个错误,所以我研究了 运行:
但我仍然无法在选择文本框上插入。
精简代码
function run() {
throw new Error( "Script has run into an error" );
}
run.error = null;
try {
app.doScript( somePages );
if ( run.error ) {
throw run.error;
}
} catch(e) {
alert( e );
}
function somePages() {
var allPages = app.documents[0].pages.everyItem().getElements(),
items = app.activeDocument.allPageItems,
pageCount = allPages.length;
for ( var x = allPages.length-1; x >= 0; x-- ) {
if ( allPages[x].textFrames.length != 0 && items[x].locked == false ) {
app.activeDocument.pageItems.everyItem().locked = false;
app.select(allPages[x].textFrames[0].insertionPoints[0]);
app.selection[0].contents= "foobar" + allPages[x].name;
}
}
}
我如何针对文本框编写脚本以添加从 InCopy 创建的文本,这样我就可以 运行 浏览文档?
那是因为在文本框架的情况下,必须检查的是故事。
function run() {
throw new Error( "Script has run into an error" );
}
run.error = null;
try {
app.doScript( somePages );
if ( run.error ) {
throw run.error;
}
} catch(e) {
alert( e );
}
function somePages() {
var allPages = app.documents[0].pages.everyItem().getElements(),
items = app.activeDocument.allPageItems,
pageCount = allPages.length;
for ( var x = allPages.length-1; x >= 0; x-- ) {
if ( allPages[x].textFrames.length != 0 && items[x].locked == false ) {
app.activeDocument.stories.everyItem().checkOut();
app.activeDocument.pageItems.everyItem().locked = false;
app.select(allPages[x].textFrames[0].insertionPoints[0]);
app.selection[0].contents= "foobar" + allPages[x].name;
}
}
}
app.activeDocument.stories.everyItem().checkOut();