Convertir PDF en BMP
La classe BmpDevice vous permet de convertir des pages PDF en images BMP. Cette classe fournit une méthode nommée Process qui vous permet de convertir une page particulière du fichier PDF au format image BMP.
La classe BmpDevice vous permet de convertir des pages PDF en images BMP. Cette classe fournit une méthode nommée process(..) qui vous permet de convertir une page particulière du fichier PDF en image BMP.
Convertir une Page PDF en Image BMP
Pour convertir une page PDF en une image BMP :
- Créez un objet de la classe Document, pour obtenir la page particulière que vous souhaitez convertir.
- Appelez la méthode process(..) pour convertir la page en BMP.
L’extrait de code suivant vous montre comment convertir une page particulière en image BMP.
//Convertir PDF en BMP
public void convertPDFtoBMP() {
try {
document = new Document(inputStream);
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
File file = new File(fileStorage, "PDF-to-BMP.bmp");
// Créer un objet flux pour enregistrer l'image de sortie
try {
OutputStream imageStream =
new FileOutputStream(file.toString());
// Créer un objet Résolution
Resolution resolution = new Resolution(300);
// Créer un objet BmpDevice avec une résolution particulière
BmpDevice BmpDevice = new BmpDevice(resolution);
// Convertir une page particulière et enregistrer l'image dans le flux
BmpDevice.process(document.getPages().get_Item(1), imageStream);
// Fermer le flux
imageStream.close();
resultMessage.setText(file.toString());
} catch (IOException e) {
resultMessage.setText(e.getMessage());
}
}
Convertir Toutes les Pages PDF en Images BMP
Pour convertir toutes les pages d’un fichier PDF au format BMP, vous devez itérer pour obtenir chaque page individuelle et la convertir au format BMP. Le code suivant montre comment parcourir toutes les pages d’un fichier PDF et les convertir en BMP.
public void convertPDFtoBMP_AllPages() {
try {
document = new Document(inputStream);
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
// Boucle à travers toutes les pages du fichier PDF
for (int pageCount = 1; pageCount <= document.getPages().size(); pageCount++) {
// Crée un objet stream pour enregistrer l'image de sortie
File file = new File(fileStorage, "PDF-to-BMP"+pageCount+".BMP");
java.io.OutputStream imageStream;
try {
imageStream = new java.io.FileOutputStream(file.toString());
} catch (FileNotFoundException e) {
resultMessage.setText(e.getMessage());
return;
}
// Crée un objet Resolution
Resolution resolution = new Resolution(300);
// Crée un objet BmpDevice avec une résolution particulière
BmpDevice BmpDevice = new BmpDevice(resolution);
// Convertit une page particulière et enregistre l'image dans le flux
BmpDevice.process(document.getPages().get_Item(pageCount), imageStream);
// Ferme le flux
try {
imageStream.close();
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
}
resultMessage.setText(R.string.success_message);
}
Convertir une région particulière de page en Image (DOM)
Nous pouvons convertir des documents PDF en différents formats d’images en utilisant les objets de dispositifs d’image d’Aspose.PDF. Cependant, il y a parfois un besoin de convertir une région spécifique de la page en format image. Nous pouvons répondre à ce besoin en deux étapes. Tout d’abord, recadrez la page PDF à la région souhaitée et convertissez-la ensuite en image en utilisant l’objet de dispositif d’image souhaité.
Le code suivant vous montre comment convertir des pages PDF en images.
public void convertPDFtoBmp_ParticularPageRegion() {
try {
document = new Document(inputStream);
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
// Obtenir le rectangle de la région particulière de la page
//x=0,y=0, w=200, h=125;
Rectangle pageRect = new Rectangle(0, 0, 200, 125);
// définir la valeur de CropBox selon le rectangle de la région de page souhaitée
document.getPages().get_Item(1).setCropBox(pageRect);
// enregistrer le document recadré dans le flux
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
document.save(outStream);
// ouvrir le document PDF recadré à partir du flux et le convertir en image
document = new Document(new ByteArrayInputStream(outStream.toByteArray()));
// Créer un objet de résolution
Resolution resolution = new Resolution(300);
// Créer un dispositif BMP avec des attributs spécifiés
BmpDevice BmpDevice = new BmpDevice(resolution);
File file = new File(fileStorage, "PDF-to-BMP.BMP");
try {
// Convertir une page particulière et enregistrer l'image dans le flux
BmpDevice.process(document.getPages().get_Item(1), file.toString());
}
catch (Exception e) {
resultMessage.setText(e.getMessage());
}
resultMessage.setText(R.string.success_message);
}