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"));
Mit Hilfe der IronPDF-Bibliothek können Sie PDFs aus HTML, URLs und Strings mit präzisem, pixelgenauem Rendering erstellen.
Voraussetzungen
Um einen Dokumentbetrachter für PDF-Dokumente in Java zu erstellen, müssen Sie die folgenden Voraussetzungen erfüllen.
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).
Einrichten
Erstellen Sie ein neues Java-Projekt in der IDE Ihrer Wahl. Ich verwende IntelliJ IDEA und habe das Projekt mit Maven erstellt.
Fügen Sie die IronPDF-Bibliothek zu Ihrem Projekt hinzu, indem Sie die Abhängigkeiten, die unten gezeigt werden, in die pom.xml-Datei Ihres Projekts einfügen:
Um PDF-Dokumente anzuzeigen, besteht der nächste Schritt darin, die PDF-Datei in dieser Java-PDF-Viewer-Anwendung mit der PdfDocument-Klasse zu laden.
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
Die Ausgabedatei im PDF-Format
In Bilder umgewandelt:
PDF-Datei in Bilder konvertieren
PDF-Viewer-Fenster erstellen
Jetzt 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 {
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
Aufrufen des Konstruktors der Klasse Main
Fügen Sie schließlich den folgenden Code in die Hauptmethode der PDFPreview-Klasse ein:
public static void main(String[] args) {
SwingUtilities.invokeLater(
PDFPreview::new
);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(
PDFPreview::new
);
}
JAVA
Code Erläuterung
PDFPreview erweitert JFrame, einen Top-Level-Container für die Fenstererstellung.
Instanzvariablen deklariert: imagePanel, scrollPane und imagePaths.
ConvertToImages() nimmt die PDF-Datei example.pdf und wandelt sie in eine Serie von Bildern um. Das PdfDocument lädt die PDF-Datei und konvertiert jede Seite in ein BufferedImage, speichert dann jede als PNG im assets/images/-Verzeichnis und fügt die Pfade zu imagePaths hinzu.
PDFPreview() initialisiert die Anwendung. Es ruft ConvertToImages() auf, um imagePaths zu füllen.
imagePanel wird initialisiert und sein Layout wird als vertikales Box-Layout festgelegt.
Es iteriert über imagePaths und erstellt für jedes Bild ein ImageIcon, fügt sie zu JLabel hinzu und fügt die Labels zum imagePanel hinzu.
Der Quellcode erstellt JScrollPane und setzt imagePanel als dessen Ansicht.
Als nächstes fügt der Code scrollPane zum Inhaltsbereich des Rahmens hinzu, legt den Titel des Rahmens fest, setzt die Standard-Schließoperation, packt die Komponenten, zentriert den Rahmen auf dem Bildschirm und macht ihn sichtbar.
main() ist der Einstiegspunkt des Programms. Es ruft den PDFPreview-Konstruktor auf, indem es SwingUtilities.invokeLater() verwendet, um sicherzustellen, dass die Swing-Komponenten im Event Dispatch Thread erstellt und bearbeitet werden, dem dedizierten Thread für GUI-Operationen.
Führen Sie nun das Programm aus und der PDF-Dateibetrachter wird mit dem geladenen PDF-Dokument angezeigt.
Die Ausgabedatei im PDF-Format
Schlussfolgerung
Dieser Artikel demonstrierte, wie man IronPDF für Java-basierte Anwendungen verwendet, um PDF-Dateien innerhalb einer Java-Anwendung zu betrachten, und wie man auf eine PDF-Datei zugreift und diese anzeigt.
Mit IronPDF können Sie ganz einfach PDF-Vorschaufunktionen in Ihre Java-Anwendung integrieren. Für detaillierte Anleitungen und Beispiele zur Nutzung von IronPDF for Java können Sie dieses Beispiel einsehen. Für das Java PDF-Lesetutorial besuchen Sie diesen Artikel, um PDF-Dateien zu lesen.
IronPDF ist für Entwicklungszwecke kostenlos. Um mehr über die Lizenzdetails zu erfahren, können Sie die bereitgestellte Lizenzseite besuchen. Eine kostenlose Testversion für kommerzielle Nutzung ist ebenfalls verfügbar.
Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full Stack WebOps Marketing Engineer bei Iron Software. Schon in jungen Jahren vom Programmieren angezogen, sah er das Rechnen sowohl als mysteriös als auch zugänglich an, was es zum perfekten Medium für Kreativität und Problemlösung machte.
Bei Iron Software genießt Darrius es, neue Dinge zu erschaffen und komplexe Konzepte zu vereinfachen, um sie verständlicher zu machen. Als einer unserer ansässigen Entwickler hat er sich auch freiwillig gemeldet, um Schüler zu unterrichten und sein Fachwissen mit der nächsten Generation zu teilen.
Für Darrius ist seine Arbeit erfüllend, weil sie geschätzt wird und einen echten Einfluss hat.
< PREVIOUS Wie man PDF-Dateien in Java mit Wasserzeichen versieht
NÄCHSTES > Arbeiten mit Maven-Projekten in IntelliJ