// Create a pdf file stream FileOutputStream outputStream = null; try { outputStream = new FileOutputStream("SaveSheetBackgroundToPDF.pdf"); } catch (FileNotFoundException e) { e.printStackTrace(); } // Create a new workbook Workbook workbook = new Workbook(); IWorksheet worksheet = workbook.getWorksheets().get(0); worksheet.getRange("A1").setValue("Document Solutions for Excel"); worksheet.getRange("A1").getFont().setSize(25); //Set a background image for worksheet InputStream inputStream = this.getResourceStream("logo.png"); try { byte[] bytes = new byte[inputStream.available()]; inputStream.read(bytes, 0, bytes.length); worksheet.setBackgroundPicture(bytes); }catch (IOException ioe){ // Log ignored error of your code // log.debug(ioe.getMessage()); } PdfSaveOptions pdfSaveOptions = new PdfSaveOptions(); //Print the background image when saving pdf. //The background image will be centered on every page of the sheet. pdfSaveOptions.setPrintBackgroundPicture(true); //Save the workbook into pdf file. workbook.save(outputStream, pdfSaveOptions); // Close the file stream try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); }