Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html InDesign脚本更改textframe中的子字符串样式_Html_Css_Adobe Indesign_Extendscript - Fatal编程技术网

Html InDesign脚本更改textframe中的子字符串样式

Html InDesign脚本更改textframe中的子字符串样式,html,css,adobe-indesign,extendscript,Html,Css,Adobe Indesign,Extendscript,我想构建一个InDesign脚本,当您导入html标记(如粗体和斜体)时,这些单词将转换为粗体或斜体 e、 g 我真的喜欢步行到公园吃冰淇淋是: 我真的很喜欢去公园散步和吃冰淇淋 然而,在我的文本框中,我只能得到一整段来选择一种风格,而不是单个单词或短语 在下面的示例中,我希望对第二个短语变量应用粗体样式(我没有问题去掉标记等-只是想知道如何仅对第二个短语应用样式) with (myElement) { // Apply basic text style applyParagr

我想构建一个InDesign脚本,当您导入html标记(如粗体和斜体)时,这些单词将转换为粗体或斜体

e、 g

我真的喜欢步行到公园吃冰淇淋
是:

我真的很喜欢去公园散步和吃冰淇淋

然而,在我的文本框中,我只能得到一整段来选择一种风格,而不是单个单词或短语

在下面的示例中,我希望对第二个短语变量应用粗体样式(我没有问题去掉标记等-只是想知道如何仅对第二个短语应用样式)

with (myElement) {

    // Apply basic text style
    applyParagraphStyle(myDoc.paragraphStyles.item("DefaultText"));

    var firstPhrase = "I really like";
    var secondPhrase = " walking to the park";  
    var thirdPhrase = " and eating icecream";

    contents = firstLine + secondLine + thirdPhrase;

}

类似下面的代码应该可以做到这一点。
insertionPoint
就像InDesign中的光标一样。如果您一直抓住最后一个
insertionPoint
,您可以在添加文本时更改它的样式

var doc = app.documents.add();

var frame = doc.pages[0].textFrames.add({
   geometricBounds: [6, 6, 40, 40]
});

var bold = doc.characterStyles.add({ name: "Bold", fontStyle: "Bold" });
var none = doc.characterStyles.itemByName("[None]");

frame.insertionPoints.lastItem().applyCharacterStyle(none);

frame.insertionPoints.lastItem().contents = "I really like";

frame.insertionPoints.lastItem().applyCharacterStyle(bold);

frame.insertionPoints.lastItem().contents = " walking to the park";

frame.insertionPoints.lastItem().applyCharacterStyle(none);

frame.insertionPoints.lastItem().contents = " and eating icecream";

类似下面的代码应该可以做到这一点。
insertionPoint
就像InDesign中的光标一样。如果您一直抓住最后一个
insertionPoint
,您可以在添加文本时更改它的样式

var doc = app.documents.add();

var frame = doc.pages[0].textFrames.add({
   geometricBounds: [6, 6, 40, 40]
});

var bold = doc.characterStyles.add({ name: "Bold", fontStyle: "Bold" });
var none = doc.characterStyles.itemByName("[None]");

frame.insertionPoints.lastItem().applyCharacterStyle(none);

frame.insertionPoints.lastItem().contents = "I really like";

frame.insertionPoints.lastItem().applyCharacterStyle(bold);

frame.insertionPoints.lastItem().contents = " walking to the park";

frame.insertionPoints.lastItem().applyCharacterStyle(none);

frame.insertionPoints.lastItem().contents = " and eating icecream";

类似下面的代码应该可以做到这一点。
insertionPoint
就像InDesign中的光标一样。如果您一直抓住最后一个
insertionPoint
,您可以在添加文本时更改它的样式

var doc = app.documents.add();

var frame = doc.pages[0].textFrames.add({
   geometricBounds: [6, 6, 40, 40]
});

var bold = doc.characterStyles.add({ name: "Bold", fontStyle: "Bold" });
var none = doc.characterStyles.itemByName("[None]");

frame.insertionPoints.lastItem().applyCharacterStyle(none);

frame.insertionPoints.lastItem().contents = "I really like";

frame.insertionPoints.lastItem().applyCharacterStyle(bold);

frame.insertionPoints.lastItem().contents = " walking to the park";

frame.insertionPoints.lastItem().applyCharacterStyle(none);

frame.insertionPoints.lastItem().contents = " and eating icecream";

类似下面的代码应该可以做到这一点。
insertionPoint
就像InDesign中的光标一样。如果您一直抓住最后一个
insertionPoint
,您可以在添加文本时更改它的样式

var doc = app.documents.add();

var frame = doc.pages[0].textFrames.add({
   geometricBounds: [6, 6, 40, 40]
});

var bold = doc.characterStyles.add({ name: "Bold", fontStyle: "Bold" });
var none = doc.characterStyles.itemByName("[None]");

frame.insertionPoints.lastItem().applyCharacterStyle(none);

frame.insertionPoints.lastItem().contents = "I really like";

frame.insertionPoints.lastItem().applyCharacterStyle(bold);

frame.insertionPoints.lastItem().contents = " walking to the park";

frame.insertionPoints.lastItem().applyCharacterStyle(none);

frame.insertionPoints.lastItem().contents = " and eating icecream";

下面是对Josh解决方案的一个简单介绍——插入点是一个不错的选择。如果您需要操作、镜像或处理动态JSON内容/想要分离文本,您需要通过循环运行它,并简单地将文本块指定为对象。这使得交换文本和使用某些东西变得更加容易它类似于
Array.prototype.reverse()
,我需要在我的案例中使用它

以下是我对它的看法:

// Basic Setup
var doc = app.documents.add();
var myPage = doc.pages.item(0); // Arbitrary page

// Character-Styles
var bold = doc.characterStyles.add({ name: "Bold", fontStyle: "Bold" });
var none = doc.characterStyles.itemByName("[None]");

// My String as an Array of Objects (Basic JSON format)
var myStringsAndStyles = [
  {
    contents: "I really like",
    characterStyle: none
  },
  {
    contents: " walking to the park ",
    characterStyle: bold
  },
  {
    contents: "and eating ice cream.",
    characterStyle: none
  }
];

// Do stuff
with ( myPage) {

  var myTextFrame = textFrames.add({
    geometricBounds: [6, 6, 40, 40] // Arbitrary coords
  });

  with ( myTextFrame.insertionPoints ) {
    for ( var i = 0, arrlength = myStringsAndStyles.length; i < arrlength; i++ ) {
      lastItem().properties = {
        contents: myStringsAndStyles[i].contents,
        appliedCharacterStyle: myStringsAndStyles[i].characterStyle
      }
    }
  }

}
//基本设置
var doc=app.documents.add();
var myPage=doc.pages.item(0);//任意页面
//人物风格
var bold=doc.characterStyles.add({name:“bold”,fontStyle:“bold”});
var none=doc.characterStyles.itemByName(“[none]”);
//作为对象数组的我的字符串(基本JSON格式)
var myStringsAndStyles=[
{
内容:“我真的很喜欢”,
characterStyle:无
},
{
内容:“步行去公园”,
字符样式:粗体
},
{
内容:“和吃冰淇淋。”,
characterStyle:无
}
];
//做事
带(myPage){
var myTextFrame=textFrames.add({
几何边界:[6,6,40,40]//任意坐标
});
使用(myTextFrame.insertionPoints){
对于(var i=0,arrlength=myStringsAndStyles.length;i

Ta da!

这里有一个关于Josh解决方案的简单介绍——插入点是一个不错的选择。如果您需要操作、镜像或处理动态JSON内容/想要分离文本,您需要通过循环运行它,并简单地将文本块指定为对象。这使得交换文本和使用JSON更加容易比如
Array.prototype.reverse()
,我需要在我的案例中使用它

以下是我对它的看法:

// Basic Setup
var doc = app.documents.add();
var myPage = doc.pages.item(0); // Arbitrary page

// Character-Styles
var bold = doc.characterStyles.add({ name: "Bold", fontStyle: "Bold" });
var none = doc.characterStyles.itemByName("[None]");

// My String as an Array of Objects (Basic JSON format)
var myStringsAndStyles = [
  {
    contents: "I really like",
    characterStyle: none
  },
  {
    contents: " walking to the park ",
    characterStyle: bold
  },
  {
    contents: "and eating ice cream.",
    characterStyle: none
  }
];

// Do stuff
with ( myPage) {

  var myTextFrame = textFrames.add({
    geometricBounds: [6, 6, 40, 40] // Arbitrary coords
  });

  with ( myTextFrame.insertionPoints ) {
    for ( var i = 0, arrlength = myStringsAndStyles.length; i < arrlength; i++ ) {
      lastItem().properties = {
        contents: myStringsAndStyles[i].contents,
        appliedCharacterStyle: myStringsAndStyles[i].characterStyle
      }
    }
  }

}
//基本设置
var doc=app.documents.add();
var myPage=doc.pages.item(0);//任意页面
//人物风格
var bold=doc.characterStyles.add({name:“bold”,fontStyle:“bold”});
var none=doc.characterStyles.itemByName(“[none]”);
//作为对象数组的我的字符串(基本JSON格式)
var myStringsAndStyles=[
{
内容:“我真的很喜欢”,
characterStyle:无
},
{
内容:“步行去公园”,
字符样式:粗体
},
{
内容:“和吃冰淇淋。”,
characterStyle:无
}
];
//做事
带(myPage){
var myTextFrame=textFrames.add({
几何边界:[6,6,40,40]//任意坐标
});
使用(myTextFrame.insertionPoints){
对于(var i=0,arrlength=myStringsAndStyles.length;i

Ta da!

这里有一个关于Josh解决方案的简单介绍——插入点是一个不错的选择。如果您需要操作、镜像或处理动态JSON内容/想要分离文本,您需要通过循环运行它,并简单地将文本块指定为对象。这使得交换文本和使用JSON更加容易比如
Array.prototype.reverse()
,我需要在我的案例中使用它

以下是我对它的看法:

// Basic Setup
var doc = app.documents.add();
var myPage = doc.pages.item(0); // Arbitrary page

// Character-Styles
var bold = doc.characterStyles.add({ name: "Bold", fontStyle: "Bold" });
var none = doc.characterStyles.itemByName("[None]");

// My String as an Array of Objects (Basic JSON format)
var myStringsAndStyles = [
  {
    contents: "I really like",
    characterStyle: none
  },
  {
    contents: " walking to the park ",
    characterStyle: bold
  },
  {
    contents: "and eating ice cream.",
    characterStyle: none
  }
];

// Do stuff
with ( myPage) {

  var myTextFrame = textFrames.add({
    geometricBounds: [6, 6, 40, 40] // Arbitrary coords
  });

  with ( myTextFrame.insertionPoints ) {
    for ( var i = 0, arrlength = myStringsAndStyles.length; i < arrlength; i++ ) {
      lastItem().properties = {
        contents: myStringsAndStyles[i].contents,
        appliedCharacterStyle: myStringsAndStyles[i].characterStyle
      }
    }
  }

}
//基本设置
var doc=app.documents.add();
var myPage=doc.pages.item(0);//任意页面
//人物风格
var bold=doc.characterStyles.add({name:“bold”,fontStyle:“bold”});
var none=doc.characterStyles.itemByName(“[none]”);
//作为对象数组的我的字符串(基本JSON格式)
var myStringsAndStyles=[
{
内容:“我真的很喜欢”,
characterStyle:无
},
{
内容:“步行去公园”,
字符样式:粗体
},
{
内容:“和吃冰淇淋。”,
characterStyle:无
}
];
//做事
带(myPage){
var myTextFrame=textFrames.add({
几何边界:[6,6,40,40]//任意坐标
});
使用(myTextFrame.insertionPoints){
对于(var i=0,arrlength=myStringsAndStyles.length;i