我有一个Google Apps脚本,它通过调用body.replaceText('TextA','TextB');来替换模板文档的副本中的占位符。将图片插入指定位置
现在我想扩展它以包含图像。有谁知道如何做到这一点?
谢谢 安德烈
编辑:只是为了说清楚我的脚本做什么。我在电子表格中创建了一个Google表单。我创建了一个脚本,它在表单提交时运行,遍历与表单相对应的表单,查找未处理的行,从相应的单元格获取值并将它们放入Google文档的副本中。 Google表单中的某些字段是多行文本字段,这是'\ r \ r'的来源。
这里有一个解决办法,我到现在为止,没有优雅的拿出,但到目前为止的工作原理:
// replace <IMG src="URL"> with the image fetched from URL
function processIMG_(Doc) {
var totalElements = Doc.getNumChildren();
for(var j = 0; j < totalElements; ++j) {
var element = Doc.getChild(j);
var type = element.getType();
if (type =='PARAGRAPH'){
var par_text = element.getText();
var start = par_text.search(new RegExp('<IMG'));
var end = par_text.search(new RegExp('>'));
if (start==-1)
continue;
// Retrieve an image from the web.
var url = getURL_(par_text.substring(start,end));
if(url==null)
continue;
// Before image
var substr = par_text.substring(0,start);
var new_par = Doc.insertParagraph(++j, substr);
// Insert image
var resp = UrlFetchApp.fetch(url);
new_par.appendInlineImage(resp.getBlob());
// After image
var substr = par_text.substring(end+1);
Doc.insertParagraph(++j, substr);
element.removeFromParent();
j -= 2; // one - for latter increment; another one - for increment in for-loop
totalElements = Doc.getNumChildren();
}
}
}
您的脚本如何使用此替换功能添加'\ r \ r'?我猜想到了什么? –