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"));
Pour visualiser des documents PDF, l'étape suivante consiste à charger le fichier PDF dans cette application de visionneuse de PDF Java en utilisant lePdfDocument classe.
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 premier niveau 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 BufferedImage, puis enregistre chaque page au format PNG dans le répertoire assets/images/ et ajoute les chemins d'accès à imagePaths.
PDFPreview() initialise l'application. Il appelle ConvertToImages() pour remplir imagePaths.
imagePanel est initialisé et définit sa disposition en tant que boîte verticale.
Il parcourt imagePaths et crée ImageIcon pour chaque image, les ajoute à JLabel, et ajoute les étiquettes à imagePanel.
Le code source crée JScrollPane et définit imagePanel comme viewport.
Ensuite, le code ajoute scrollPane au volet de contenu du cadre, définit le titre du cadre, définit l'opération de fermeture par défaut, emballe les composants, centre le cadre sur 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 l'Event Dispatch Thread, le thread dédié aux opérations de l'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 de IronPDF for Java, vous pouvez vous référer à ceciexemple. Pour le tutoriel sur le lecteur de PDF de Java, voir ceciarticle pour lire les fichiers PDF.
IronPDF est gratuit pour les besoins de développement. Pour en savoir plus sur les modalités d'octroi des licences, vous pouvez consulter le site suivantpage d'autorisation. Aessai gratuit pour un usage commercial est également disponible.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< 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. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier