Indesign脚本:在具有特定段落样式的文本后面设置背景图像
Indesign script: set background image behind a text with a certain paragraph style
我正在寻找 Indesign 中的解决方案,以在具有特定段落样式的文本后面设置背景图像。不幸的是我还没有找到。
所以我想也许你可以帮我写一个脚本,你可以:
指定段落样式(假设为“chapter_head”)
在整个文档中搜索它的遭遇
剪切找到的项目的文本并将其以相同的样式(或样式的副本)粘贴到新的文本框中
在文本框后面加载图片("small-frame.ai")
组,粘贴到我们把文字截出来的位置
对所有找到的元素重复
提前致谢!
编辑:
根据要求,这里有一张我的目标图片
给你。
// find all headers with style 'header'
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '^.+$';
app.findGrepPreferences.appliedParagraphStyle = 'header';
var headers = app.activeDocument.findGrep();
// store contents of the headers in the array 'contents'
var contents = [];
while (headers.length) contents.push(headers.shift().contents);
// replace all the headers with placeholder from clipboard
app.changeGrepPreferences.changeTo = '~C';
app.activeDocument.changeGrep();
// change all '#placeholder#' with contents of the headers
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '#placeholder#';
var placeholders = app.activeDocument.findGrep();
while (contents.length) placeholders.pop().contents = contents.pop();
脚本找到所有样式为'header'的段落,用剪贴板的内容更改它们(一组:图像+文本'#placeholder#'),然后找到并更改所有文本'#placeholder# ' 包含 headers.
的内容
之前:
之后:
我正在寻找 Indesign 中的解决方案,以在具有特定段落样式的文本后面设置背景图像。不幸的是我还没有找到。 所以我想也许你可以帮我写一个脚本,你可以:
指定段落样式(假设为“chapter_head”)
在整个文档中搜索它的遭遇
剪切找到的项目的文本并将其以相同的样式(或样式的副本)粘贴到新的文本框中
在文本框后面加载图片("small-frame.ai")
组,粘贴到我们把文字截出来的位置
对所有找到的元素重复
提前致谢! 编辑: 根据要求,这里有一张我的目标图片
给你。
// find all headers with style 'header'
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '^.+$';
app.findGrepPreferences.appliedParagraphStyle = 'header';
var headers = app.activeDocument.findGrep();
// store contents of the headers in the array 'contents'
var contents = [];
while (headers.length) contents.push(headers.shift().contents);
// replace all the headers with placeholder from clipboard
app.changeGrepPreferences.changeTo = '~C';
app.activeDocument.changeGrep();
// change all '#placeholder#' with contents of the headers
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '#placeholder#';
var placeholders = app.activeDocument.findGrep();
while (contents.length) placeholders.pop().contents = contents.pop();
脚本找到所有样式为'header'的段落,用剪贴板的内容更改它们(一组:图像+文本'#placeholder#'),然后找到并更改所有文本'#placeholder# ' 包含 headers.
的内容之前:
之后: