Sheet a pdf con encabezado y pie de pagina (Sheet to pdf with header and footer)

Mira @TIMAI2 con esto me genera lo deseado, pero puedes darle una revisada sino hay algo que altere el proceso en este script:

function doGet(e) {
  var fileId;
  var ss = SpreadsheetApp.openById(e.parameter.ssId);
  var sh = ss.getSheetByName(e.parameter.shName);
  var rngLength = sh.getRange("A22:A320").getValues().filter(String).length;
  var num = Math.ceil(rngLength / e.parameter.recNo);
  
  for (var i = 0; i < num; i++) {
    sh.hideRows(22, 298);
    sh.showRows(22 + (25 * i), 25);
    sh.copyTo(ss);
    SpreadsheetApp.flush();
  }
  
  // Hide original data sheet and additional sheets
  var sheetsToHide = [sh, ss.getSheetByName("Copia de Hoja 3"), ss.getSheetByName("SIMPLE2"), ss.getSheetByName("SIMPLE1"), ss.getSheetByName("INDUMENTARIA"), ss.getSheetByName("LONCHERA"), ss.getSheetByName("CANASTA"), ss.getSheetByName("Ev."), ss.getSheetByName("DANIEL")]; // Add additional sheets here
  sheetsToHide.forEach(function(sheet) {
    sheet.hideSheet();
  });

  var folder = DriveApp.getFolderById(e.parameter.folderId);
  var url_base = 'https://docs.google.com/spreadsheets/d/' + e.parameter.ssId;
  var url_ext = '/export?exportFormat=pdf&format=pdf'
      + '&id=' + e.parameter.ssId
      + '&size=7'
      + '&portrait=true'
      + '&fitw=true'
      + '&sheetnames=false&printtitle=false&pagenumbers=false'
      + '&gridlines=true'
      + '&horizontal_alignment=CENTER'
      + '&fzr=false';
  var options = { headers: { 'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken(), } };
  var response = UrlFetchApp.fetch(url_base + url_ext, options);
  var blob = response.getBlob().setName(e.parameter.pdfName + '.pdf');
  fileId = folder.createFile(blob).getId();
  SpreadsheetApp.flush();
  
  // Show original data sheet and additional sheets
  var sheetsToShow = [sh, ss.getSheetByName("Copia de Hoja 3"), ss.getSheetByName("SIMPLE2"), ss.getSheetByName("SIMPLE1"), ss.getSheetByName("INDUMENTARIA"), ss.getSheetByName("LONCHERA"), ss.getSheetByName("CANASTA"), ss.getSheetByName("Ev."), ss.getSheetByName("DANIEL")]; // Add additional sheets here
  sheetsToShow.forEach(function(sheet) {
    sheet.showSheet();
  });
  sh.showRows(22,298);
  
  var sheets = ss.getSheets();
  var sheetsToKeep = ["Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5"]; // Specify the names of the sheets you want to keep
  for (var i = sheets.length - 1; i >= 0; i--) {
    var sheetName = sheets[i].getName();
    if (sheetsToKeep.indexOf(sheetName) === -1 && sheetName !== e.parameter.shName) {
      ss.deleteSheet(sheets[i]);
    }
  }
  
  return ContentService.createTextOutput(fileId);
}

Well if it works for you, then all is OK, yes ?

Gracias @TIMAI2
Voy a cerrar esto, agradecido con tu apoyo

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.