private static void imageToPDF(String folder, Collection<Path> all) { for (Path path : all) { Document document = new Document(); String absolutePathInput = path.toFile().getAbsolutePath(); String absolutePathOutput = folder + "/" + path.getFileName() + ".pdf"; if (absolutePathInput.endsWith(".gif") || // absolutePathInput.endsWith(".GIF") || // absolutePathInput.endsWith(".jpg") || // absolutePathInput.endsWith(".JPG") || // absolutePathInput.endsWith(".png") || // absolutePathInput.endsWith(".PNG")) { try { FileOutputStream fos = new FileOutputStream(absolutePathOutput); PdfWriter writer = PdfWriter.getInstance(document, fos); writer.open(); document.open(); int indentation = 0; Image image = Image.getInstance(absolutePathInput); float scaler = ((document.getPageSize().getWidth() - document.leftMargin() - document.rightMargin() - indentation) / image.getWidth()) * 100; image.scalePercent(scaler); document.add(image); document.close(); writer.close(); } catch (Exception e) { e.printStackTrace(); } } } }
public boolean convertToPDF() throws MalformedURLException, IOException { JFileChooser filechooser = new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter(".pdf", "pdf"); filechooser.setFileFilter(filter); int result = filechooser.showSaveDialog(this); if (result == JFileChooser.APPROVE_OPTION) { File saveFile = filechooser.getSelectedFile(); Document pdfDocument = new Document(); PdfPTable table = new PdfPTable(1); com.itextpdf.text.Rectangle r = new com.itextpdf.text.Rectangle(780, 580); Image slideImage = null; PdfWriter pdfWriter; try { pdfWriter = PdfWriter.getInstance( pdfDocument, new FileOutputStream(saveFile.getAbsolutePath() + ".pdf")); pdfWriter.open(); pdfDocument.open(); // pdfDocument.setPageSize(r); for (int i = 0; i < canvas.length; i++) { BufferedImage tempimg = new BufferedImage(720, 540, BufferedImage.TYPE_INT_ARGB); Graphics2D temgraphics = (Graphics2D) tempimg.getGraphics(); temgraphics.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); temgraphics.drawImage(img[i], 0, 0, 720, 540, null); temgraphics.drawImage(canvas[i], 0, 0, 720, 540, null); // slideImage = Image.getInstance(img[i], null); slideImage = com.itextpdf.text.Image.getInstance(tempimg, null); // table.addCell(new PdfPCell(slideImage, true)); // Image imagex = com.itextpdf.text.Image.getInstance(""); pdfDocument.setPageSize(r); pdfDocument.newPage(); pdfDocument.add(slideImage); } pdfDocument.close(); pdfWriter.close(); System.out.println("Powerpoint file converted to PDF successfully"); return true; } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { return false; } return false; }