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支持应用程序脚本时,您可以使用它以编程方式将图像插入图形并向其中添加文本,但现在您必须创建自己的临时解决方案 您并没有指定您的最终目标是什么-一张相同标签的纸,一张不同标签的纸,或者屏幕上显示一个标签供用户保存/下载。但这里有一些想法可以尝试:
最后注意:您使用的条形码生成器-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()));
}