Ir para o conteúdo do rodapé
USANDO O IRONPDF FOR JAVA

Como visualizar arquivos PDF em Java

Este artigo demonstrará como usar o IronPDF para visualizar arquivos PDF em um aplicativo Java.

IronPDF

IronPDF é uma biblioteca Java de alto desempenho, que oferece operações rápidas e precisas, tornando-a uma excelente escolha para tarefas relacionadas a PDFs, como leitura de arquivos PDF , extração de texto e imagens , mesclagem e divisão .

Com a ajuda da biblioteca IronPDF , você pode criar PDFs a partir de HTML , URLs e strings com renderização precisa e perfeita em cada pixel.

Pré-requisitos

Para criar um visualizador de documentos PDF em Java, você precisa configurar os seguintes elementos.

  1. JDK (Java Development Kit) e framework de interface gráfica Swing instalados.
  2. Um ambiente de desenvolvimento integrado (IDE) Java, como Eclipse, NetBeans ou IntelliJ IDEA.
  3. Biblioteca IronPDF for Java (Você pode baixá-la do site da IronPDF e incluí-la em seu projeto).

Configurando

  1. Crie um novo projeto Java na sua IDE preferida. Eu estou usando o IntelliJ IDEA e criei o projeto usando o Maven.
  2. Adicione a biblioteca IronPDF ao seu projeto usando o Maven, adicionando as dependências mostradas abaixo no arquivo pom.xml do seu projeto:

    
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>latest_version</version>
    </dependency>
    
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>latest_version</version>
    </dependency>
    XML
  3. Adicione as importações necessárias:

    import com.ironsoftware.ironpdf.PdfDocument;
    
    import javax.imageio.ImageIO;
    import javax.swing.*;
    import javax.swing.border.EmptyBorder;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.nio.file.Paths;
    import java.util.ArrayList;
    import java.util.List;
    import com.ironsoftware.ironpdf.PdfDocument;
    
    import javax.imageio.ImageIO;
    import javax.swing.*;
    import javax.swing.border.EmptyBorder;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.nio.file.Paths;
    import java.util.ArrayList;
    import java.util.List;
    JAVA

Carregando o formato de arquivo PDF

Para visualizar documentos PDF, o próximo passo é carregar o arquivo PDF neste aplicativo visualizador de PDF em Java usando a classe PdfDocument .

public class PDFPreview extends JFrame {

    private List<String> imagePaths = new ArrayList<>();

    private List<String> ConvertToImages() throws IOException {
        // Load the PDF document from a file
        PdfDocument pdfDocument = PdfDocument.fromFile(Paths.get("example.pdf"));
        // Convert the PDF pages to a list of BufferedImages
        List<BufferedImage> extractedImages = pdfDocument.toBufferedImages();
        int i = 1;
        // Iterate over the extracted images and save each to an image file
        for (BufferedImage extractedImage : extractedImages) {
            String fileName = "assets/images/" + i + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
            // Store the file paths in the image paths list
            imagePaths.add("assets/images/" + i + ".png");
            i++;
        }
        return imagePaths;
    }
}
public class PDFPreview extends JFrame {

    private List<String> imagePaths = new ArrayList<>();

    private List<String> ConvertToImages() throws IOException {
        // Load the PDF document from a file
        PdfDocument pdfDocument = PdfDocument.fromFile(Paths.get("example.pdf"));
        // Convert the PDF pages to a list of BufferedImages
        List<BufferedImage> extractedImages = pdfDocument.toBufferedImages();
        int i = 1;
        // Iterate over the extracted images and save each to an image file
        for (BufferedImage extractedImage : extractedImages) {
            String fileName = "assets/images/" + i + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
            // Store the file paths in the image paths list
            imagePaths.add("assets/images/" + i + ".png");
            i++;
        }
        return imagePaths;
    }
}
JAVA

Como visualizar arquivos PDF em Java, Figura 1: O arquivo PDF de saída O arquivo PDF de saída

Convertido em imagens:

