Altbilgi içeriğine atla
PYTHON IçIN IRONPDF KULLANARAK

Python'da PDF Dosyasını Görüntüleme

Bu makalede, IronPDF kütüphanesini kullanarak Python'da PDF dosyalarını nasıl görüntüleyebileceğimizi inceleyeceğiz.

IronPDF - Python Kütüphanesi

IronPDF, geliştiricilerin PDF dosyaları ile programatik olarak çalışmasına olanak tanıyan güçlü bir Python kütüphanesidir. IronPDF ile PDF belgeleri oluşturarak, manipüle ederek ve veri çıkararak, PDF ile ilgili çeşitli görevler için çok yönlü bir araç haline gelmektedir. İster sıfırdan PDF oluşturmanız, ister mevcut PDF'leri değiştirmeniz, isterse PDF içeriklerini çıkarmanız gerekse de, IronPDF akışınızı basitleştirmek için kapsamlı özellikler sunar.

Python kütüphanesi IronPDF'in bazı özellikleri şunları içerir:

Not: IronPDF, filigranlı bir PDF veri dosyası üretir. Filigranı kaldırmak için IronPDF'i lisanslamanız gerekmektedir. Lisanslı bir IronPDF sürümü kullanmak istiyorsanız, IronPDF web sitesini ziyaret ederek bir lisans anahtarı edinin.

Gereksinimler

