Passer au contenu du pied de page
UTILISATION D'IRONPDF POUR JAVA

Comment prévisualiser des fichiers PDF en Java

Cet article démontrera comment utiliser IronPDF pour prévisualiser des fichiers PDF dans une application Java.

IronPDF

IronPDF is a high-performance Java library, offering fast and accurate operations, making it an excellent choice for PDF-related tasks such as reading PDF files, extracting text and images, merging, and division.

Avec l'aide de la bibliothèque IronPDF, vous pouvez créer des PDF à partir de HTML, d'URLs et de chaînes avec un rendu pixel parfait précis.

Prérequis

Pour créer un visionneur de documents pour les documents PDF en Java, vous avez besoin des éléments suivants en place.

  1. JDK (Java Development Kit) et framework UI Swing installés.
  2. Un IDE Java (Environnement de Développement Intégré) tel que Eclipse, NetBeans ou IntelliJ IDEA.
  3. Bibliothèque IronPDF pour Java (Vous pouvez la télécharger depuis le site web IronPDF et l'inclure dans votre projet).

Configuration

  1. Créez un nouveau projet Java dans votre IDE choisi. J'utilise IntelliJ IDEA et j'ai créé le projet en utilisant Maven.
  2. Ajoutez la bibliothèque IronPDF à votre projet en utilisant Maven en ajoutant les dépendances montrées ci-dessous dans le fichier pom.xml de votre projet :

    <!-- Add IronPDF dependency in your pom.xml -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>latest_version</version>
    </dependency>
    <!-- Add IronPDF dependency in your pom.xml -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>latest_version</version>
    </dependency>
    XML
  3. Ajoutez les imports nécessaires :

    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

Chargement du format de fichier PDF

Pour afficher les documents PDF, l'étape suivante consiste à charger le fichier PDF dans cette application de visionnage de PDF Java en utilisant la 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

Comment prévisualiser des fichiers PDF en Java, Figure 1 : Le fichier PDF de sortie Le fichier PDF de sortie

Converti en images :

Comment prévisualiser des fichiers PDF en Java, Figure 2 : Convertir un fichier PDF en images Convertir un fichier PDF en images

Création de la fenêtre du visionneur PDF

Maintenant, vous pouvez afficher les images converties dans une fenêtre de prévisualisation en utilisant les composants 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

Invocar le constructeur de la classe principale

Enfin, placez le code suivant dans la méthode principale de la 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

Explication du code

  1. PDFPreview étend JFrame, un conteneur de haut niveau pour la création de fenêtres.
  2. Variables d'instance déclarées : imagePanel, scrollPane et imagePaths.
  3. ConvertToImages() prend en entrée le fichier PDF example.pdf et le convertit en une série d'images. Le PdfDocument charge le fichier PDF et convertit chaque page en un BufferedImage, puis enregistre chacun en tant que PNG dans le répertoire assets/images/ et ajoute les chemins à imagePaths.
  4. PDFPreview() initialise l'application. Il appelle ConvertToImages() pour peupler imagePaths.
  5. imagePanel est initialisé et définit sa disposition comme une disposition de boîte verticale.
  6. Il parcourt imagePaths, crée un ImageIcon pour chaque image, les ajoute à JLabel et ajoute les étiquettes à imagePanel.
  7. Le code source crée JScrollPane et définit imagePanel comme sa vue.
  8. Ensuite, le code ajoute scrollPane au contenu de la fenêtre, définit le titre de la fenêtre, définit l'opération par défaut de fermeture, met en place les composants, centre la fenêtre sur l'écran et la rend visible.
  9. main() est le point d'entrée du programme. Il invoque le constructeur PDFPreview en utilisant SwingUtilities.invokeLater() pour s'assurer que les composants Swing sont créés et modifiés sur le Thread de Dispatch d'Evénements, le fil dédié aux opérations GUI.

Maintenant, exécutez le programme et le lecteur de fichiers de document PDF sera affiché avec le document PDF chargé.

Comment prévisualiser des fichiers PDF en Java, Figure 3 : Le fichier PDF de sortie Le fichier PDF de sortie

Conclusion

Cet article a démontré comment utiliser IronPDF pour les applications basées sur Java afin de prévisualiser des fichiers PDF dans une application Java, et comment accéder et afficher un fichier PDF.

Avec IronPDF, vous pouvez facilement intégrer la fonctionnalité de prévisualisation PDF dans votre application Java. Pour des conseils détaillés et des exemples sur l'utilisation de IronPDF pour Java, vous pouvez vous référer à cet exemple. Pour le tutoriel de lecteur PDF Java, visitez cet article pour lire des fichiers PDF.

IronPDF est gratuit à des fins de développement. Pour en savoir plus sur les détails de la licence, vous pouvez visiter la page de licence fournie. Une version d'essai gratuite à des fins commerciales est également disponible.

Questions Fréquemment Posées

Comment puis-je prévisualiser des fichiers PDF dans une application Java?

Vous pouvez prévisualiser des fichiers PDF dans une application Java en utilisant IronPDF pour convertir les pages de PDF en images, puis en affichant ces images en utilisant les composants Java Swing. Cela implique de charger un PDF avec la classe PdfDocument, de convertir les pages en BufferedImage, et d'utiliser un JPanel et un JScrollPane pour les afficher.

Quelles sont les étapes pour intégrer une bibliothèque PDF dans mon projet Java?

Pour intégrer IronPDF dans votre projet Java, incluez la bibliothèque dans votre fichier pom.xml du projet comme dépendance Maven avec l'ID du groupe 'com.ironsoftware' et l'ID de l'artéfact 'ironpdf'. Assurez-vous d'avoir installé JDK et un IDE Java.

Comment convertir des pages PDF en images en utilisant Java?

Avec IronPDF, vous pouvez convertir des pages PDF en images en chargeant le document PDF à l'aide de la classe PdfDocument et en convertissant chaque page en un BufferedImage. Ces images peuvent ensuite être enregistrées sous forme de fichiers PNG pour une utilisation ultérieure.

Quels composants Java sont nécessaires pour afficher les pages PDF en tant qu'images?

Pour afficher les pages PDF en tant qu'images en Java, vous pouvez utiliser les composants Swing Java, notamment un JPanel pour contenir les images et un JScrollPane pour permettre de faire défiler les images.

Pourquoi le Event Dispatch Thread est-il important lors de la création d'un visualisateur PDF en Java?

Le Event Dispatch Thread (EDT) est crucial car il garantit que tous les composants Swing sont créés et modifiés sur un thread dédié aux opérations d'interface utilisateur, évitant ainsi les problèmes de threading potentiels dans une application Java.

Puis-je utiliser IronPDF for Java sans licence pour le développement?

Oui, IronPDF peut être utilisé gratuitement pendant le développement. Il existe également un essai gratuit pour les usages commerciaux, vous permettant d'explorer ses fonctionnalités avant d'acheter une licence.

Où puis-je trouver des ressources supplémentaires pour utiliser IronPDF en Java?

Des ressources supplémentaires, des exemples et des tutoriels pour utiliser IronPDF en Java sont disponibles sur le site Web de IronPDF. Ces ressources incluent des guides sur la création de PDF à partir de HTML et diverses techniques de manipulation de PDF.

Quel est le processus pour convertir des pages PDF en images et les afficher dans Java Swing?

Pour convertir des pages PDF en images en utilisant IronPDF, chargez le PDF à l'aide de PdfDocument, convertissez chaque page en BufferedImage et enregistrez-les en tant que fichiers PNG. Affichez ces images à l'aide d'un JPanel et d'un JScrollPane dans une application Java Swing.

Darrius Serrant
Ingénieur logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'un baccalauréat en informatique de l'université de Miami et travaille comme ingénieur marketing WebOps Full Stack chez Iron Software. Attiré par le codage dès son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le ...

Lire la suite