Thread Starter
#0
PDF belgeleri ile çalışırken, bazen tüm belgeyi değil, yalnızca belirli sayfaları ayırmak isteyebiliriz. Bu tür işlemler için Python'da basit bir script yazmak oldukça faydalı olabilir. Aşağıda, PDF sayfalarını ayırmak için kullanabileceğiniz bir örnek sunuyorum.
Python'da pdf sayfa ayırma işlemi için popüler bir kütüphane olan
Aşağıda, belirli sayfaları ayırmak için kullanabileceğiniz bir script örneği verilmiştir:
Bu script,
Bu tür bir script, özellikle büyük belgelerle çalışırken oldukça işlevsel olabilir. Siz de deneyimlerinizi ve benzer projelerde karşılaştığınız zorlukları paylaşmak ister misiniz? Hangi kütüphaneleri veya yöntemleri kullanıyorsunuz?
Python'da pdf sayfa ayırma işlemi için popüler bir kütüphane olan
PyPDF2 kullanacağız. İlk olarak, bu kütüphaneyi yüklemeniz gerekecek. Terminal veya komut istemcisine şu komutu yazarak yükleyebilirsiniz:CODE
1pip install PyPDF2Aşağıda, belirli sayfaları ayırmak için kullanabileceğiniz bir script örneği verilmiştir:
CODE
1234567891011121314151617181920212223
import PyPDF2
def ayir_pdf(giris_dosyasi, cikan_dosyasi, sayfa_listesi):
# PDF dosyasını aç
with open(giris_dosyasi, 'rb') as dosya:
pdf = PyPDF2.PdfReader(dosya)
pdf_yeni = PyPDF2.PdfWriter()
# Belirtilen sayfaları ekle
for sayfa in sayfa_listesi:
pdf_yeni.add_page(pdf.pages[sayfa - 1]) # Sayfa numarası 0'dan başlar
# Yeni PDF dosyasını yaz
with open(cikan_dosyasi, 'wb') as cikan:
pdf_yeni.write(cikan)
[b]Kullanım[/b]
giris = 'ornek.pdf' # Ayrılacak PDF dosyasının adı
cikan = 'ayrilmis.pdf' # Çıktı dosyasının adı
sayfalar = [1, 3, 5] # Ayrılacak sayfalar (1 tabanlı)
ayir_pdf(giris, cikan, sayfalar)
Bu script,
ornek.pdf dosyasındaki 1, 3 ve 5 numaralı sayfaları alıp ayrilmis.pdf adıyla yeni bir PDF dosyası oluşturur. Sayfa numaralarının 1 tabanlı olduğunu unutmayın; yani kullanıcı 1 ile 5 arasında bir sayfa seçtiğinde, script bu sayfaları alabilmek için 0 tabanlı dizinle çalışır.Bu tür bir script, özellikle büyük belgelerle çalışırken oldukça işlevsel olabilir. Siz de deneyimlerinizi ve benzer projelerde karşılaştığınız zorlukları paylaşmak ister misiniz? Hangi kütüphaneleri veya yöntemleri kullanıyorsunuz?