Python'da IronPDF ile çalışmadan önce birkaç ön koşul vardır:

  1. Python Kurulumu: Sisteminizde Python'un yüklü olduğundan emin olun. IronPDF, Python 3.x sürümleri ile uyumludur, bu yüzden uyumlu bir Python kurulumu yaptığınızdan emin olun.
  2. IronPDF Kütüphanesi: IronPDF kütüphanesini işlevselliğine erişmek için kurun. Komut satırı arabiriminizde aşağıdaki komutu yürüterek Python paket yöneticisini (pip) kullanarak kurabilirsiniz:

    pip install ironpdf
  3. Tkinter Kütüphanesi: Tkinter, Python için standart GUI araç takımıdır. Verilen kod örneğinde PDF görüntüleyici için grafik kullanıcı arayüzü oluşturmak için kullanılır. Tkinter genellikle Python ile önceden yüklenir, ancak herhangi bir sorunla karşılaşırsanız, paket yöneticisi kullanarak kurabilirsiniz:

    pip install tkinter
    pip install tkinter
    SHELL
  4. Pillow Kütüphanesi: Pillow kütüphanesi, Python Görüntü Kütüphanesi'nin (PIL) bir çatısıdır ve ek görüntü işleme yetenekleri sağlar. Kod örneğinde PDF'den çıkarılan görüntüleri yüklemek ve görüntülemek için kullanılır. Pillow'u paket yöneticisi kullanarak yükleyin:

    pip install pillow
    pip install pillow
    SHELL
  5. Entegre Geliştirme Ortamı (IDE): Python projelerini yönetmek için bir IDE kullanmak, geliştirme deneyiminizi büyük ölçüde artırabilir. Kod tamamlama, hata ayıklama ve daha düzenli bir iş akışı gibi özellikler sunar. Python geliştirme için popüler bir IDE, PyCharm'dır. JetBrains web sitesinden PyCharm'ı indirip kurabilirsiniz (https://www.jetbrains.com/pycharm/).
  6. Metin Editörü: Alternatif olarak, hafif bir metin düzenleyici ile çalışmayı tercih ediyorsanız, Visual Studio Code, Sublime Text veya Atom gibi tercih ettiğiniz herhangi bir metin düzenleyiciyi kullanabilirsiniz. Bu editörler, Python geliştirme için sözdizimi vurgulama ve diğer yararlı özellikler sunar. Python betikleri oluşturmak için Python'un kendi IDE App'ini de kullanabilirsiniz.

PyCharm kullanarak bir PDF Viewer Projesi Oluşturma

PyCharm IDE'yi kurduktan sonra, aşağıdaki adımları izleyerek bir PyCharm Python projesi oluşturun:

  1. PyCharm'ı Başlat: PyCharm'ı sisteminizin uygulama başlatıcısından veya masaüstü kısayolundan açın.
  2. Yeni Proje Oluştur: "Yeni Proje Oluştur"a tıklayın veya mevcut bir Python projesini açın.

Python'da PDF'yi Metne Dönüştürme (Eğitim), Şekil 1: PyCharm IDE PyCharm IDE

  1. Proje Ayarlarını Yapılandır: Projenizin adını verin ve proje dizinini oluşturacağınız yeri seçin. Projeniz için Python yorumlayıcısını seçin. Ardından "Oluştur"a tıklayın.

Python'da PDF'yi Metne Dönüştürme (Eğitim), Şekil 2: Yeni bir Python projesi oluşturma Yeni bir Python projesi oluşturun

  1. Kaynak Dosyaları Oluştur: PyCharm, bir ana Python dosyası ve ek kaynak dosyaları için bir dizin içeren proje yapısını oluşturacaktır. Kod yazmaya başlayın ve betiği çalıştırmak için çalıştır düğmesine tıklayın veya Shift+F10 tuşlarına basın.

IronPDF kullanarak Python'da PDF Dosyalarını Görüntüleme Adımları

Gerekli kütüphaneleri içe aktar

Başlamak için, gerekli kütüphaneleri içe aktarın. Bu durumda, os, shutil, ironpdf, tkinter ve PIL kütüphaneleri gerekli olacak. os ve shutil kütüphaneleri dosya ve klasör işlemleri için kullanılır, ironpdf PDF dosyaları ile çalışmak için olan kütüphanedir, tkinter grafik kullanıcı arayüzü (GUI) oluşturmak için kullanılır ve PIL resim işleme için kullanılır.

import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
PYTHON

PDF Belgesini Görüntülere Dönüştür

Sonraki adımda, convert_pdf_to_images adında bir fonksiyon tanımlayın. Bu fonksiyon, giriş olarak PDF dosyasının yolunu alır. Fonksiyonun içinde, dosyadan PDF belgesini yüklemek için IronPDF kütüphanesi kullanılır. Ardından, çıkarılan görüntü dosyalarını depolamak için bir klasör yolu belirleyin. IronPDF'nin pdf.RasterizeToImageFiles metodu, her bir PDF sayfasını bir görüntü dosyasına dönüştürmek ve belirlenen klasöre kaydetmek için kullanılır. Görüntü yollarını depolamak için bir liste kullanılır. Tam kod örneği aşağıdaki gibidir:

def convert_pdf_to_images(pdf_file):
    """Convert each page of a PDF file to an image."""
    pdf = ironpdf.PdfDocument.FromFile(pdf_file)
    # Extract all pages to a folder as image files
    folder_path = "images"
    pdf.RasterizeToImageFiles(os.path.join(folder_path, "*.png"))
    # List to store the image paths
    image_paths = []
    # Get the list of image files in the folder
    for filename in os.listdir(folder_path):
        if filename.lower().endswith((".png", ".jpg", ".jpeg", ".gif")):
            image_paths.append(os.path.join(folder_path, filename))
    return image_paths
def convert_pdf_to_images(pdf_file):
    """Convert each page of a PDF file to an image."""
    pdf = ironpdf.PdfDocument.FromFile(pdf_file)
    # Extract all pages to a folder as image files
    folder_path = "images"
    pdf.RasterizeToImageFiles(os.path.join(folder_path, "*.png"))
    # List to store the image paths
    image_paths = []
    # Get the list of image files in the folder
    for filename in os.listdir(folder_path):
        if filename.lower().endswith((".png", ".jpg", ".jpeg", ".gif")):
            image_paths.append(os.path.join(folder_path, filename))
    return image_paths
PYTHON

PDF belgelerinden metin çıkarmak için bu kod örnekleri sayfasını ziyaret edin.

Pencere Kapatma İşlemini Ele Al

Uygulama penceresi kapatıldığında çıkartılan görüntü dosyalarını temizlemek için bir on_closing fonksiyonu tanımlayın. Bu fonksiyon içinde, tüm images klasörünü silmek için shutil.rmtree() metodunu kullanın. Daha sonra pencere kapatıldığında yürütülecek protokol olarak bu fonksiyonu ayarlayın. Görevin başarılması için aşağıdaki kod yardımcı olur:

def on_closing():
    """Handle the window closing event by cleaning up the images."""
    # Delete the images in the 'images' folder
    shutil.rmtree("images")
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)
def on_closing():
    """Handle the window closing event by cleaning up the images."""
    # Delete the images in the 'images' folder
    shutil.rmtree("images")
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)
PYTHON

