
Java'da PDF Dosyalarını Önizleme Yöntemi
Bu makale, Java uygulamaları içinde PDF dosyalarını önizlemek için IronPDF'in nasıl kullanılacağını gösterecektir.
IronPDF
IronPDF, PDF dosyalarını okuma, metin ve resimleri çıkarma, birleştirme ve bölme gibi PDF ile ilgili görevlerde hızlı ve doğru işlemler sunan, yüksek performanslı bir Java kütüphanesidir.
IronPDF kütüphanesiyle, HTML'den PDF, URL'ler ve dizgelerden piksel mükemmelliğine sahip PDF'ler oluşturabilirsiniz.
Gereksinimler
Java'da PDF belgeleri için bir belge görüntüleyici oluşturmak için, aşağıdaki şeylerin ayarlandığından emin olmanız gereklidir.
- JDK (Java Geliştirme Kiti) ve Swing UI çerçevesinin kurulu olması.
- Eclipse, NetBeans veya IntelliJ IDEA gibi bir Java IDE'si (Entegre Geliştirme Ortamı).
- Java için IronPDF kütüphanesi (IronPDF web sitesinden indirip projenize dahil edebilirsiniz).
Kurulum
-
Seçtiğiniz IDE'de yeni bir Java projesi oluşturun. Ben IntelliJ IDEA kullanıyorum ve Maven kullanarak projeyi oluşturdum.
-
Projenize, proje'nizin
pom.xmldosyasına aşağıda gösterilen bağımlılıkları ekleyerek Maven kullanarak IronPDF kütüphanesini ekleyin.<!-- Add IronPDF dependency in your pom.xml --> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>latest_version</version> </dependency>XML -
Gerekli importları ekleyin:
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
PDF Dosya Formatını Yükleme
PDF belgelerini görüntülemek için bir sonraki adım, PdfDocument sınıfını kullanarak Java PDF görüntüleyici uygulamasında PDF dosyasını yüklemektir.
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;
}
}
Çıktı PDF dosyası
İmgelere Dönüştürüldü:
PDF dosyasını imgelere dönüştür
PDF Görüntüleyici Penceresi Oluşturma
Şimdi, dönüştürülmüş resimleri Java Swing bileşenlerini kullanarak bir önizleme penceresinde görüntüleyebilirsiniz.
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);
}
}
Ana sınıf Kurucu Çağırma
Son olarak, PDFPreview sınıfındaki ana yönteme aşağıdaki kodu yerleştirin:
public static void main(String[] args) {
// Run the PDF viewer in the Event Dispatch Thread
SwingUtilities.invokeLater(
PDFPreview::new
);
}
Kod Açıklaması
PDFPreview, pencere oluşturma için üst düzey bir konteyner olanJFrame'yi genişletir.- Tanımlanan örnek değişkenler:
imagePanel,scrollPaneveimagePaths. ConvertToImages(), PDF dosyasıexample.pdf'yi alır ve onu bir dizi görüntüye dönüştürür.PdfDocumentPDF dosyasını yükler ve her sayfayı birBufferedImage'a dönüştürür, ardından her biri assets/images/ dizinine PNG olarak kaydeder ve yollarınıimagePaths'ya ekler.PDFPreview()uygulamayı başlatır. O,ConvertToImages()'yıimagePaths'yı doldurmak için çağırır.imagePanelbaşlatılır ve dikey bir kutu düzeni olarak düzenini ayarlar.imagePathsüzerinde yineler ve her görüntü içinImageIconoluşturur, bunlarıJLabel'ya ekler veimagePanel'ya etiketler ekler.- Kaynak kodu,
JScrollPaneoluşturur veimagePanel'u onun görünüm noktası olarak ayarlar. - Ardından, kod çerçevenin içerik paneline
scrollPaneekler, çerçevenin başlığını ayarlar, varsayılan kapatma işlemini ayarlar, bileşenleri paketler, çerçeveyi ekrana ortalar ve görünür hale getirir. main()programın giriş noktasıdır. Swing bileşenlerinin Olay Dağıtım İpliğinde, GUI işlemlerine ayrılmış iplikte oluşturulup değiştirildiğinden emin olmak içinSwingUtilities.invokeLater()kullanarakPDFPreviewkurucusunu çağırır.
Şimdi programı çalıştırın ve yüklü durumdaki PDF belge görüntüleyici ekranda görüntülenecektir.
Çıktı PDF dosyası
Sonuç
Bu makale, Java tabanlı uygulamalar içinde PDF dosyalarını önizlemek ve bir PDF dosyasına erişmek ve görüntülemek için IronPDF kullanımını gösterdi.
IronPDF ile, Java uygulamanıza PDF önizleme işlevselliğini kolayca entegre edebilirsiniz. Java için IronPDF kullanımı konusunda ayrıntılı rehberlik ve örnekler için bu örneğe başvurabilirsiniz. Java PDF okuyucu öğretici makalesi için bu makaleyi ziyaret edin.
IronPDF geliştirme amaçları için ücretsizdir. Lisanslama detayları hakkında daha fazla bilgi edinmek için sağlanan lisanslama sayfasını ziyaret edebilirsiniz. Ticari kullanım için ücretsiz deneme de mevcuttur.

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler


