Converter PDF para BMP
A classe BmpDevice permite converter páginas PDF em imagens BMP. Esta classe fornece um método chamado Process que permite converter uma página específica do arquivo PDF para o formato de imagem Bmp.
A classe BmpDevice permite converter páginas PDF em imagens BMP. Esta classe fornece um método chamado process(..) que permite converter uma página específica de um arquivo PDF para imagem BMP.
Converter uma Página de PDF para Imagem BMP
Para converter uma página de PDF para uma imagem BMP:
- Crie um objeto da classe Document, para obter a página específica que você deseja converter.
- Chame o método process(..) para converter a página em BMP.
O seguinte trecho de código mostra como converter uma página específica para imagem BMP.
//Converter PDF para 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");
// Criar objeto de stream para salvar a imagem de saída
try {
OutputStream imageStream =
new FileOutputStream(file.toString());
// Criar objeto Resolution
Resolution resolution = new Resolution(300);
// Criar objeto BmpDevice com resolução específica
BmpDevice BmpDevice = new BmpDevice(resolution);
// Converter uma página específica e salvar a imagem no stream
BmpDevice.process(document.getPages().get_Item(1), imageStream);
// Fechar o stream
imageStream.close();
resultMessage.setText(file.toString());
} catch (IOException e) {
resultMessage.setText(e.getMessage());
}
}
Converter Todas as Páginas do PDF para Imagens BMP
Para converter todas as páginas de um arquivo PDF para o formato BMP, você precisa iterar para obter cada página individual e convertê-la para o formato BMP. O trecho de código a seguir mostra como percorrer todas as páginas de um arquivo PDF e convertê-las para BMP.
public void convertPDFtoBMP_AllPages() {
try {
document = new Document(inputStream);
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
// Percorrer todas as páginas do arquivo PDF
for (int pageCount = 1; pageCount <= document.getPages().size(); pageCount++) {
// Criar objeto de stream para salvar a imagem de saída
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;
}
// Criar objeto Resolution
Resolution resolution = new Resolution(300);
// Criar objeto BmpDevice com resolução específica
BmpDevice BmpDevice = new BmpDevice(resolution);
// Converter uma página específica e salvar a imagem no stream
BmpDevice.process(document.getPages().get_Item(pageCount), imageStream);
// Fechar o stream
try {
imageStream.close();
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
}
resultMessage.setText(R.string.success_message);
}
Converter uma região específica da página para Imagem (DOM)
Podemos converter documentos PDF para diferentes formatos de imagem usando objetos de dispositivos de imagem do Aspose.PDF. No entanto, às vezes há a necessidade de converter uma região específica da página em formato de imagem. Podemos atender a essa necessidade em duas etapas. Inicialmente, recorte a página do PDF para a região desejada e, posteriormente, converta-a em imagem usando o objeto de dispositivo de imagem desejado.
O trecho de código a seguir mostra como converter páginas PDF em imagens.
public void convertPDFtoBmp_ParticularPageRegion() {
try {
document = new Document(inputStream);
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
// Obter retângulo de uma região específica da página
//x=0,y=0, w=200, h=125;
Rectangle pageRect = new Rectangle(0, 0, 200, 125);
// definir valor de CropBox conforme o retângulo da região desejada da página
document.getPages().get_Item(1).setCropBox(pageRect);
// salvar documento recortado no stream
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
document.save(outStream);
// abrir documento PDF recortado do stream e converter para imagem
document = new Document(new ByteArrayInputStream(outStream.toByteArray()));
// Criar objeto Resolution
Resolution resolution = new Resolution(300);
// Criar dispositivo BMP com atributos especificados
BmpDevice BmpDevice = new BmpDevice(resolution);
File file = new File(fileStorage, "PDF-to-BMP.BMP");
try {
// Converter uma página específica e salvar a imagem no stream
BmpDevice.process(document.getPages().get_Item(1), file.toString());
}
catch (Exception e) {
resultMessage.setText(e.getMessage());
}
resultMessage.setText(R.string.success_message);
}