
Jak wyświetlać podgląd plików PDF w Javie
W tym artykułe pokażemy, jak używać IronPDF do podglądu plików PDF w aplikacji Java.
IronPDF
IronPDF to wysokowydajna biblioteka Java, oferująca szybkie i dokładne operacje, co czyni ją doskonałym wyborem do zadań związanych z plikami PDF, takich jak odczytywanie plików PDF, wyodrębnianie tekstu i obrazów, scałanie oraz dzielenie.
Za pomocą biblioteki IronPDF można tworzyć pliki PDF z HTML, adresów URL i ciągów znaków z precyzyjnym renderowaniem co do piksela.
Wymagania wstępne
Aby stworzyć przeglądarkę dokumentów PDF w Javie, należy zadbać o następujące elementy.
- Zainstalowany pakiet JDK (Java Development Kit) oraz framework Swing UI.
- Środowisko IDE (zintegrowane środowisko programistyczne) dla języka Java, takie jak Eclipse, NetBeans lub IntelliJ IDEA.
- Biblioteka IronPDF for Java (można ją pobrać ze strony internetowej IronPDF i dołączyć do swojego projektu).
Konfiguracja
-
Utwórz nowy projekt Java w wybranym środowisku IDE. Używam IntelliJ IDEA i utworzyłem projekt przy użyciu Mavena.
-
Dodaj bibliotekę IronPDF do projektu, używając Maven, dodając poniższe zależności w pliku projektu
pom.xml:<!-- Add IronPDF dependency in your pom.xml --> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>latest_version</version> </dependency>XML -
Dodaj niezbędne importy:
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
Ładowanie pliku w formacie PDF
Aby wyświetlić dokumenty PDF, kolejnym krokiem jest załadowanie pliku PDF w tej aplikacji do przeglądania PDF w Javie, korzystając z klasy PdfDocument.
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;
}
}
Plik PDF wynikowy
Przekształcone na obrazy:
Konwersja pliku PDF na obrazy
Tworzenie okna przeglądarki plików PDF
Teraz możesz wyświetlać przekonwertowane obrazy w oknie podglądu przy użyciu komponentów Java Swing.
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);
}
}
Wywołaj konstruktor klasy Main
Na koniec umieść poniższy kod w metodzie głównej klasy PDFPreview:
public static void main(String[] args) {
// Run the PDF viewer in the Event Dispatch Thread
SwingUtilities.invokeLater(
PDFPreview::new
);
}
Wyjaśnienie kodu
PDFPreviewrozszerzaJFrame, nadrzędny kontener do tworzenia okna.- Zdeklarowane zmienne instancji:
imagePanel,scrollPaneorazimagePaths. ConvertToImages()pobiera plik PDFexample.pdfi konwertuje go na serię obrazów.PdfDocumentładuje plik PDF i konwertuje każdą stronę naBufferedImage, zapisuje każdy jako PNG w katalogu assets/images/ i dodaje ścieżki doimagePaths.PDFPreview()inicjalizuje aplikację. WywołujeConvertToImages(), aby uzupełnićimagePaths.imagePaneljest zainicjalizowany i ustawia swój układ jako układ osi pionowej.- Iteruje po
imagePathsi tworzyImageIcondla każdego obrazu, dodaje je doJLabeloraz dodaje etykiety doimagePanel. - Kod źródłowy tworzy
JScrollPanei ustawiaimagePaneljako jego widok. - Następnie kod dodaje
scrollPanedo zawartości ramki, ustawia tytuł ramki, ustawia domyślną operację zamknięcia, pakuje komponenty, centruje ramkę na ekranie i czyni ją widoczną. main()jest punktem wejścia programu. Wywołuje konstruktorPDFPreviewużywającSwingUtilities.invokeLater(), aby zapewnić, że komponenty Swing są tworzone i modyfikowane na wątku przetwarzania zdarzeń, dedykowanym wątku dla operacji GUI.
Teraz uruchom program, a wyświetli się przeglądarka plików PDF z załadowanym dokumentem PDF.
Plik PDF wynikowy
Wnioski
W tym artykułe pokazano, jak używać IronPDF for Java w aplikacjach opartych na Javie do podglądu plików PDF w aplikacji Java oraz jak uzyskać dostęp do pliku PDF i wyświetlić go.
Dzięki IronPDF możesz łatwo zintegrować funkcję podglądu plików PDF ze swoją aplikacją Java. Szczegółowe wskazówki i przykłady dotyczące wykorzystania IronPDF for Java można znaleźć w tym przykładzie. Aby zapoznać się z samouczkiem dotyczącym czytnika plików PDF dla języka Java, odwiedź ten artykuł.
IronPDF jest bezpłatny do celów programistycznych. Aby dowiedzieć się więcej o szczegółach licencji, można odwiedzić podaną stronę dotyczącą licencji. Dostępna jest również bezpłatna wersja próbna do użytku komercyjnego.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.
Powiązane artykuły


