package com.aspose.pdf.examples.AsposePdfExamples.Images; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import com.aspose.pdf.Document; import com.aspose.pdf.Image; import com.aspose.pdf.Page; import com.aspose.pdf.Rectangle; public class ConvertAnImageToPDF { public static void main(String[] args) throws IOException { pdfImageApproach(); addImageFromBufferedImage(); } public static void pdfImageApproach() throws IOException { // Instantiate Document Object Document doc = new Document(); // Add a page to pages collection of document Page page = doc.getPages().add(); // Load the source image file to Stream object java.io.FileInputStream fs = new java.io.FileInputStream("source.tif"); // Set margins so image will fit, etc. page.getPageInfo().getMargin().setBottom(0); page.getPageInfo().getMargin().setTop(0); page.getPageInfo().getMargin().setLeft(0); page.getPageInfo().getMargin().setRight(0); page.setCropBox(new Rectangle(0, 0, 400, 400)); // Create an image object Image image1 = new Image(); // Add the image into paragraphs collection of the section page.getParagraphs().add(image1); // Set the image file stream image1.setImageStream(fs); // Save resultant PDF file doc.save("Image2PDF_DOM.pdf"); } public static void addImageFromBufferedImage() throws IOException { // instantiate Document instance Document doc = new Document(); // add a page to pages collection of Pdf file Page page = doc.getPages().add(); // create image instance Image image1 = new Image(); // create BufferedImage instance java.awt.image.BufferedImage bufferedImage = ImageIO.read(new File("source.gif")); ByteArrayOutputStream baos = new ByteArrayOutputStream(); // write buffered Image to OutputStream instance ImageIO.write(bufferedImage, "gif", baos); baos.flush(); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); // add image to paragraphs collection of first page page.getParagraphs().add(image1); // set image stream as OutputStream holding Buffered image image1.setImageStream(bais); // save resultant PDF file doc.save("BufferedImage.pdf"); } }