UTILISATION D'IRONPDF FOR JAVA

Comment prévisualiser des fichiers PDF en Java ?

Cet article va démontrer comment utiliser IronPDF pour prévisualiser des fichiers PDF au sein d'une application Java.

IronPDF

IronPDF est une bibliothèque Java haute performance, offrant des opérations rapides et précises, ce qui en fait un excellent choix pour les tâches liées aux PDF telles que la lecture de fichiers PDF, l'extraction de texte et d'images, la fusion, et la 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.

Conditions préalables

Pour créer une visionneuse de documents PDF en Java, les éléments suivants doivent être mis en place.

  1. JDK (Java Development Kit) et framework d'interface utilisateur 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 d'IronPDF et l'inclure dans votre projet).

Mise en place

  1. Créez un nouveau projet Java dans l'IDE de votre choix. 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 indiquées ci-dessous dans le fichier pom.xml de votre projet :
    :ProductInstall
    :ProductInstall
SHELL
  1. Ajouter les importations 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 visualiser les documents PDF, l'étape suivante consiste à charger le fichier PDF dans cette application de visualisation PDF Java en utilisant la classe PdfDocument.

public class PDFPreview extends JFrame {

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

    private List<String> ConvertToImages() throws IOException {
        PdfDocument pdfDocument = PdfDocument.fromFile(Paths.get("example.pdf"));
        // Create a list of paths for images
        List<BufferedImage> extractedImages = pdfDocument.toBufferedImages();
        int i = 1;
        for (BufferedImage extractedImage : extractedImages) {
            String fileName = "assets/images/" + i + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
            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 {
        PdfDocument pdfDocument = PdfDocument.fromFile(Paths.get("example.pdf"));
        // Create a list of paths for images
        List<BufferedImage> extractedImages = pdfDocument.toBufferedImages();
        int i = 1;
        for (BufferedImage extractedImage : extractedImages) {
            String fileName = "assets/images/" + i + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
            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

Converties 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 de visualisation du PDF

Vous pouvez maintenant afficher les images converties dans une fenêtre de prévisualisation à l'aide de composants Java Swing.

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

    public PDFPreview() {
        try {
            imagePaths = this.ConvertToImages();
        } catch (Exception e) {

        }

        // 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 {
            imagePaths = this.ConvertToImages();
        } catch (Exception e) {

        }

        // 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

Invoquer 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) {
    SwingUtilities.invokeLater(
         PDFPreview::new
    );
}
public static void main(String[] args) {
    SwingUtilities.invokeLater(
         PDFPreview::new
    );
}
JAVA

Explication du code

  1. PDFPreview étend JFrame, un conteneur de niveau supérieur pour la création de fenêtres.

  2. Variables d'instance déclarées : imagePanel, scrollPane et imagePaths.

  3. ConvertToImages() prend 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 chacune en tant que PNG dans le répertoire assets/images/ et ajoute les chemins à imagePaths.

  4. PDFPreview() initialise l'application. Il appelle ConvertToImages() pour remplir imagePaths.

  5. imagePanel est initialisé et définit sa disposition comme une disposition de boîte verticale.

  6. Il itère sur imagePaths et 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 son port d’affichage.

  8. Ensuite, le code ajoute scrollPane au panneau de contenu du cadre, définit le titre du cadre, définit l'opération de fermeture par défaut, dispose les composants, centre le cadre à l'écran et le 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 fil d'exécution de distribution des événements, le fil dédié aux opérations d'interface graphique.

    Maintenant, exécutez le programme et la visionneuse de fichiers PDF s'affichera 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 au sein d'une application Java, ainsi que comment accéder et afficher un fichier PDF.

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

IronPDF est gratuit pour les besoins de développement. Pour en savoir plus sur les détails des licences, vous pouvez visiter la page des licences fournie. Une version d'essai gratuite pour une utilisation commerciale est également disponible.

Darrius Serrant
Ingénieur Logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'une licence en informatique de l'Université de Miami et travaille en tant qu'ingénieur marketing Full Stack WebOps chez Iron Software. Attiré par le code depuis son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le support parfait pour la créativité et la résolution de problèmes.

Chez Iron Software, Darrius apprécie de créer de nouvelles choses et de simplifier des concepts complexes pour les rendre plus compréhensibles. En tant que l'un de nos développeurs résidents, il a également fait du bénévolat pour enseigner aux étudiants, partageant son expertise avec la prochaine génération.

Pour Darrius, son travail est épanouissant car il est apprécié et a un réel impact.

< PRÉCÉDENT
Comment filigraner des fichiers PDF en Java
SUIVANT >
Travailler avec des projets Maven dans IntelliJ