package com.aspose.pdf.examples.AsposePdfExamples.Images;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import com.aspose.pdf.Document;
import com.aspose.pdf.Image;
import com.aspose.pdf.Page;
import com.aspose.pdf.XImageCollection;
public class SettingDPIOrPPIOfImagesInPDF {
public static void main(String[] args) throws FileNotFoundException {
String myDir = "pathTodir";
File fileIn = new File(myDir + "image.jpg");
FileInputStream in = new FileInputStream(fileIn);
File fileOut = new File(myDir + "image.pdf");
FileOutputStream out = new FileOutputStream(fileOut);
// Test PDF creation
Document doc = new Document();
Page page = doc.getPages().add();
Image image1 = new Image();
image1.setImageStream(in);
image1.setFixHeight(page.getMediaBox().getHeight() / 4);
image1.setFixWidth(page.getMediaBox().getWidth() / 2);
page.getParagraphs().add(image1);
page.getPageInfo().getMargin().setLeft(5);
page.getPageInfo().getMargin().setRight(0);
page.getPageInfo().getMargin().setTop(0);
page.getPageInfo().getMargin().setBottom(0);
doc.save(out);
// Internal image resolution change
doc = new Document(myDir + "image.pdf");
XImageCollection images = doc.getPages().get_Item(1).getResources().getImages();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
images.get_Item(1).save(baos, 10, 10);// define horizontal and vertical // resolutions
images.get_Item(1).replace(new ByteArrayInputStream(baos.toByteArray()));
doc.save(myDir + "imageWithNewResolution.pdf");
}
}