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

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

Bu makale, IronPDF kütüphanesi kullanarak Python'da PDF dosyalarını görüntülemeyi keşfedecektir.

IronPDF - Python Kütüphanesi

IronPDF, geliştiricilerin PDF dosyaları ile programlı olarak çalışmasına olanak tanıyan güçlü bir Python kütüphanesidir. IronPDF ile, PDF belgelerinden kolayca veri üretebilir, manipüle edebilir ve çıkarabilir, bu da çeşitli PDF ile ilgili görevler için çok yönlü bir araç haline getirir. PDF'leri sıfırdan oluşturmanız, mevcut PDF'leri değiştirmeniz veya PDF'lerden içerik çıkarmanız gereksin, IronPDF iş akışınızı basitleştirmek için kapsamlı bir özellik seti sunar.

IronPDF for Python kütüphanesinin bazı özellikleri şunları içerir:

Not: IronPDF, su damgasi olan bir PDF veri dosyasi oluşturur. Su damgasini kaldirmak icin IronPDF lisansina ihtiyaçiniz vardir. Lisansli bir IronPDF surumunu kullanmak isterseniz, IronPDF web sitesini ziyaret ederek bir lisans anahtari edinin.

Ön Koşullar

Python'da IronPDF ile calismadan once bazi on gereksinimler vardir:

  1. Python Kurulumu: Sisteminizde Python yuklu oldugundan emin olun. IronPDF, Python 3.x surumleri ile uyumlu, bu nedenle uygun bir Python kuruluma sahip oldugunuzdan emin olun.
  2. IronPDF Kutuphanesi: IronPDF kutuphanesini yukleyin ve islevselligine erisin. Bunu, Python paket yoneticisi (pip) kullanarak asagidaki komutu komut satirinizda calistirarak yukleyebilirsiniz:

    pip install ironpdf
    pip install ironpdf
    SHELL
  3. Tkinter Kutuphanesi: Tkinter, Python icin standart GUI arac takimidir. Saglanan kod parcaciginda PDF görüntüleyici icin grafik kullanıcı arabirimi oluşturmak icin kullanilir. Tkinter genellikle Python ile birlikte yuklu gelir, ancak herhangi bir sorunla karsilasirsaniz, paket yoneticisini kullanarak yukleyebilirsiniz:

    pip install tkinter
    pip install tkinter
    SHELL
  4. Pillow Kutuphanesi: Pillow kutuphanesi, Python Imaging Library (PIL) temel alinmis olup ek görüntü işleme yetenekleri sunar. Kod parcaciginda, PDF'ten elde edilen gorevleri yuklemek ve gösterim icin kullanilir. Pillow'u paket yoneticisiyle yukleyin:

    pip install pillow
    pip install pillow
    SHELL
  5. Butunlesik Geliştirme Ortami (IDE): Python projelerini yonetmek icin bir IDE kullanmak, geliştirme deneyiminizi buyuk olcude iyilestirebilir. Bu, kod tamamlama, hata ayıklama ve daha akıcı bir iş akışı gibi özellikler sunar. Python geliştirme için popüler bir IDE PyCharm'dır. PyCharm'i JetBrains web sitesinden indirebilir ve yukleyebilirsiniz (https://www.jetbrains.com/pycharm/).
  6. Metin Duzenleyici: Alternatif olarak, hafif bir metin duzenleyicisi kullanmayi tercih ederseniz, Visual Studio Code, Sublime Text, veya Atom gibi istediginiz herhangi bir metin duzenleyici kullanabilirsiniz. Bu düzenleyiciler, Python geliştirmesi için söz dizimi vurgulaması ve diğer yararlı özellikler sağlar. Python betiklerini oluşturmak icin Python'un kendi IDE uygulamasını da kullanabilirsiniz.

PyCharm kullanarak PDF Görüntüleyici Projesi Oluşturma

PyCharm IDE'yi yukledikten sonra, asagidaki adimlari izleyerek bir PyCharm Python projesi oluşturun:

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

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

  3. Proje Ayarlarını Yapılandırın: Projeniz için bir ad sağlayın 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'den Metne Dönüştürme (Eğitim), Şekil 2: Yeni bir Python projesi oluştur Yeni bir Python projesi oluşturun

  4. Kaynak Dosyaları Oluşturun: 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 çalıştırma düğmesine tıklayın veya scripti çalıştırmak için Shift+F10'a basın.

IronPDF kullanarak Python'da PDF Dosyalarini Görüntüleme Adimlari

Gerekli kutuphaneleri ithal et

Başlamak icin gerekli kutuphaneleri iceri aktarin. Bu durumda os, shutil, ironpdf, tkinter ve PIL kütüphaneleri gerekiyor. 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 kütüphanedir, tkinter grafik kullanıcı arayüzü (GUI) oluşturmak için kullanılır ve PIL görüntü 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 Dokümani Görüntülerine Cevir

Sonraki adımda convert_pdf_to_images adlı bir fonksiyon tanımlayın. Bu fonksiyon, PDF dosyasinin yolunu girdi olarak alir. Fonksiyon icinde, IronPDF kutuphanesi, dosyadan PDF dokümanini yuklemek icin kullanilir. Daha sonra, elde edilen görüntü dosyalarini saklamak icin bir klasor yolu belirleyin. IronPDF'in pdf.RasterizeToImageFiles yöntemi, PDF'in her sayfasını bir görüntü dosyasına dönüştürmek ve belirtilen klasörde kaydetmek için kullanılır. Bir liste, görüntü yollarini saklamak icin kullanilir. Tam kod ornegi asagidaki 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 dokümanlarindan metin cikarmak icin bu kod örnekleri sayfasini ziyaret edin.

Pencere Kapatilmasini Yonet

Uygulama penceresi kapatıldığında çıkarılan görüntü dosyalarını temizlemek için bir on_closing fonksiyonu tanımlayın. Bu fonksiyonun içinde shutil.rmtree() yöntemini kullanarak images klasörünü tamamen silin. Daha sonra, pencere kapatildiginde calistirilacak protokol olarak bu fonksiyonu ayarlayin. Bu gorevi basarmak icin asagidaki kod kullanilir:

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ı 'Image Viewer' olarak ayarlayalım ve pencere kapanmasını yönetmek için on_closing() fonksiyonunu protokol olarak belirleyelim.

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

Kayar Kanvas Oluştur

Görüntüleri göstermek ve kaydırmayı etkinleştirmek için bir Canvas widget'ı oluşturun. Canvas widget'ı, pack(side=LEFT, fill=BOTH, expand=True) kullanılarak mevcut alanı dolduracak ve her iki yönde genişleyecek şekilde yapılandırılmıştır. Ayrıca, tüm sayfaların ve tuvalin dikey kaydırılmasını kontrol etmek için bir Scrollbar widget'ı oluşturup 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 icin Cerceve Oluştur

Sonraki adımda, görüntüleri taşımak için tuval içine bir Frame widget'ı oluşturun ve çerçeveyi tuval içine yerleştirmek için create_window() kullanın. (0, 0) koordinatları ve anchor='nw' parametresi, çerçevenin tuvalin sol üst köşesinden 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 dosyasini Görüntülere Cevir ve Göster

Sonraki adım, girdi PDF dosyasının dosya yolu adı ile convert_pdf_to_images() fonksiyonunu çağırmaktır. Bu fonksiyon, PDF sayfalarını görüntü olarak çıkarır ve görüntü yollarının bir listesini döndürür. Görüntü yollarını iterate ederek ve her bir görüntüyü PIL kütüphanesinin Image.open() yöntemi ile yükleyerek bir PhotoImage nesnesi ImageTk.PhotoImage() kullanılarak oluşturulur. 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'den Metne Dönüştürme (Eğitim), Şekil 3: Girdi dosyası Girdi dosyası

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

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

window.mainloop()
window.mainloop()
PYTHON

Python'da PDF'den Metne Dönüştürme (Eğitim), Şekil 4: UI çıktısı UI çıktısı

Sonuç

Bu eğitimde, Python ve IronPDF kutuphanesini kullanarak PDF belgelerinin nasıl görüntüleneceği araştırıldı. Bir PDF dosyasını açma ve bir dizi görüntü dosyasına dönüştürme, ardından bunları bir kaydırılabilir tuvalde görüntüleme ve uygulama kapandığında çekilen görüntülerin temizliğini yönetme adımlarını ele aldı.

Python IronPDF kütüphanesi hakkında daha fazla ayrıntı için lütfen belgelere bakın.

Python için IronPDF kutuphanesini indirin ve yükleyin ve işlevselliğinin tamamını ticari geliştirmelerde test etmek için bir ücretsiz deneme alın.

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. Bu kütüphane, PDF sayfalarını resimlere dönüştürmenize olanak tanır, bu resimler daha sonra Tkinter kullanılarak bir GUI uygulamasında görüntülenebilir.

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

Python'da bir PDF görüntüleyici oluşturmak için IronPDF'u yüklemeniz, GUI için Tkinter ve görüntü işleme için Pillow kullanmanız gerekir. IronPDF kullanarak PDF sayfalarını resimlere dönüştürün ve bunları Tkinter ile oluşturulan kaydırılabilir bir tuvalde görüntüleyin.

Python projesinde kullanmak için IronPDF'u nasıl yüklerim?

pip install ironpdf komutunu terminal veya komut isteminizde çalıştırarak IronPDF'u yükleyebilirsiniz.

Python'da bir PDF görüntüleyici uygulaması yapmak için hangi kütüphanelere ihtiyaç var?

PDF işlemesi için IronPDF, GUI için Tkinter ve görüntü işleme için Pillow'a ihtiyaçınız olacak.

Python kullanarak bir PDF'den resim çıkarabilir miyim?

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

Python'da bir PDF sayfasını resime nasıl dönüştürebilirim?

IronPDF'un işlevselliğini kullanarak PDF sayfalarını görüntü formatlarına dönüştürebilir, bu görüntüler daha sonra bir Python uygulamasında manipüle edilebilir veya görüntülenebilir.

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

Bir PDF görüntüleyici uygulamasında pencerenin kapanmasını ele almak için çıkarılan resimleri temizleyebilir ve tüm kaynakların düzgün bir şekilde serbest bırakıldığından emin olabilirsiniz, genellikle Tkinter'ın olay işleme fonksiyonları kullanılarak.

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

IronPDF, PDF dosyalarına parolalar ve kullanım kısıtlamaları ekleyerek PDF güvenliğini artırmak için seçenekler sunar.

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

Tkinter, PDF sayfalarında gezinebilmek gibi özellikler sunarak PDF görüntüleyiciniz için kullanıcı dostu bir grafik arayüz oluşturmanıza olanak tanır.

PDF projesinde Pillow kullanmanın amacı nedir?

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

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

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