Как загрузить файл PDF из Google Sheet с указанными полями c и разрывами страниц? - PullRequest
0 голосов
/ 24 апреля 2020

Я вижу несколько способов создания PDF из листов Google. Но не могу найти, как установить параметры страницы, такие как скрытие линий сетки, установить поля, разрывы страниц и т. Д. c. Когда я выбираю скачать как PDF из меню файла, я могу сделать это. Так есть ли какой-нибудь способ получить доступ к настройкам страницы с помощью скрипта?

enter image description here

Мой лист содержит графики и изображения. Я ищу метод, который не игнорирует медиа-контент

1 Ответ

1 голос
/ 24 апреля 2020

Самый простой способ конвертировать электронную таблицу Google в pdf с указанием различных параметров с помощью UrlFetchApp

Позволяет указать различные параметры печати, добавив их в URL-адрес, в том числе на полях и сетки.

Пример:


function myFunction() {
  var token = ScriptApp.getOAuthToken();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var id = ss.getId();
  var url = "https://docs.google.com/spreadsheets/d/"+id+"/export?";

  var url_ext = 'exportFormat=pdf&format=pdf'        // export as pdf / csv / xls / xlsx
  + '&size=letter'                                   // paper size legal / letter / A4
  + '&portrait=true'                                // orientation, false for landscape
  +'&top_margin=0.50'
  +'&bottom_margin=0.50' 
  +'&left_margin=0.50' 
  +'&right_margin=0.50'
  + '&gridlines=false' 
  // other parameters if you need
  /*
  + '&fitw=true&source=labnol'                       // fit to page width, false for actual size
  + '&sheetnames=false&printtitle=false'             // hide optional headers and footers
  + '&pagenumbers=false'                               // hide page numbers 
  + '&fzr=false'                                     // do not repeat row headers (frozen rows) on each page
  + '&gid=';                                         // the sheet's Id
  */

  var response = UrlFetchApp.fetch(url + url_ext, 
   {
    headers: {
     'Authorization': 'Bearer ' +  token
    },
    muteHttpExceptions:true
  });
  DriveApp.createFile(response.getBlob().setName("myPdf"));
}

К сожалению, я не знаю, как установить разрывы страниц, но люди используют обходные пути .

...