Обработка полей / размера изображения при автоматической печати из Google Sheets - PullRequest
1 голос
/ 06 мая 2019

Я печатаю диаграмму из листов Google автоматически с кодом.Я сохраняю диаграмму как изображение в формате png, а затем печатаю ее через Google Cloud Print.

Проблема в том, что размер на бумаге слишком мал , мне нужно уменьшить поля или что-то изменитьтаким образом, изображение заполняет почти всю бумагу.

Размер диаграммы в файле изображения на диске идеален!Но при печати он становится слишком маленьким.Возможно, это как-то связано с размером бумаги.

Я пробовал разные варианты определения полей и их размеров (например, media_size: {width_microns: 600000, height_microns: 300000}, размер носителя и параметры страницы.с здесь и здесь и никто из них ничего не изменил для моего билета.

Данные принтера:

  • Классический принтер, подключенный через Google Chrome

  • Настройки по умолчанию для cp__media: na_letter_8.5x11in (тип формата бумаги)

Вот мой код:

        //creates image of a chart in the folder
        var docID = folder.createFile(chart.getBlob()).getId() // saves it as a file  

        var docName = "Chart"

        //starts printing
        printGoogleDocument(docID, docName)

function printGoogleDocument(docID, docName) {
  
  var printerID = getPrinterList()
  
  var ticket = {
    version: "1.0",
    print: {         
      color: {
        type: "STANDARD_COLOR",
        vendor_id: "Color"
      },
      duplex: {
        type: "NO_DUPLEX"
      },
      page_orientation: { 
        type: 2//or type:"LANDSCAPE"
      },
      fit_to_page: {      
        type: 1//"FIT_TO_PAGE"
      }
    }
  };

  var payload = {
    "printerid" : printerID,
    "title"     : docName,
    "content"   : DriveApp.getFileById(docID).getBlob(),  
    //DriveApp.getFileById(docID).getBlob(),
    "contentType": "image/png",
    //"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
  });
}

Помогите увеличить изображение на распечатанном листе бумаги.

...