GUI Penceresini Oluştur

Şimdi, Tk() yapıcısını kullanarak ana GUI penceresini oluşturalım, pencere başlığını "Görüntü Görüntüleyici" olarak ayarlayalım ve pencere kapatma işlemini on_closing() fonksiyonu ile protokol olarak ayarlayalım.

window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
PYTHON

Kaydırılabilir Bir Tuval Oluştur

Görüntüleri görüntülemek ve kaydırmayı etkinleştirmek için bir Canvas widget'ı oluşturun. Canvas widget'ı sahneyi dolduracak şekilde yapılandırılmıştır ve pack(side=LEFT, fill=BOTH, expand=True) kullanarak her iki yönde genişler. Ayrıca, tüm sayfaların ve tuvalin dikey kaydırmasını kontrol etmek için bir Scrollbar widget'ı oluşturun ve yapılandırın.

canvas = Canvas(window)
canvas.pack(side=LEFT, fill=BOTH, expand=True)

scrollbar = Scrollbar(window, command=canvas.yview)
scrollbar.pack(side=RIGHT, fill=Y)
canvas.configure(yscrollcommand=scrollbar.set)

# Update the scrollregion to encompass the entire canvas
canvas.bind("<Configure>", lambda e: canvas.configure(
    scrollregion=canvas.bbox("all")))

# Configure the vertical scrolling using mouse wheel
canvas.bind_all("<MouseWheel>", lambda e: canvas.yview_scroll(
    int(-1*(e.delta/120)), "units"))
canvas = Canvas(window)
canvas.pack(side=LEFT, fill=BOTH, expand=True)

scrollbar = Scrollbar(window, command=canvas.yview)
scrollbar.pack(side=RIGHT, fill=Y)
canvas.configure(yscrollcommand=scrollbar.set)

# Update the scrollregion to encompass the entire canvas
canvas.bind("<Configure>", lambda e: canvas.configure(
    scrollregion=canvas.bbox("all")))

# Configure the vertical scrolling using mouse wheel
canvas.bind_all("<MouseWheel>", lambda e: canvas.yview_scroll(
    int(-1*(e.delta/120)), "units"))
PYTHON

Görüntüler için Bir Çerçeve Oluştur

Daha sonra, tuvalin içinde resimleri tutmak için bir Frame widget'ı oluşturun ve çerçeveyi tuval içinde yerleştirmek için create_window() kullanın. (0, 0) koordinatları ve anchor='nw' parametresi çerçevenin tuvalin sol üst köşesinde başlamasını sağlar.

frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
PYTHON

PDF dosyasını Görüntülere Dönüştür ve Göster

Bir sonraki adım, giriş PDF dosyasının dosya yolu adı ile convert_pdf_to_images() fonksiyonunu çağırmaktır. Bu fonksiyon PDF sayfalarını resim olarak çıkartır ve resim yollarının bir listesini döndürür. Görsel yollarını yineleyerek ve her bir görüntüyü PIL kütüphanesinin Image.open() metodu ile yükleyerek, ImageTk.PhotoImage() kullanarak bir PhotoImage nesnesi oluşturuluyor. Ardından görüntüyü göstermek için bir Label widget'ı oluşturun.

images = convert_pdf_to_images("input.pdf")
# Load and display the images in the Frame
for image_path in images:
    image = Image.open(image_path)
    photo = ImageTk.PhotoImage(image)
    label = Label(frame, image=photo)
    label.image = photo  # Store a reference to prevent garbage collection
    label.pack(pady=10)
images = convert_pdf_to_images("input.pdf")
# Load and display the images in the Frame
for image_path in images:
    image = Image.open(image_path)
    photo = ImageTk.PhotoImage(image)
    label = Label(frame, image=photo)
    label.image = photo  # Store a reference to prevent garbage collection
    label.pack(pady=10)
PYTHON

Python'da PDF'yi Metne Dönüştürme (Eğitim), Şekil 3: Giriş dosyası Girdi dosyası

GUI Ana Döngüsünü Çalıştır

