首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google脚本-打印pdf标签大小的设置(3.5英寸x2.2英寸)

Google脚本-打印pdf标签大小的设置(3.5英寸x2.2英寸)
EN

Stack Overflow用户
提问于 2018-01-15 23:49:50
回答 1查看 645关注 0票数 1

我正在生成一个PDF文件使用谷歌脚本提交谷歌表单。这样做的目的是使用标签打印机在标签上打印表单中输入的名称。这台打印机是谷歌云打印机。

代码语言:javascript
复制
function getNameOnSubmit() {
  var formResponses = FormApp.getActiveForm().getResponses();
  var formResponse = formResponses[formResponses.length-1];
  var itemResponses = formResponse.getItemResponses();

    var itemResponse = itemResponses[0];
    Logger.log('Last response to the question "%s" was "%s"',
               itemResponse.getItem().getTitle(),
               itemResponse.getResponse());
 createPDFFile(itemResponse.getResponse());
}

function createPDFFile(response) {
  var docName = "Template";
  var docTemplate = "1W-asdasdasdasdasd1398612983";

  var tz = Session.getScriptTimeZone();
  var timeStamp = Utilities.formatDate(new Date(), tz, 'ddMMyyyyhhmmss');

 // Get document template, copy it as a new temp doc, and save the Doc’s id
  var copyId = DriveApp.getFileById(docTemplate).makeCopy(docName+'_'+ timeStamp).getId();

 // Open the temporary document
  var copyDoc = DocumentApp.openById(copyId);

 // Get the document’s body section
  var copyBody = copyDoc.getActiveSection();

  // Replace place holder keys located in our google doc template
  copyBody.replaceText('Name', response);

  // Save and close the temporary document
  copyDoc.saveAndClose();

  // Convert temporary document to PDF (XYZ-TEMP)
  var pdf = DriveApp.getFileById(copyId).getAs("application/pdf"); 
  // Convert temporary document to PDF
  var pdf = DriveApp.getFileById(copyId);
  var theblob = pdf.getBlob().getAs('application/pdf'); 
  var folder = DriveApp.getFolderById('24234234524sgsdfgsgsgsd'); 
  var movefile = folder.createFile(theblob);
   // Delete temp file
  DriveApp.getFileById(copyId).setTrashed(true);

  printNameFromSheets(movefile.getId(),"43543543regsdfgsdfgsdf", movefile.getName());
}

function printNameFromSheets(docID, printerID, docName) {
  var ticket = {
    version: "1.0",
    print: {
      color: {
        type: "STANDARD_COLOR",
        //STANDARD_MONOCHROME 
        vendor_id: "Color"
      },
      duplex: {
        type: "NO_DUPLEX"
      },
      fit_to_page:{
        type: "NO_FITTING"
      },
      media_size: {
          width_microns: "88900",
          height_microns: "55880",
          is_continuous_feed: "false"
      }
    }
  };

Logger.log(' 43 '+JSON.stringify(ticket));

  var payload = {
    "printerid" : printerID,
    "title"     : docName,
    "content"   : DriveApp.getFileById(docID).getBlob(),
    "contentType": "application/pdf",
    "ticket"    : JSON.stringify(ticket)
  };

  var response = UrlFetchApp.fetch('https://www.google.com/cloudprint/submit', {
    method: "POST",
    payload: payload,
    headers: {
      Authorization: 'Bearer ' + getCloudPrintService().getAccessToken()
    },
    "muteHttpExceptions": true
  });

  response = JSON.parse(response);

  if (response.success) {
    Logger.log("%s", response.message);
  } else {
    Logger.log("Error Code: %s %s", response.errorCode, response.message);
  }
}

函数可以正常工作,直到我将下面的配置添加到代码中以调整打印的大小。

代码语言:javascript
复制
  fit_to_page:{
    type: "NO_FITTING"
  },
  media_size: {
      width_microns: "88900",
      height_microns: "55880",
      is_continuous_feed: "false"
  }

这就是我在日志18-01-16 10:41:12:154对“测试”问题的最后回答18-01-16 10:41:19:067 {“1.0”,“打印”:{“颜色”:{“STANDARD_COLOR”,“vendor_id”:“颜色”},“双工”:{“type”:“NO_DUPLEX”},"fit_to_page":{"type":"NO_FITTING"},}"media_size":{"width_microns":"88900“、"height_microns":"55880”、“is_continuous_feed”}} 18-01-16 10:41:19:657错误代码: 424.0未能解析打印作业的打印票证。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-16 01:52:35

下面的修改如何?false是布尔的。所以请删除"

发自:

代码语言:javascript
复制
is_continuous_feed: "false"

致:

代码语言:javascript
复制
is_continuous_feed: false

如果这不管用,我很抱歉。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48272278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档