How it works
SpreadsheetApp.getActiveSpreadsheet().getAs("application/pdf") tells Google to render the entire workbook to PDF using its built-in export engine. The result is a Blob — the same shape Drive and Gmail expect for binary attachments.
GmailApp.sendEmail's options object accepts `attachments` as an array of Blobs. The PDF rides along with the email; the recipient gets a normal Gmail attachment.
The script loops over RECIPIENTS one at a time so each gets the message in a separate thread. Use BCC instead if you want a single thread (set options.bcc and only send once).