2015-06-01 35 views
0

我試圖創建郵件合併功能來創建基於簡單模板的文檔。 我試着用下面的功能來複制模板元素,但我在使用的(內嵌)圖像的問題,他們總是顯示爲段落,並沒有INLINE_IMAGE和下面的圖標,而不會出現圖像:郵件合併:無法從模板追加圖像

enter image description here

下面的代碼:

function appendToDoc(src, dst) { 
    // iterate accross the elements in the source adding to the destination 
    for (var i = 0; i < src.getNumChildren(); i++) { 
    appendElementToDoc(dst, src.getChild(i)); 
    } 
} 

function appendElementToDoc(doc, object) 
{ 
    var element = object.copy(); 
    var type = object.getType(); 

    if (type == DocumentApp.ElementType.PARAGRAPH) { 
     doc.appendParagraph(element); 
    } else if (type == DocumentApp.ElementType.TABLE) { 
     doc.appendTable(element); 
    } else if (type== DocumentApp.ElementType.INLINE_IMAGE) { // This is never called :(
     var blob = element.asInlineImage().getBlob(); 
     doc.appendImage(blob); 
    } 
} 

如何解決這個任何想法?提前致謝!

回答

1

據我所知,內嵌圖像包含在一個段落中,因此我們必須檢查段落中的圖像類型。

所以在檢查該代碼會是這個樣子:

if (type == DocumentApp.ElementType.PARAGRAPH) { 
     if (element.asParagraph().getNumChildren() != 0 && element.asParagraph().getChild(0).getType() == DocumentApp.ElementType.INLINE_IMAGE) { 
     var blob = element.asParagraph().getChild(0).asInlineImage().getBlob(); 
     doc.appendImage(blob); 
     } 
     else doc.appendParagraph(element.asParagraph()); 
    } 

希望幫助!