Zum Fußzeileninhalt springen
VERWENDUNG VON IRONPDF FüR JAVA

Wie man PDF-Dateien in Java anzeigt

Dieser Artikel zeigt, wie man IronPDF verwendet, um PDF-Dateien innerhalb einer Java-Anwendung vorzuschauen.

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 Teilen ist.

Mit Hilfe der IronPDF-Bibliothek können Sie PDFs aus HTML, URLs und Zeichenfolgen mit präziser, pixelgenauer Darstellung erstellen.

Voraussetzungen

Um eine Dokumentansicht für PDF-Dokumente in Java zu erstellen, müssen Sie Folgendes einrichten.

  1. JDK (Java Development Kit) und Swing UI-Framework installiert.
  2. Eine Java-IDE (Integrierte Entwicklungsumgebung) wie Eclipse, NetBeans oder IntelliJ IDEA.
  3. IronPDF-Bibliothek für Java (Sie können sie von der IronPDF-Website herunterladen und in Ihr Projekt einbinden).

Einrichtung

  1. Erstellen Sie ein neues Java-Projekt in Ihrer gewählten IDE. Ich verwende IntelliJ IDEA und habe das Projekt mit Maven erstellt.
  2. Fügen Sie die IronPDF-Bibliothek zu Ihrem Projekt hinzu, indem Sie die unten gezeigten Abhängigkeiten in Ihre pom.xml-Datei des Projekts einfügen:

    <!-- 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. Notwendige Importe hinzufügen:

    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

Laden des PDF-Dateiformats

Um PDF-Dokumente anzuzeigen, ist der nächste Schritt, die PDF-Datei in dieser Java-PDF-Viewer-Anwendung mit Hilfe der PdfDocument-Klasse zu laden.

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

Wie man PDF-Dateien in Java vorschaut, Abbildung 1: Die Ausgabe-PDF-Datei Die Ausgabe-PDF-Datei

Zu Bildern konvertiert:

Wie man PDF-Dateien in Java vorschaut, Abbildung 2: PDF-Datei in Bilder konvertieren PDF-Datei in Bilder konvertieren

Erstellen eines PDF-Viewer-Fensters

Nun können Sie die konvertierten Bilder in einem Vorschaufenster mit Java Swing-Komponenten anzeigen.

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

Den Hauptklassenkonstruktor aufrufen

Platzieren Sie schließlich den folgenden Code in der Main-Methode in der PDFPreview-Klasse:

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

Code-Erklärung

  1. PDFPreview erweitert JFrame, einen Top-Level-Container zur Fenstereinstellung.
  2. Instanzvariablen deklariert: imagePanel, scrollPane und imagePaths.
  3. ConvertToImages() nimmt die PDF-Datei example.pdf und konvertiert sie in eine Reihe von Bildern. Das PdfDocument lädt die PDF-Datei und konvertiert jede Seite in ein BufferedImage, speichert dann jedes als PNG im assets/images/-Verzeichnis und fügt die Pfade zu imagePaths hinzu.
  4. PDFPreview() initialisiert die Anwendung. Es ruft ConvertToImages() auf, um imagePaths zu befüllen.
  5. imagePanel wird initialisiert und legt sein Layout als vertikales Box-Layout fest.
  6. Es iteriert über imagePaths und erstellt für jedes Bild ein ImageIcon, fügt sie zu JLabel hinzu und fügt Labels zu imagePanel hinzu.
  7. Der Quellcode erstellt JScrollPane und setzt imagePanel als seinen Viewport.
  8. Als nächstes fügt der Code scrollPane zum Content-Bereich des Frames hinzu, setzt den Titel des Frames, die Standard-Schließoperation, packt die Komponenten, zentriert den Frame auf dem Bildschirm und macht ihn sichtbar.
  9. main() ist der Einstiegspunkt des Programms. Es ruft den PDFPreview-Konstruktor mit SwingUtilities.invokeLater() auf, um sicherzustellen, dass die Swing-Komponenten auf dem Event Dispatch Thread, dem für GUI-Operationen dedizierten Thread, erstellt und modifiziert werden.

Führen Sie nun das Programm aus und der PDF-Dokument-Dateibetrachter wird mit dem geladenen PDF-Dokument angezeigt.

Wie man PDF-Dateien in Java vorschaut, Abbildung 3: Die Ausgabe-PDF-Datei Die Ausgabe-PDF-Datei

Abschluss

Dieser Artikel zeigte, wie man IronPDF für Java-basierte Anwendungen verwendet, um PDF-Dateien innerhalb einer Java-Anwendung vorzuschauen, und wie man auf eine PDF-Datei zugreift und diese anzeigt.

