使用应用程序脚本将谷歌文档中的粗体替换为斜体

pri*_*ler 3 google-docs-api google-apps-script

如何使用 Google 文档的应用程序脚本实现查找并将粗体字体替换为斜体。请注意,它必须仅将粗体替换为斜体,而不是所有文本。

说。示例文本

一只敏捷的棕色狐狸跳过一只懒狗 一只敏捷的棕色狐狸跳过一只懒狗 一只敏捷的棕色狐狸跳过一只懒狗。

小智 6

这有点尴尬,因为 Google 文档中没有像“粗体文本节点”这样的东西;Text元素没有太多的内部结构。解决方案似乎是循环遍历其字符并测试每个字符的粗体。当在循环中识别出粗体文本的范围时,将使用setItalicmethod 将它们设置为斜体。最后,所有文本中的粗体都会被删除。

function bold2italic() {  
  var doc = DocumentApp.getActiveDocument();
  var text = doc.getBody().editAsText();
  var startBold = 0;
  var bold = false; 
  for (var i = 0; i < text.getText().length; i++) {
    if (text.isBold(i) && !bold) {
      startBold = i;
      bold = true;
    }
    else if (!text.isBold(i) && bold) {
      bold = false;
      text.setItalic(startBold, i-1, true);
    }
  }
  if (bold) {
    text.setItalic(startBold, i-1, true);
  }  
  text.setBold(false);
}
Run Code Online (Sandbox Code Playgroud)