Como visualizar arquivos PDF em Java, Figura 2: Converter arquivo PDF em imagens Converter arquivo PDF em imagens

Criando uma janela de visualização de PDF

Agora, você pode exibir as imagens convertidas em uma janela de pré-visualização usando componentes Java Swing.

public class PDFPreview extends JFrame {
    private JPanel imagePanel;
    private JScrollPane scrollPane;

    public PDFPreview() {
        try {
            // Convert the PDF to images and store the image paths
            imagePaths = this.ConvertToImages();
        } catch (Exception e) {
            e.printStackTrace();
        }

        // Create imagePanel
        imagePanel = new JPanel();
        imagePanel.setLayout(new BoxLayout(imagePanel, BoxLayout.Y_AXIS));

        // Add images to the panel
        for (String imagePath : imagePaths) {
            ImageIcon imageIcon = new ImageIcon(imagePath);
            JLabel imageLabel = new JLabel(imageIcon);
            imageLabel.setBorder(new EmptyBorder(10, 10, 10, 10));
            imagePanel.add(imageLabel);
        }

        // Create the scroll pane and add imagePanel to it
        scrollPane = new JScrollPane(imagePanel);
        scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

        // Set up the frame
        getContentPane().add(scrollPane);
        setTitle("PDF Viewer");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
}
public class PDFPreview extends JFrame {
    private JPanel imagePanel;
    private JScrollPane scrollPane;

    public PDFPreview() {
        try {
            // Convert the PDF to images and store the image paths
            imagePaths = this.ConvertToImages();
        } catch (Exception e) {
            e.printStackTrace();
        }

        // Create imagePanel
        imagePanel = new JPanel();
        imagePanel.setLayout(new BoxLayout(imagePanel, BoxLayout.Y_AXIS));

        // Add images to the panel
        for (String imagePath : imagePaths) {
            ImageIcon imageIcon = new ImageIcon(imagePath);
            JLabel imageLabel = new JLabel(imageIcon);
            imageLabel.setBorder(new EmptyBorder(10, 10, 10, 10));
            imagePanel.add(imageLabel);
        }

        // Create the scroll pane and add imagePanel to it
        scrollPane = new JScrollPane(imagePanel);
        scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

        // Set up the frame
        getContentPane().add(scrollPane);
        setTitle("PDF Viewer");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
}
JAVA

Invoque o construtor da classe principal.

Por fim, insira o seguinte código no método principal da classe PDFPreview:

public static void main(String[] args) {
    // Run the PDF viewer in the Event Dispatch Thread
    SwingUtilities.invokeLater(
        PDFPreview::new
    );
}
public static void main(String[] args) {
    // Run the PDF viewer in the Event Dispatch Thread
    SwingUtilities.invokeLater(
        PDFPreview::new
    );
}
JAVA

Explicação do código