Mit IronPDF können Sie problemlos die Vorschaufunktion für PDF-Dateien in Ihre Java-Anwendung integrieren. Für detaillierte Anleitungen und Beispiele zur Nutzung von IronPDF für Java können Sie auf dieses Beispiel verweisen. Für das Java PDF-Leser-Tutorial besuchen Sie diesen Artikel, um PDF-Dateien zu lesen.

IronPDF ist kostenlos für Entwicklungszwecke. Um mehr über die Lizenzierungsdetails zu erfahren, können Sie die bereitgestellte Lizenzseite besuchen. Eine kostenlose Testversion für die kommerzielle Nutzung ist ebenfalls verfügbar.

Häufig gestellte Fragen

Wie kann ich PDF-Dateien in einer Java-Anwendung vorschauen?

Sie können PDF-Dateien in einer Java-Anwendung vorschauen, indem Sie IronPDF verwenden, um PDF-Seiten in Bilder zu konvertieren und diese Bilder dann mit Java Swing-Komponenten anzuzeigen. Dies beinhaltet das Laden einer PDF mit der PdfDocument-Klasse, das Umwandeln von Seiten in BufferedImage und das Verwenden eines JPanel und JScrollPane, um sie anzuzeigen.

Was sind die Schritte zum Integrieren einer PDF-Bibliothek in mein Java-Projekt?

Um IronPDF in Ihr Java-Projekt zu integrieren, fügen Sie die Bibliothek als Maven-Abhängigkeit in die pom.xml-Datei Ihres Projekts ein, mit der Gruppen-ID 'com.ironsoftware' und der Artefakt-ID 'ironpdf'. Stellen Sie sicher, dass Sie JDK und ein Java-IDE installiert haben.

Wie konvertiere ich PDF-Seiten in Bilder mit Java?

Mit IronPDF können Sie PDF-Seiten in Bilder konvertieren, indem Sie das PDF-Dokument mit der PdfDocument-Klasse laden und jede Seite in ein BufferedImage umwandeln. Diese Bilder können dann als PNG-Dateien für die weitere Verwendung gespeichert werden.

Welche Java-Komponenten werden benötigt, um PDF-Seiten als Bilder anzuzeigen?

Um PDF-Seiten als Bilder in Java anzuzeigen, können Sie Java Swing-Komponenten verwenden, insbesondere ein JPanel, um die Bilder zu halten, und ein JScrollPane, um das Scrollen durch die Bilder zu ermöglichen.

Warum ist der Event Dispatch Thread wichtig, wenn ein PDF-Viewer in Java erstellt wird?

Der Event Dispatch Thread (EDT) ist entscheidend, da er sicherstellt, dass alle Swing-Komponenten auf einem dedizierten Thread für GUI-Operationen erstellt und geändert werden, um mögliche Thread-Probleme in einer Java-Anwendung zu vermeiden.

Kann ich IronPDF für Java ohne Lizenzierung für die Entwicklung verwenden?

Ja, IronPDF kann während der Entwicklung kostenlos verwendet werden. Es gibt auch eine kostenlose Testversion für kommerzielle Zwecke, die es Ihnen ermöglicht, seine Funktionen zu erkunden, bevor Sie eine Lizenz erwerben.

Wo finde ich zusätzliche Ressourcen für die Verwendung von IronPDF in Java?

Zusätzliche Ressourcen, Beispiele und Tutorials zur Verwendung von IronPDF in Java sind auf der IronPDF-Website verfügbar. Diese Ressourcen umfassen Anleitungen zur Erstellung von PDFs aus HTML und verschiedenen PDF-Bearbeitungstechniken.

Was ist der Prozess, um PDF-Seiten zu Bildern zu konvertieren und sie in Java Swing anzuzeigen?

Um PDF-Seiten mit IronPDF zu Bildern zu konvertieren, laden Sie das PDF mit PdfDocument, konvertieren jede Seite in ein BufferedImage und speichern sie als PNG-Dateien. Zeigen Sie diese Bilder mit einem JPanel und JScrollPane in einer Java Swing-Anwendung an.

Darrius Serrant
Full-Stack-Software-Ingenieur (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full-Stack-WebOps-Marketing-Ingenieur bei Iron Software. Seit seiner Jugend vom Programmieren angezogen, sah er die Informatik als sowohl mysteriös als auch zugänglich, was es zum perfekten Medium für Kreativität und Problemlösung ...

Weiterlesen