Inserir imagem em um local especificado
Tenho um script do Google Apps que substitui espaços reservados em uma cópia de um documento de modelo por algum texto chamando body.replaceText ('TextA', 'TextB');.
Agora eu quero estendê-lo para conter imagens. Alguém tem idéia de como fazer isso?
brigado, Andrey
EDIT: Apenas para deixar claro o que meu script faz. Eu tenho um formulário do Google criado em uma planilha. Criei um script que é executado após o envio do formulário, percorre uma planilha correspondente ao formulário, encontra linhas não processadas, pega valores das células correspondentes e os coloca em uma cópia de um documento do Google. Alguns campos no formulário do Google são campos de texto com várias linhas; é daí que vem "\ r \ r".
Aqui está uma solução que eu criei agora, não elegante, mas funciona até agora:
// 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();
}
}
}