Конвертировать PDF в BMP
Класс BmpDevice позволяет конвертировать страницы PDF в изображения BMP. Этот класс предоставляет метод под названием Process, который позволяет конвертировать конкретную страницу PDF файла в формат изображения Bmp.
Класс BmpDevice позволяет конвертировать страницы PDF в изображения BMP. Этот класс предоставляет метод с именем process(..), который позволяет преобразовать определенную страницу PDF файла в изображение BMP.
Преобразование страницы PDF в изображение BMP
Чтобы преобразовать страницу PDF в изображение BMP:
- Создайте объект класса Document, чтобы получить нужную страницу, которую вы хотите преобразовать.
- Вызовите метод process(..), чтобы преобразовать страницу в BMP.
Следующий пример кода показывает, как преобразовать определенную страницу в изображение BMP.
//Преобразование PDF в 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");
// Создайте объект потока для сохранения выходного изображения
try {
OutputStream imageStream =
new FileOutputStream(file.toString());
// Создайте объект Resolution
Resolution resolution = new Resolution(300);
// Создайте объект BmpDevice с определенным разрешением
BmpDevice BmpDevice = new BmpDevice(resolution);
// Преобразуйте определенную страницу и сохраните изображение в поток
BmpDevice.process(document.getPages().get_Item(1), imageStream);
// Закройте поток
imageStream.close();
resultMessage.setText(file.toString());
} catch (IOException e) {
resultMessage.setText(e.getMessage());
}
}
Преобразование всех страниц PDF в изображения BMP
Чтобы преобразовать все страницы PDF файла в формат BMP, необходимо перебрать каждую отдельную страницу и преобразовать её в формат BMP. В следующем фрагменте кода показано, как перебрать все страницы PDF файла и преобразовать их в BMP.
public void convertPDFtoBMP_AllPages() {
try {
document = new Document(inputStream);
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
// Перебор всех страниц PDF файла
for (int pageCount = 1; pageCount <= document.getPages().size(); pageCount++) {
// Создать объект потока для сохранения выходного изображения
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;
}
// Создать объект разрешения
Resolution resolution = new Resolution(300);
// Создать объект BmpDevice с определённым разрешением
BmpDevice BmpDevice = new BmpDevice(resolution);
// Преобразовать конкретную страницу и сохранить изображение в поток
BmpDevice.process(document.getPages().get_Item(pageCount), imageStream);
// Закрыть поток
try {
imageStream.close();
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
}
resultMessage.setText(R.string.success_message);
}
Преобразование конкретной области страницы в изображение (DOM)
Мы можем преобразовать PDF-документы в различные форматы изображений, используя объекты устройств изображения Aspose.PDF. Однако иногда возникает необходимость преобразовать конкретную область страницы в формат изображения. Мы можем выполнить это требование в два этапа. Сначала обрезать страницу PDF до нужной области, а затем преобразовать ее в изображение, используя нужный объект устройства изображения.
Следующий фрагмент кода показывает, как преобразовать страницы PDF в изображения.
public void convertPDFtoBmp_ParticularPageRegion() {
try {
document = new Document(inputStream);
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
// Получить прямоугольник конкретной области страницы
//x=0,y=0, w=200, h=125;
Rectangle pageRect = new Rectangle(0, 0, 200, 125);
// установить значение CropBox в соответствии с прямоугольником нужной области страницы
document.getPages().get_Item(1).setCropBox(pageRect);
// сохранить обрезанный документ в поток
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
document.save(outStream);
// открыть обрезанный PDF-документ из потока и преобразовать в изображение
document = new Document(new ByteArrayInputStream(outStream.toByteArray()));
// Создать объект Resolution
Resolution resolution = new Resolution(300);
// Создать BMP-устройство с указанными атрибутами
BmpDevice BmpDevice = new BmpDevice(resolution);
File file = new File(fileStorage, "PDF-to-BMP.BMP");
try {
// Преобразовать конкретную страницу и сохранить изображение в поток
BmpDevice.process(document.getPages().get_Item(1), file.toString());
}
catch (Exception e) {
resultMessage.setText(e.getMessage());
}
resultMessage.setText(R.string.success_message);
}