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.<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 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;
}
}
Çı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);
}
}
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
);
}
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.
Sıkça Sorulan Sorular
Java uygulamasında PDF dosyalarını nasıl önizleyebilirim?
Java uygulamasında PDF dosyalarını önizlemek için, IronPDF kullanarak PDF sayfalarını görüntülere dönüştürebilir ve ardından bu görüntüleri Java Swing bileşenleriyle gösterebilirsiniz. Bu süreç, PdfDocument sınıfıyla bir PDF yüklemeyi, sayfaları BufferedImage'e dönüştürmeyi ve bir JPanel ve JScrollPane kullanarak görüntülemeyi içerir.
Java projemde bir PDF kütüphanesini nasıl entegre ederim?
IronPDF'i Java projenize entegre etmek için, kütüphaneyi projenizin pom.xml dosyasına Maven bağımlılığı olarak ekleyin. Grup kimliği 'com.ironsoftware' ve eser kimliği 'ironpdf' olarak belirtilmelidir. JDK ve bir Java IDE'ye sahip olduğunuzdan emin olun.
Java kullanarak PDF sayfalarını nasıl görüntülere dönüştürürüm?
IronPDF ile, PdfDocument sınıfını kullanarak PDF belgesini yükleyip, her sayfayı bir BufferedImage'e dönüştürerek PDF sayfalarını görüntülere dönüştürebilirsiniz. Bu görüntüler daha sonra PNG dosyaları olarak kaydedilebilir.
PDF sayfalarını görüntü olarak görüntülemek için hangi Java bileşenleri gereklidir?
Java'da PDF sayfalarını görüntü olarak göstermek için, özellikle bir JPanel ile görüntüleri tutmak ve bir JScrollPane ile bu görüntülerde gezinmek için Java Swing bileşenlerini kullanabilirsiniz.
Java'da bir PDF görüntüleyici oluştururken Olay Yürütme İş Parçası neden önemlidir?
Olay Yürütme İş Parçası (EDT) önemlidir çünkü tüm Swing bileşenlerinin GUI işlemleri için ayrılmış bir iş parçacığında oluşturulmasını ve değiştirilmesini sağlar, böylece bir Java uygulamasında olası iş parçacığı sorunlarını önler.
Geliştirme için lisans almadan IronPDF for Java'yı kullanabilir miyim?
Evet, IronPDF geliştirme sırasında ücretsiz kullanılabilir. Ayrıca, lisans satın almadan önce özelliklerini keşfetmenize olanak tanıyan, ticari amaçlar için kullanılabilir ücretsiz bir deneme sürümü de vardır.
Java'da IronPDF kullanımı için ek kaynakları nerede bulabilirim?
Java'da IronPDF kullanımı için ek kaynaklar, örnekler ve öğreticiler IronPDF web sitesinde bulunmaktadır. Bu kaynaklar arasında HTML'den PDF oluşturma ve çeşitli PDF manipülasyon tekniklerini içeren rehberler vardır.
PDF sayfalarını görüntülere dönüştürmek ve Java Swing'de göstermek süreci nedir?
IronPDF kullanarak PDF sayfalarını görüntülere dönüştürmek için, PdfDocument ile PDF yükleyin, her sayfayı BufferedImage'e çevirin ve bunları PNG dosyaları olarak kaydedin. Bu görüntüleri bir JPanel ve JScrollPane ile bir Java Swing uygulamasında gösterin.





