Converter PDF para PNG

Use a biblioteca Aspose.PDF para Android via Java para converter páginas PDF em imagens PNG de maneira acessível e conveniente.

A classe PngDevice permite converter páginas PDF em imagens PNG. Esta classe fornece um método chamado Process, que permite converter uma página específica do arquivo PDF para o formato de imagem PNG.

Converter Páginas PDF em Imagens PNG

Para converter todas as páginas de um arquivo PDF em arquivos PNG, itere através das páginas individuais e converta cada uma para o formato PNG. O trecho de código a seguir mostra como percorrer todas as páginas de um arquivo PDF e converter cada uma em uma imagem PNG.

Converter uma única página PDF para imagem PNG

Passe o índice da página como argumento para o método Process(..). O trecho de código a seguir mostra os passos para converter a primeira página do PDF para o formato PNG.

   public void convertPDFtoPNG() {
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        File file = new File(fileStorage, "PDF-to-PNG.png");
        // Criar objeto de stream para salvar a imagem de saída
        try {
            OutputStream imageStream =
                    new FileOutputStream(file.toString());

            // Criar objeto de Resolução
            Resolution resolution = new Resolution(300);

            // Criar objeto PngDevice com resolução específica
            PngDevice PngDevice = new PngDevice(resolution);

            // Converter uma página específica e salvar a imagem no stream
            PngDevice.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 de PDF para imagem PNG

Aspose.PDF para Android via Java mostra como converter todas as páginas de um arquivo PDF em imagens:

  1. Percorra todas as páginas do arquivo.
  2. Converta cada página individualmente:
    1. Crie um objeto da classe Document para carregar o documento PDF.
    2. Obtenha a página que você deseja converter.
    3. Chame o método Process para converter a página em Png.

O trecho de código a seguir mostra como converter todas as páginas de PDF em imagens PNG.

 public void convertPDFtoPNG_AllPages() {
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }

        // Percorra todas as páginas do arquivo PDF
        for (int pageCount = 1; pageCount <= document.getPages().size(); pageCount++) {
            // Crie um objeto de stream para salvar a imagem de saída
            File file = new File(fileStorage, "PDF-to-PNG"+pageCount+".png");
            java.io.OutputStream imageStream;
            try {
                imageStream = new java.io.FileOutputStream(file.toString());
            } catch (FileNotFoundException e) {
                resultMessage.setText(e.getMessage());
                return;
            }

            // Crie um objeto de Resolução
            Resolution resolution = new Resolution(300);
            // Crie um objeto JpegDevice com resolução específica
            PngDevice JpegDevice = new PngDevice(resolution);

            // Converta uma página específica e salve a imagem no stream
            JpegDevice.process(document.getPages().get_Item(pageCount), imageStream);

            // Feche o stream
            try {
                imageStream.close();
            } catch (Exception e) {
                resultMessage.setText(e.getMessage());
                return;
            }
        }
        resultMessage.setText(R.string.success_message);
    }

Converter uma página específica de PDF para imagem PNG

Aspose.PDF para Android via Java mostra como converter uma página específica para o formato PNG:

public void convertPDFtoPNG_ParticularPageRegion() {
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        // Obter o 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 em stream
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
        document.save(outStream);

        // abrir documento PDF recortado de stream e converter para imagem
        document = new Document(new ByteArrayInputStream(outStream.toByteArray()));
        // Criar objeto de Resolução
        Resolution resolution = new Resolution(300);
        // Criar dispositivo Jpeg com atributos especificados
        PngDevice PngDevice = new PngDevice(resolution);

        File file = new File(fileStorage, "PDF-to-PNG.png");
        try {
            // Converter uma página específica e salvar a imagem em stream
            PngDevice.process(document.getPages().get_Item(1), file.toString());
        }
        catch (Exception e) {
            resultMessage.setText(e.getMessage());
        }
    }