2017-06-02 2 views
0

Ich versuche, ein Bild von einem externen Link zu erhalten und ein Dokument hinzuzufügen.Bild von URL in Google Text & Tabellen einfügen

Html Service funktioniert gut. Das Dokument sollte jedoch nach der Onload-Funktion ausgefüllt werden.

Wie kann ich es beheben?

code.gs

function doGet(e){ 
    var content = HtmlService.createHtmlOutputFromFile('index').getContent(); 
    return HtmlService.createHtmlOutput(content); 
} 

function im(baseUrl){ 
    var resp = UrlFetchApp.fetch(baseUrl); 
    var docID = "0000xxxxx1111" 
    var doc = DocumentApp.openById(docID); 
    doc.getChild(0).asParagraph().appendInlineImage(resp.getBlob()); 
    return baseUrl; 
} 

index.html

<!DOCTYPE html> 
<head> 
<base target="_top"> 
<script> 
    window.onload = function() { 
    var url = "http://xxx.co/image.png" 
    var canvas = document.createElement('canvas'); 
    canvas.width = 200; 
    canvas.height = 100; 
    document.getElementById('barcode').appendChild(canvas); 
    var ctx = canvas.getContext('2d'); 
    var image = new Image(); 
    image.src = url; 
    ctx.drawImage(image, 0, 0); 
    google.script.run.withSuccessHandler(function(a) { 
     document.getElementById("imageid").src=a; 
    }).im(canvas.toDataURL()); 
    } 
</script> 
</head> 
<body> 
    <img id="imageid" src="" alt="image"> 
</body> 
</html> 

Antwort

1

ein paar Probleme mit Ihrem HTML Es gibt die, warum es wahrscheinlich nicht funktioniert. Sie hatten auch keine Elemente mit der Barcode-ID markiert.

index.html

<!DOCTYPE html> 
<html> 
    <head> 
    <base target="_top"> 
    </head> 

    <body id="barcode"> 
    <img id="imageid" src="" alt="image"> 
    </body> 

    <script> 
    window.onload = function() { 
     var url = "http://lorempixel.com/400/200/" 
     var canvas = document.createElement('canvas'); 
     canvas.width = 200; 
     canvas.height = 100; 
     document.getElementById('barcode').appendChild(canvas); 
     var ctx = canvas.getContext('2d'); 
     var image = new Image(); 
     image.src = url; 
     ctx.drawImage(image, 0, 0); 
     google.script.run.withSuccessHandler(function(a) { 
     document.getElementById("imageid").src=a; 
     }).im(canvas.toDataURL()); 
    } 
    </script> 
</html> 
Verwandte Themen