Google apps script 你能在谷歌表单中创建一个可以插入捕鼠器以将签名转换为png格式的字段吗?

Google apps script 你能在谷歌表单中创建一个可以插入捕鼠器以将签名转换为png格式的字段吗?,google-apps-script,web-applications,signature,Google Apps Script,Web Applications,Signature,我遇到了一个问题,我想让客户用平板笔签名,然后将签名发送到我们的工作表中,但从未收到脚本。我希望得到一些帮助,在那里获得一个脚本。你可以在谷歌表单中签署一个字段,显示为png,或者在那里制作一个web应用程序。你可以制作一个标志,表明我连接到该标志,将电子标志发送到自动工作表。你可以做两件事 简单:让用户事先准备一个保存为png的签名,并在谷歌表单中包含一个“文件上传”项 优雅:使用 示例Web应用程序 .gs文件 index.html文件 ... 签名: ... document.ge

我遇到了一个问题,我想让客户用平板笔签名,然后将签名发送到我们的工作表中,但从未收到脚本。我希望得到一些帮助,在那里获得一个脚本。你可以在谷歌表单中签署一个字段,显示为png,或者在那里制作一个web应用程序。你可以制作一个标志,表明我连接到该标志,将电子标志发送到自动工作表。

你可以做两件事
  • 简单:让用户事先准备一个保存为png的签名,并在谷歌表单中包含一个“文件上传”项
  • 优雅:使用
示例Web应用程序

.gs文件

index.html文件


...
签名:

... document.getElementById(“签名”).style.border=“1px纯黑色”; $(“#签名”).j签名({ “背景色”:“透明”, “装饰颜色”:“透明” }); 函数getSignature(){ $(“img#rendered”).attr(“src”,$(“#signature”).jSignature('getData','default')); var signature=document.getElementById('rendered').src; google.script.run.saveToDrive(签名); }
谢谢。我不知道JSignature。非常感谢你。但是我现在如何在没有手动插入图像的情况下,自动地在我的电子表格中获得这个im:)使用insertImage(),我将把它包括在我的答案中。
function doGet() {
  return HtmlService
      .createTemplateFromFile('index')
      .evaluate();
}
function saveToDrive(signature){
...
  var signature = signature.split(",")
  var blob = Utilities.newBlob(Utilities.base64Decode(signature[1]), 'image/png');
  var sheet=SpreadsheetApp.getActive().getActiveSheet();
  sheet.insertImage(blob, 1, 1);
...
}
<!DOCTYPE html>
<html>
<head><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/></head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/willowsystems/jSignature/master/libs/jSignature.min.js"></script>
<body>
<form>
...
Signature:
<div id="signature"></div><br>
<img id="rendered" src="" style="display:none">
<input type="Submit" value="Save" onclick="getSignature();"/>
...
</form>
</body>
<script>
  document.getElementById("signature").style.border = "1px solid black";
  $("#signature").jSignature({
    'background-color': 'transparent',
    'decor-color': 'transparent'
  });
  function getSignature(){
    $("img#rendered").attr("src",$('#signature').jSignature('getData','default'));
    var signature = document.getElementById('rendered').src;
    google.script.run.saveToDrive(signature);
  } 
</script>
</html>