  1. PDFPreview estende JFrame, um contêiner de nível superior para criação de janelas.
  2. Variáveis ​​de instância declaradas: imagePanel, scrollPane e imagePaths.
  3. ConvertToImages() recebe o arquivo PDF example.pdf e o converte em uma série de imagens. O PdfDocument carrega o arquivo PDF e converte cada página em um BufferedImage, depois salva cada um como um PNG no diretório assets/images/ e adiciona os caminhos para imagePaths.
  4. PDFPreview() inicializa o aplicativo. Ele chama ConvertToImages() para preencher imagePaths.
  5. imagePanel é inicializado e define seu layout como um layout de caixa vertical.
  6. Ele itera sobre imagePaths e cria ImageIcon para cada imagem, adiciona-os a JLabel e adiciona rótulos a imagePanel.
  7. O código-fonte cria JScrollPane e define imagePanel como sua viewport.
  8. Em seguida, o código adiciona scrollPane ao painel de conteúdo do frame, define o título do frame, define a operação de fechamento padrão, agrupa os componentes, centraliza o frame na tela e o torna visível.
  9. main() é o ponto de entrada do programa. Ele invoca o construtor PDFPreview usando SwingUtilities.invokeLater() para garantir que os componentes Swing sejam criados e modificados na Event Dispatch Thread, a thread dedicada para operações de GUI.

Agora, execute o programa e o visualizador de arquivos PDF será exibido com o documento PDF carregado.

Como visualizar arquivos PDF em Java, Figura 3: O arquivo PDF de saída O arquivo PDF de saída

Conclusão

Este artigo demonstrou como usar o IronPDF para aplicações baseadas em Java para visualizar arquivos PDF dentro de uma aplicação Java, e como acessar e exibir um arquivo PDF.

Com o IronPDF, você pode integrar facilmente a funcionalidade de visualização de PDF em sua aplicação Java. Para obter orientações detalhadas e exemplos sobre como utilizar o IronPDF for Java, você pode consultar este exemplo . Para um tutorial sobre como ler arquivos PDF usando o leitor de PDF em Java, visite este artigo .

O IronPDF é gratuito para fins de desenvolvimento. Para obter mais detalhes sobre o licenciamento, você pode visitar a página de licenciamento fornecida. Está disponível também uma versão de teste gratuita para uso comercial.

Perguntas frequentes

Como posso visualizar arquivos PDF em um aplicativo Java?

É possível visualizar arquivos PDF em uma aplicação Java utilizando o IronPDF para converter as páginas do PDF em imagens e, em seguida, exibindo essas imagens com componentes Java Swing. Isso envolve carregar um PDF com a classe PdfDocument , converter as páginas para BufferedImage e usar um JPanel e JScrollPane para exibi-las.

Quais são os passos para integrar uma biblioteca PDF em meu projeto Java?

Para integrar o IronPDF ao seu projeto Java, inclua a biblioteca no arquivo pom.xml do seu projeto como uma dependência Maven com o ID de grupo 'com.ironsoftware' e o ID de artefato 'ironpdf'. Certifique-se de ter o JDK e uma IDE Java instalados.

Como faço para converter páginas de um PDF em imagens usando Java?

Com o IronPDF, você pode converter páginas de PDF em imagens carregando o documento PDF usando a classe PdfDocument e convertendo cada página em um BufferedImage . Essas imagens podem então ser salvas como arquivos PNG para uso posterior.

Quais componentes Java são necessários para exibir páginas PDF como imagens?

Para exibir páginas de um PDF como imagens em Java, você pode usar componentes Java Swing, especificamente um JPanel para conter as imagens e um JScrollPane para permitir a rolagem entre elas.

Por que a Thread de Despacho de Eventos é importante ao criar um visualizador de PDF em Java?

A Thread de Despacho de Eventos (EDT) é crucial porque garante que todos os componentes Swing sejam criados e modificados em uma thread dedicada para operações de GUI, evitando potenciais problemas de threading em uma aplicação Java.

Posso usar o IronPDF for Java sem licença para desenvolvimento?

Sim, o IronPDF pode ser usado gratuitamente durante o desenvolvimento. Há também uma versão de avaliação gratuita disponível para fins comerciais, permitindo que você explore seus recursos antes de adquirir uma licença.

Onde posso encontrar recursos adicionais para usar o IronPDF em Java?

Recursos adicionais, exemplos e tutoriais para usar o IronPDF em Java estão disponíveis no site do IronPDF. Esses recursos incluem guias sobre como criar PDFs a partir de HTML e várias técnicas de manipulação de PDFs.

Qual é o processo para converter páginas PDF em imagens e exibi-las em Java Swing?

Para converter páginas de um PDF em imagens usando o IronPDF, carregue o PDF com PdfDocument , converta cada página em um BufferedImage e salve-as como arquivos PNG. Exiba essas imagens usando um JPanel e JScrollPane em uma aplicação Java Swing.

Darrius Serrant
Engenheiro de Software Full Stack (WebOps)

Darrius Serrant é bacharel em Ciência da Computação pela Universidade de Miami e trabalha como Engenheiro de Marketing WebOps Full Stack na Iron Software. Atraído por programação desde jovem, ele via a computação como algo misterioso e acessível ao mesmo tempo, tornando-a o meio ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim