I'm using a script to create a PDF-file of a sheet and save it. Everything works great except I can't figure out how to make it "fit whole page". The code below is for "fit to width" (fitw=true) which is described numerous places – but I can't find how to fit to page instead.
function savePdf(spreadsheetId, sheetName, pdfName, pdfFolderId) {
var sheetId = spreadsheetId.getSheetByName(sheetName).getSheetId();
var url_base = spreadsheetId.getUrl().replace(/edit$/,'');
var url_ext = 'export?exportFormat=pdf&format=pdf'
+ '&gid=' + sheetId
// following parameters are optional...
+ '&range=D4:AX74'
+ '&size=A4' // paper size: legal / letter / A4
+ '&portrait=false' // orientation, false for landscape
+ '&fitw=true' // fit to width, false for actual size
+ '&top_margin=0.50'
+ '&bottom_margin=0.50'
+ '&left_margin=0.50'
+ '&right_margin=0.50'
+ '&sheetnames=false' //
+ '&printtitle=false'
+ '&pagenumbers=false' //hide optional headers and footers
+ '&gridlines=false' // hide gridlines
+ '&fzr=true'; // false = do not repeat row headers (frozen rows) on each page
var url_options = {headers: {'Authorization': 'Bearer ' + ScriptApp.getOAuthToken(),}};
var response = UrlFetchApp.fetch(url_base + url_ext, url_options);
var blob = response.getBlob().getAs('application/pdf').setName(pdfName + '.pdf');
var folder = DriveApp.getFolderById(pdfFolderId);
folder.createFile(blob);
}
I've found a solution!
It's to add
+ '&scale=' + scale
// 1 = Normal 100% -- 2 = Fit to width -- 3 = Fit to height -- 4 = Fit to Page
This should do it:
&horizontal_alignment=CENTER
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With