Son olarak, window.mainloop() kullanarak ana olay döngüsünü çalıştıralım. Bu, GUI penceresinin kullanıcı tarafından kapanana kadar açık ve duyarlı kalmasını sağlar.

window.mainloop()
window.mainloop()
PYTHON

Python'da PDF'yi Metne Dönüştürme (Eğitim), Şekil 4: Arayüz çıktısı Kullanıcı arayüzü çıktısı

Sonuç

Bu eğitim, IronPDF kütüphanesini kullanarak Python'da PDF belgelerini nasıl görüntüleyebileceğimizi inceledi. PDF dosyası açmak ve ardından bir dizi görüntü dosyasına dönüştürmek için gereken adımları kapsadı, ardından bunları kaydırılabilir bir tuvalde gösterdi ve uygulama kapandığında çıkarılan görüntülerin temizlenmesini ele aldı.

IronPDF for Python kütüphanesi hakkında daha fazla ayrıntı için lütfen dokümantasyona başvurun.

IronPDF Python için kütüphanesini indirin ve yükleyin ve ayrıca ticari geliştirmede tam işlevselliğini test etmek için ücretsiz bir deneme edinin.

Sıkça Sorulan Sorular

Python'da PDF dosyalarını nasıl görüntüleyebilirim?

Python'da PDF dosyalarını görüntülemek için IronPDF kütüphanesini kullanabilirsiniz. PDF sayfalarını görüntülere dönüştürmenizi ve ardından Tkinter kullanarak bir GUI uygulamasında göstermenizi sağlar.

Python'da bir PDF görüntüleyici oluşturmak için gerekli adımlar nelerdir?

Python'da bir PDF görüntüleyici oluşturmak için, IronPDF'yi yüklemeniz, GUI için Tkinter'i ve resim işlemi için Pillow'u kullanmanız gerekir. PDF sayfalarını IronPDF ile görüntülere dönüştürün ve bu görüntüleri Tkinter kullanarak kaydırılabilir bir kanvastan gösterebilirsiniz.

Python projesinde kullanılmak üzere IronPDF nasıl kurulur?

Terminal veya komut istemcinizde pip install ironpdf komutunu çalıştırarak IronPDF'yi kurabilirsiniz.

Python'da PDF görüntüleyici uygulaması geliştirmek için gerekli kütüphaneler nelerdir?

PDF işleme için IronPDF, GUI için Tkinter ve resim işlemi için Pillow'a ihtiyacınız olacak.

Python kullanarak bir PDF'den resimleri alabilir miyim?

Evet, IronPDF PDF'lerden resim çıkarmanıza izin verir, bu resimler daha sonra Pillow kütüphanesi kullanılarak işlenebilir veya görüntülenebilir.

Python'da bir PDF sayfasını görüntüye nasıl dönüştürebilirim?

IronPDF'nin işlevselliğini kullanarak PDF sayfalarını resim formatlarına dönüştürebilir ve ardından Python uygulamanızda işleyebilir veya gösterebilirsiniz.

Python PDF görüntüleyici uygulamasında pencere kapanışını nasıl ele alırım?

PDF görüntüleyici uygulamasında, çıkarılan görüntüleri temizleyerek ve tüm kaynakların düzgün bir şekilde bırakıldığından emin olarak, genellikle Tkinter'in olay işleme işlevlerini kullanarak pencere kapanışını ele alabilirsiniz.

Python'da PDF dosyalarını nasıl güvence altına alabilirim?

IronPDF, PDF dosyalarına şifreler ekleyerek ve kullanım kısıtlamaları ekleyerek PDF güvenliğini artırma seçenekleri sunar.

Bir PDF görüntüleme uygulamasında Tkinter kullanmanın avantajı nedir?

Tkinter, PDF görüntüleyiciniz için kullanıcı dostu bir grafiksel arayüz oluşturmanıza olanak tanır, kaydırılabilir görünümler gibi PDF sayfalarını dolaşmanızda yardımcı olacak özellikleri sağlar.

Bir PDF projesinde Pillow kullanmanın amacı nedir?

Pillow, IronPDF kullanılarak PDF dosyalarından çıkarılan görüntüleri yüklemek ve göstermek gibi resim işlemleri için bir PDF projesinde kullanılır.

Curtis Chau
Teknik Yazar

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ı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara