//Create PdfViewer object
PdfViewer viewer = new PdfViewer();
//Open input PDF file
viewer.bindPdf(DATA_DIR.resolve("input.pdf").toString());
//Set attributes for printing
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate (true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing
// Create objects for printer and page settings and PrintDocument
PdfPrinterSettings printerSettings = new PdfPrinterSettings();
PrintPageSettings pageSettings = new PrintPageSettings();
// Set printer name
printerSettings.setPrinterName("Microsoft Print to PDF");
// Set PageSize (if required)
pageSettings.setPaperSize(PrintPaperSizes.A4);
// Set PageMargins (if required)
pageSettings.setMargins(new PrinterMargins(0, 0, 0, 0));
// Print document using printer and page settings
viewer.printDocumentWithSettings(pageSettings, printerSettings);
// Close the PDF file after printing
viewer.close();