Java'da PDF Dosyalarını Önizleme Yöntemi
Bu makale, Java uygulaması içinde PDF dosyalarını önizlemek için IronPDF'in nasıl kullanılacağını gösterecektir.
IronPDF
IronPDF, hızlı ve doğru işlemler sunan yüksek performanslı bir Java kütüphanesidir, PDF ile ilgili görevler için mükemmel bir seçimdir. Örneğin, PDF dosyalarını okuma, metin ve görselleri ayıklama, birleştirme ve bölme gibi işlemler yapabilirsiniz.
IronPDF kutuphanesi yardımıyla, HTML, URL ve dizelerden hassas piksel-kusursuz PDF'ler oluşturabilirsiniz.
Ön Koşullar
Java'da bir PDF belge görüntüleyici oluşturmak için aşağıdaki şeylerin ayarlanmış olması gerekmektedir.
- JDK (Java Geliştirme Kiti) ve Swing UI framework yüklü olmalıdır.
- Eclipse, NetBeans veya IntelliJ IDEA gibi bir Java IDE (Tümleşik Geliştirme Ortamı).
- IronPDF for Java kutuphanesi (Bunu 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 projeyi Maven kullanarak oluşturdum.
-
Aşağıda gösterilen bağımlılıkları projenizin
pom.xmldosyasına ekleyerek IronPDF kutuphanesini Maven kullanarak projenize ekleyin:<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 -
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;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 bu 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;
}
}
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;
}
}
Çıkış PDF dosyası
Görüntülere Dönüştürüldü:
PDF dosyasını görüntülere dönüştürün
PDF Görüntüleyici Penceresi Oluşturma
Şimdi, dönüştürülen görüntüleri 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);
}
}
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ın Yapıcısını Çağırma
Son olarak, aşağıdaki kodu PDFPreview sınıfındaki ana metoda yerleştirin:
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
);
}
Kod Açıklaması
PDFPreview, pencere oluşturma için üst seviye bir konteyner olanJFramesınıfını genişletir.- Bildirilen örnek değişkenler:
imagePanel,scrollPaneveimagePaths. ConvertToImages(),example.pdfPDF dosyasını alır ve bunu bir dizi görüntüye dönüştürür.PdfDocument, PDF dosyasını yükler ve her sayfayı birerBufferedImageolarak dönüştürür, ardından her birini assets/images/ dizininde PNG olarak kaydeder ve yollarıimagePaths'ye ekler.PDFPreview()uygulamayı başlatır. Bu,ConvertToImages()'i çağırarakimagePaths'i doldurur.imagePanelbaşlatılır ve yerleşimini dikey kutu yerleşimi olarak ayarlar.imagePathsüzerinde yinelenir ve her görüntü içinImageIconoluşturur, bunlarıJLabel'ya ekler veimagePanel'ya etiketler ekler.- Kaynak kodu
JScrollPaneoluşturur veimagePanel'yi görüntü alanı olarak ayarlar. - Sonraki adımda kod, çerçevenin içerik alanına
scrollPaneekler, çerçevenin başlığını ayarlar, varsayılan kapatma işlemini ayarlar, bileşenleri paketler, çerçeveyi ekranın ortasına yerleştirir ve görünür yapar. main()programın giriş noktasıdır. Bu, GUI işlemleri için özel bir thread olan Olay Dağıtım Thread'inde Swing bileşenlerinin oluşturulmasını ve değiştirilmesini sağlamak içinSwingUtilities.invokeLater()kullanarakPDFPreviewyapıcısını çağırır.
Programı şimdi çalıştırdığınızda, yüklü PDF belgesiyle PDF belge görüntüleyicisi gösterilir.
Çıkış PDF dosyası
Sonuç
Bu makale, IronPDF for Java tabanlı uygulamaların Java uygulaması içinde PDF dosyalarını önizlemek ve bir PDF dosyasına erişmek ve görüntülemek için nasıl kullanılacağını gösterdi.
IronPDF ile Java uygulamanıza PDF önizleme işlevselliğini kolayca entegre edebilirsiniz. IronPDF for Java kullanımına ilişkin detaylı rehberlik ve örnekler için bu örnek'e başvurabilirsiniz. Java PDF okuyucu eğitimi için bu makaleye gidin ve PDF dosyalarını okuyun.
IronPDF, geliştirme amaçları için ücretsizdir. Lisanslandırma detayları hakkında daha fazla bilgi edinmek isterseniz, sağlanan lisanslandırma sayfasını ziyaret edebilirsiniz. Ticari kullanım için bir ücretsiz deneme de mevcuttur.
Sıkça Sorulan Sorular
Bir Java uygulamasında PDF dosyalarını nasıl önizleyebilirim?
Java uygulamasında PDF dosyalarını, IronPDF kullanarak PDF sayfalarını görsellere dönüştürerek ve ardından bu görselleri Java Swing bileşenlerini kullanarak göstererek önizleyebilirsiniz. Bu işlem, bir PDF'yi PdfDocument sınıfıyla yüklemeyi, sayfaları BufferedImage'e dönüştürmeyi ve bunları göstermek için bir JPanel ve JScrollPane kullanmayı içerir.
Java projemde bir PDF kütüphanesini nasıl entegre edebilirim?
Java projenize IronPDF'yi entegre etmek için, kütüphaneyi projenizin pom.xml dosyasına 'com.ironsoftware' grup kimliği ve 'ironpdf' artifact kimliği ile Maven bağımlılığı olarak ekleyin. JDK ve bir Java IDE'nin kurulu olduğundan emin olun.
Java kullanarak PDF sayfalarını nasıl görsellere dönüştürebilirim?
IronPDF ile, PDF belgelerini PdfDocument sınıfını kullanarak yükleyerek ve her sayfayı bir BufferedImage olarak dönüştürerek PDF sayfalarını görsellere dönüştürebilirsiniz. Bu görseller daha sonra PNG dosyaları olarak kaydedilebilir ve daha fazla kullanım için saklanabilir.
Java'da PDF sayfalarını görüntü olarak göstermek için hangi bileşenler gereklidir?
Java'da PDF sayfalarını görüntü olarak göstermek için Java Swing bileşenleri, özellikle görüntüleri saklamak için bir JPanel ve görüntüler arasında kaydırmayı sağlamak için bir JScrollPane kullanabilirsiniz.
Java'da bir PDF görüntüleyici oluştururken Olay Dağıtım İpliği neden önemlidir?
Olay Dağıtım İpliği (EDT), tüm Swing bileşenlerinin bir GUI operasyonları için ayarlanmış özel bir iplik üzerinde oluşturulmasını ve değiştirilmesini sağladığı için önemlidir, böylece bir Java uygulamasında potansiyel iplik sorunları önlenir.
Geliştirme için lisanslama olmadan IronPDF for Java'yı kullanabilir miyim?
Evet, IronPDF geliştirme sırasında ücretsiz olarak kullanılabilir. Ticari kullanım için de ücretsiz bir deneme sürümü bulunmaktadır, böylece bir lisans satın almadan önce özelliklerini keşfedebilirsiniz.
Java'da IronPDF'yi kullanmak için ek kaynakları nereden bulabilirim?
Java'da IronPDF kullanımı için ek kaynaklar, örnekler ve öğreticiler IronPDF web sitesinde mevcuttur. Bu kaynaklar, HTML'den PDF oluşturma ve çeşitli PDF manipülasyon tekniklerine ilişkin kılavuzlar içerir.
PDF sayfalarını görüntülere dönüştürme ve Java Swing'de bunları sergileme süreci nedir?
IronPDF kullanarak PDF sayfalarını görsellere dönüştürmek için, PDF'yi PdfDocument ile yükleyin, her sayfayı BufferedImage olarak dönüştürün ve bunları PNG dosyaları olarak kaydedin. Bu görüntüleri bir Java Swing uygulamasında bir JPanel ve JScrollPane ile sergileyin.




