Wie man PDF-Dateien in Java Vorschau anzeigt
Dieser Artikel zeigt, wie man IronPDF verwendet, um PDF-Dateien innerhalb einer Java-Anwendung vorzuschauen.
IronPDF
IronPDF ist eine leistungsstarke Java-Bibliothek, die schnelle und genaue Operationen bietet und eine hervorragende Wahl für PDF-bezogene Aufgaben wie das Lesen von PDF-Dateien, das Extrahieren von Texten und Bildern, Zusammenführen und 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.
- JDK (Java Development Kit) und Swing UI-Framework installiert.
- Eine Java-IDE (Integrierte Entwicklungsumgebung) wie Eclipse, NetBeans oder IntelliJ IDEA.
- IronPDF-Bibliothek für Java (Sie können sie von der IronPDF-Website herunterladen und in Ihr Projekt einbinden).
Einrichtung
- Erstellen Sie ein neues Java-Projekt in Ihrer gewählten IDE. Ich verwende IntelliJ IDEA und habe das Projekt mit Maven erstellt.
-
Fügen Sie die IronPDF Bibliothek mithilfe von Maven zu Ihrem Projekt hinzu, indem Sie die unten aufgeführten Abhängigkeiten in die Datei
pom.xmlIhres Projekts einfügen:<dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>latest_version</version> </dependency><dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>latest_version</version> </dependency>XML -
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, muss als nächstes die PDF-Datei in diese Java PDF Viewer-Anwendung mithilfe der Klasse PdfDocument geladen werden.
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;
}
}
Die Ausgabe-PDF-Datei
Zu Bildern konvertiert:
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);
}
}
Den Hauptklassenkonstruktor aufrufen
Fügen Sie abschließend den folgenden Code in die main-Methode der Klasse PDFPreview ein:
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
);
}
Code-Erklärung
PDFPreviewerweitertJFrame, einen Top-Level-Container für die Fenstererstellung.- Deklarierte Instanzvariablen:
imagePanel,scrollPaneundimagePaths. ConvertToImages()nimmt die PDF-Dateiexample.pdfentgegen und wandelt sie in eine Reihe von Bildern um. DerPdfDocumentlädt die PDF-Datei und konvertiert jede Seite in einBufferedImage, speichert dann jede als PNG im Verzeichnis assets/images/ und fügt die Pfade zuimagePathshinzu.PDFPreview()initialisiert die Anwendung. Es ruftConvertToImages()auf, umimagePathszu füllen.imagePanelwird initialisiert und sein Layout als vertikales Box-Layout festgelegt.- Es durchläuft
imagePathsund erstellt für jedes BildImageIcon, fügt diese zuJLabelhinzu und fügtimagePanelBeschriftungen hinzu. - Der Quellcode erzeugt
JScrollPaneund setztimagePanelals dessen Viewport. - Anschließend fügt der Code
scrollPanezum Inhaltsbereich des Frames hinzu, legt den Titel des Frames fest, bestimmt die Standard-Schließfunktion, packt die Komponenten, zentriert den Frame auf dem Bildschirm und macht ihn sichtbar. main()ist der Einstiegspunkt des Programms. Es ruft den KonstruktorPDFPreviewmit Hilfe vonSwingUtilities.invokeLater()auf, um sicherzustellen, dass die Swing-Komponenten im Event Dispatch Thread, dem dedizierten Thread für GUI-Operationen, erstellt und geändert werden.
Führen Sie nun das Programm aus und der PDF-Dokument-Dateibetrachter wird mit dem geladenen PDF-Dokument angezeigt.
Die Ausgabe-PDF-Datei
Abschluss
Dieser Artikel zeigte, wie man IronPDF for 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 for 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 for 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.




