问题
我正在尝试使用此库实现签名收集器:github.com/szimek/signature_pad
收集器在 Google Apps Script 上作为 Web 应用程序运行。我希望能够使用我们公司的用户列表和 Drive 以及签名来创建 PDF。
我使用常规 HTML 创建了表单,并从库的演示页面添加了 canvas 元素。
我可以绘制签名,但是当我尝试使用提取数据 URL 时canvas.toDataURL()
收到以下消息:
Expected property "toDataURL" to be a function, not undefined: undefined
在 Chrome 开发者控制台中。
我试过的
我假设 Google Caja 库(我几乎一无所知)没有实现或允许该toDataURL()
方法。我找到了这个库:http ://www.nihilogic.dk/labs/canvas2image/ ,它可以创建画布 BMP 的 base64 编码版本。
这次我可以运行代码并提取一些数据,但是当我尝试在服务器端将图像重新组合在一起时,我得到的只是一个黑匣子。
这是一个演示问题的示例应用程序:https ://script.google.com/macros/s/AKfycbwXo0xFNWqiewoe4oh-cSxTdhmqRTyNDwL9xknbtOdk3rLbHZ8/exec
示例输出
Object [object Object] has no method 'toDataURL'
到开发者控制台。这应该是因为我使用的是 NATIVE 沙盒模式而不是 EMULATED。
这是可编辑项目的链接:https://script.google.com/d/19azWWXnrUO72ryDWhmhKJA-PqoOiDIRNPEIt61h2l_kduUbD87V4P311/edit?usp=sharing。也许某个好人可以为我建立一个适当的链接?
接下来是什么
- 有没有办法让我的
toDataURL()
方法起作用? - BMP 解决方案应该起作用吗?怎么了?
- 我可以使用其他库/解决方案吗?
显然我没有提供任何代码。我可以根据要求这样做。如果 BMP 解决方案应该工作,那么我会告诉你我在做什么,我现在没有添加代码,因为它可能只是一个死胡同。
编辑:
- 更正
getDataURL()
为toDataURL()
- 添加了示例应用程序