Google apps script 如何在google drive中将图像和文本合并为一个blob

Google apps script 如何在google drive中将图像和文本合并为一个blob,google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,我正试图用谷歌应用程序脚本创建我自己的条形码标签。我能够检索条形码的图像块,但我希望能够向其中添加另一行文本。是否可以合并或编辑图像块?如果是这样的话,人们会怎么做呢 这是我获取条形码的当前代码 function createLabel() { var url = "http://www.barcodesinc.com/generator/image.php?code=20-001-001&style=196&type=C128B&width=200&heig

我正试图用谷歌应用程序脚本创建我自己的条形码标签。我能够检索条形码的图像块,但我希望能够向其中添加另一行文本。是否可以合并或编辑图像块?如果是这样的话,人们会怎么做呢

这是我获取条形码的当前代码

function createLabel() {
  var url = "http://www.barcodesinc.com/generator/image.php?code=20-001-001&style=196&type=C128B&width=200&height=100&xres=1&font=3"
  var image = UrlFetchApp.fetch(url).getBlob();
  DriveApp.createFile(image);
}
我知道条形码下面有它的数据编号,但我需要使该编号更大,更易于阅读


我尝试过创建一个文档并插入文本和图像,但它只是像我需要打印一样打印。

谷歌在应用程序脚本中还没有提供任何图像处理方法(目前)。也许当Google Draw支持应用程序脚本时,您可以使用它以编程方式将图像插入图形并向其中添加文本,但现在您必须创建自己的临时解决方案

您并没有指定您的最终目标是什么-一张相同标签的纸,一张不同标签的纸,或者屏幕上显示一个标签供用户保存/下载。但这里有一些想法可以尝试:

  • 创建一个1页的Google文档,其中包含一个表,当 印刷品完全符合您的标签。你很可能得修补一下 使用边距、表格和单元格尺寸、边框等使其适合 标签。此文档将成为您的模板。您的脚本将创建一个 复制此文档,并将条形码图像和文本插入 表格单元格。学习 及 可在代码中使用的方法的参考
  • 如果您的目标是将单个标签输出到屏幕,以便用户 保存/下载、浏览HTML5画布元素和/或画布-或 SVG操作客户端javascript库以绘制图像 在屏幕上显示并向其添加文本。我没有使用这些技术 很多,所以不能推荐一个确定的资源,但是请参见 首先。还可以查看以下js库: ,及

  • 最后注意:您使用的条形码生成器-barcodesinc.com-允许您生成无文本和/或边框的条形码。这可能就是你想要的标签——没有必要在标签上有两次代码文本。

    这是我目前针对我自己问题的解决方案。使用HtmlService,我能够创建我需要的“文档”。然后打印出来。html的打印票据和样式需要一些微调,但这是可行的

    “CloudPrintLib”是我连接到Google Cloud Print和应用程序脚本的解决方案。请参阅本文以供参考。

    函数createLabelDoc(){
    变量url=”http://www.barcodesinc.com/generator/image.php?code=20-001-001&style=196&type=C128B&width=200&height=100&xres=1&font=3“;
    var html=HtmlService.createHtmlOutput().setTitle('htmlelselabel');
    html.append(“20-001-001


    ”); html.append(“”) //DriveApp.createFile(html.getBlob().setName('HTMLBarcode'); var票证={ 版本:“1.0”, 打印:{ 双工:{ 类型:“无双工” } } } log(CloudPrintLib.submit(“printeridher”,html.getTitle(),ticket,html.getBlob()); }

    感谢阿扎瓦扎帮助我思考这一问题。

    感谢你的回复,我整个周末都在发表演讲。我想我可以通过HtmlService实现我的目标。而不是最终输出的图像操作。我的最终输出是当一个项目进入库存系统时,它将打印其条形码。我已经尝试过制作一个文档,但是你不能调整页面大小到足以在标签打印机上打印。我将发布最终结果。是的,如果您使用的是特殊标签打印机,则无法将google文档页面格式化为预期大小。但这些打印机通常配备专用软件,该软件通常允许您导入库存代码列表,并为您生成和打印标签。在这种情况下,您只需要将商品代码存储在库存系统中,并能够导出这些商品的列表。如果您的打印机使用一长条连续标签纸,您可能会生成一个固定宽度的长html页面,使用应用程序脚本生成所有条形码和文本,并打印该页面。。。
    function createLabelDoc() {
      var url = "http://www.barcodesinc.com/generator/image.php?code=20-001-001&style=196&type=C128B&width=200&height=100&xres=1&font=3";
      var html = HtmlService.createHtmlOutput().setTitle('HtmlAlseLabel');
      html.append('<p>20-001-001</p><br>');
      html.append('<img src="http://www.barcodesinc.com/generator/image.php?code=20-001-001&style=196&type=C128B&width=200&height=100&xres=1&font=3"/>')
      //DriveApp.createFile(html.getBlob().setName('HTMLBarcode'));
    
      var ticket = {
            version: "1.0",
            print: {
              duplex: {
                type: "NO_DUPLEX"
              }
            }
          }
    
    
      Logger.log(CloudPrintLib.submit("printeridhere", html.getTitle(), ticket, html.getBlob()));
    }