import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Stored in myPdf as type PdfDocument;
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
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.
JDK (Java Development Kit) et framework d'interface utilisateur Swing installés.
Un IDE Java (environnement de développement intégré) tel que Eclipse, NetBeans ou IntelliJ IDEA.
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
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.
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 :
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
Le fichier PDF de sortie
Converties 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
PDFPreview étend JFrame, un conteneur de niveau supérieur pour la création de fenêtres.
Variables d'instance déclarées : imagePanel, scrollPane et imagePaths.
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.
PDFPreview() initialise l'application. Il appelle ConvertToImages() pour remplir imagePaths.
imagePanel est initialisé et définit sa disposition comme une disposition de boîte verticale.
Il itère sur imagePaths et crée un ImageIcon pour chaque image, les ajoute à JLabel, et ajoute les étiquettes à imagePanel.
Le code source crée JScrollPane et définit imagePanel comme son port d’affichage.
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.
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é.
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 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
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier