Экспорт PDF Google Script Как подогнать под страницу?

#google-apps-script

#google-apps-script

Вопрос:

  if(foldNum == 2){var url_ext = '/export?exportFormat=pdfamp;format=pdf'  

        (sheetId ? ('amp;gid='   sheetId) : ('amp;id='   spreadsheetId)) 
        'amp;top_margin=0.50' 
        'amp;bottom_margin = 0.50'
        'amp;left_margin=0.250'             
        'amp;right_margin=0.250'
        'scale = 3'
        'amp;sheetnames=falseamp;printtitle=falseamp;pagenumbers=false'  //hide optional headers and footers
        'amp;gridlines=false'  // hide gridlines
      }
  

Здравствуйте, я использую приведенный выше код, который я адаптировал из других источников к своим предпочтениям. Я хочу экспортировать таблицу Google в формате PDF с полями, установленными выше, но я не уверен, как подогнать под страницу. Я видел, что scale = 3 должен соответствовать высоте, но, похоже, он ничего не делает. Мой лист по-прежнему печатается на 2 страницах вместо масштабирования до 1 страницы.

Комментарии:

1. Можете ли вы предоставить образец листа, который показывает эту проблему?

Ответ №1:

наконец-то я заработал со следующим — может дать вам что-то для работы — он также сохраняется в общей папке в нашей папке workspace, поэтому вы можете захотеть удалить их из своих скриптов.

 var foldersave=DriveApp.getFolderById('**yourfolder ID**');


  var request = {
  "method": "GET",
  "headers":{"Authorization": "Bearer " ScriptApp.getOAuthToken()},    
  "muteHttpExceptions": true
   };

   var key='**yourKey**'; 
   var fetch='https://docs.google.com/spreadsheets/d/' key '/export? 
   format=pdfamp;' 'size=A4amp;' 'portrait=Trueamp;' 'scale=4amp;' 'top_margin=0.70amp;' 
   'bottom_margin=0.30amp;' 'left_margin=0.40amp;' 'right_margin=0.30amp;'
   var namepdf = newname   ".pdf";
   var pdf = UrlFetchApp.fetch(fetch, request);
   pdf = pdf.getBlob().setName(namepdf);
   var file = foldersave.createFile(pdf)
  

Ответ №2:

Итак, я считаю, что

   'scale=3'
  

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

Комментарии:

1. Точно, scale не работает, однако обычно содержимое листов автоматически помещается на страницу — вот почему я попросил образец листа, для которого это не так.