Solved
In New Sheets, I wanted to create a script, assigned to a button, that bypasses having to use the print dialog by specifying print options, including the active range, exporting and downloading a PDF of the sheet, not saving the file to Google Drive.
I consulted code by crewstyle, Serge insas, Eric Koleda, and others, but because of a Google bug, .fetch currently fails to authenticate for the spreadsheets service when muteHttpExceptions is true. But this workaround bypasses authentication altogether and answers my question.
The result is mimicking the native print behavior except for temporarily opening a new tab at download, which is minor, but I would still like even to fix that if possible. I would also be nice to programmatically rename the downloaded file but this isn't vital.
function printPdf() {
SpreadsheetApp.flush();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var gid = sheet.getSheetId();
var pdfOpts = '&size=0&fzr=false&portrait=false&fitw=true&gridlines=false&printtitle=false&sheetnames=false&pagenum=UNDEFINED&attachment=true&gid='+gid;
var row2 = sheet.getMaxRows() - 3;
var printRange = '&c1=1' + '&r1=1' + '&c2=42' + '&r2='+row2; // B2:APn
var url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + pdfOpts + printRange;
var app = UiApp.createApplication().setWidth(200).setHeight(50);
app.setTitle('Print this sheet');
var link = app.createAnchor('Download PDF', url).setTarget('_self');
app.add(link);
ss.show(app);
}