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"));
Um PDF-Dokumente anzuzeigen, besteht der nächste Schritt darin, die PDF-Datei mit dieser Java-PDF-Viewer-Anwendung zu laden, indem Sie diepdfDocument klasse.
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 PDF-Ausgabedatei
In Bilder umgewandelt:
PDF-Datei in Bilder umwandeln
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
Schließlich fügen Sie den folgenden Code in die Hauptmethode der Klasse "PDFPreview" 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 Erstellung von Fenstern.
Deklarierte Instanzvariablen: imagePanel, scrollPane und imagePaths.
konvertieren in Bilder()nimmt die PDF-Datei "beispiel.pdf" auf und wandelt sie in eine Reihe von Bildern um. Das PdfDocument lädt die PDF-Datei und konvertiert jede Seite in ein BufferedImage, speichert dann jede als PNG im Verzeichnis assets/images/ und fügt die Pfade zu imagePaths hinzu.
PDF-Vorschau() initialisiert die Anwendung. Es ruft `ConvertToImages()um "Bildpfade" zu füllen.
imagePanel" wird initialisiert und sein Layout als vertikales Box-Layout festgelegt.
Es durchläuft imagePaths und erstellt ImageIcon für jedes Bild, fügt sie zu JLabel hinzu, und fügt Labels zu imagePanel.
Der Quellcode erstellt JScrollPane und setzt imagePanel als sein Ansichtsfenster.
Als Nächstes fügt der Code "scrollPane" zum Inhaltsbereich des Rahmens hinzu, setzt den Rahmentitel, legt den Standardschließvorgang fest, packt die Komponenten, zentriert den Rahmen auf dem Bildschirm und macht ihn sichtbar.
Haupt() ist der Einstiegspunkt des Programms. Er ruft den Konstruktor "PDFPreview" mit "SwingUtilities.invokeLater" auf()um sicherzustellen, dass die Swing-Komponenten auf dem Event Dispatch Thread, dem speziellen Thread für GUI-Operationen, erstellt und geändert werden.
Führen Sie nun das Programm aus und der PDF-Dateibetrachter wird mit dem geladenen PDF-Dokument angezeigt.
Die PDF-Ausgabedatei
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 für Java können Sie auf diesesbeispiel. Das Java PDF-Reader-Tutorial finden Sie hierArtikel zum Lesen von PDF-Dateien.
IronPDF ist für Entwicklungszwecke kostenlos. Um mehr über die Lizenzierungsdetails zu erfahren, können Sie die folgende Website besuchenlizenzierungsseite. Akostenloser Test für die kommerzielle Nutzung ist ebenfalls verfügbar.
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS Wie man PDF-Dateien in Java mit Wasserzeichen versieht
NÄCHSTES > Arbeiten mit Maven-Projekten in IntelliJ