Python'da PDF Dosyalarını Nasıl Sıkıştırılır?
IronPDF'nin CompressImages yöntemi, Python geliştiricilerinin ayarlanabilir kalite ayarlarıyla gömülü görüntüleri sıkıştırarak PDF dosya boyutlarını küçültmelerine olanak tanır. Bu sayede, okunabilirlikten ödün vermeden depolama alanını optimize edebilir ve belge paylaşımını hızlandırabilirler.
Hızlı Başlangıç: Python'da PDF Dosyalarını Sıkıştırın
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-compress-pdf/quickstart.py
from ironpdf import PdfDocument
# 1. Install IronPDF: pip install ironpdf
# 2. Load your PDF
pdf = PdfDocument("your-file.pdf")
# 3. Compress images (quality: 1-100)
pdf.CompressImages(60)
# 4. Save compressed PDF
pdf.SaveAs("compressed.pdf")
# 5. Adjust quality parameter to balance size vs quality// BU KOD PARÇACIK YOKTUR!
from ironpdf import PdfDocument
# 1. Install IronPDF: pip install ironpdf
# 2. Load your PDF
pdf = PdfDocument("your-file.pdf")
# 3. Compress images (quality: 1-100)
pdf.CompressImages(60)
# 4. Save compressed PDF
pdf.SaveAs("compressed.pdf")
# 5. Adjust quality parameter to balance size vs qualityAsgari İş Akışı (5 adım)
- PDF dosyalarını sıkıştırmak için gereken Python kütüphanesini yükleyin
PdfDocumentile bir PDF belgesi yükleyinCompressImages'ı bir kalite tam sayısıyla (1–100) çağırınSaveAskullanarak azaltılmış boyutlu dosyayı kaydedin- Kaliteyi doğrulamak için çıktıyı herhangi bir PDF görüntüleyicisinde inceleyin
PDF dosyaları, belge depolama ve paylaşmada yaygın olarak kullanılır, ancak büyük boyutlarda hantal hale gelebilirler. 10 MB'lık bir raporu yüklemek veya e-posta ile göndermek, 2 MB'lık bir eşdeğer paylaşımdan belirgin şekilde daha yavaş olur ve belge hacimleri yüksek olduğunda depolama maliyetleri birikir. PDF sıkıştırma, içeriği okunabilir tutarken dosya boyutunu azaltarak bu sorunu ele alıyor.
Bu kılavuz, Python'da PDF dosyalarını sıkıştırmak için IronPDF'i nasıl kullanacağınızı gösteriyor. Pratik kod örnekleri hem standart görüntü sıkıştırma hem de gelişmiş çözünürlük tabanlı sıkıştırmayı kapsar, böylece boru hattınıza uygun yaklaşımı seçebilirsiniz. HTML'den PDF'ye dönüşümlerle veya mevcut belgelerle çalışırken, aynı sıkıştırma API'si geçerlidir.
IronPDF Nedir ve PDF Sıkıştırma İçin Neden Kullanılır?
IronPDF, PDF belgelerinin oluşturulması, okunması, düzenlenmesi ve optimize edilmesini yöneten bir Python PDF kütüphanesidir. Sıfırdan oluşturulmuş, HTML'den dönüştürülmüş veya diskten yüklenmiş dosyalarla çalışır. Sıkıştırma API'si, büyük PDF boyutlarının birincil katkısına hedef alır: görüntüler.
CompressImages yöntemi, 1 ile 100 arasında bir tamsayı ve görüntüleri görünür çözünürlüğe küçülten isteğe bağlı bir boole değeri kabul eder. Bu çift parametre tasarımı, sıkıştırmayı hassas bir şekilde ayarlamanıza olanak tanır: yüksek trafikli bir raporlama panosu, görselleri keskin tutmak için kaliteyi 70 kullanabilir, iç bir arşiv sistemi ise depolama tasarrufunu maksimize etmek için kaliteyi 40 kullanabilir. Kütüphane tüm kodlamayı dahili olarak yönetir, bu nedenle ek bir bağımlılık gerektirmez.
IronPDF, Iron Suite'in bir parçasıdır ve tümü paylaşılan bir Python kurulumundan belge oluşturma, barkod işleme, OCR ve ZIP arşivleme dahil her şeyi kapsar. IronPDF'i sıfırdan PDF oluşturma için zaten kullanan geliştiriciler için, sıkıştırma, dosyaları kaydetme veya dağıtma öncesinde doğal bir takip adımı olarak devreye girer.
IronPDF'i Python'da Nasıl Yüklersiniz?
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-compress-pdf/install.sh
:ProductInstall// BU KOD PARÇACIK YOKTUR!
:ProductInstallYükleme sonrasında, lisans anahtarınızı üretim ortamları için yapılandırın. IronPDF, sıkıştırma dahil tüm özellikleri kapsayan, kredi kartı gerektirmeyen ücretsiz 30 günlük bir deneme içerir. PyPI paket sayfası en son sürüm notlarını ve bağımlılık detaylarını listeler.
IronPDF Kullanarak PDF Dosyalarını Nasıl Sıkıştırırsınız?
Belgenin tamamındaki gömülü resimlerin boyutunu küçültmek için CompressImages'ye bir kalite tamsayısı geçirin. Daha düşük tam sayılar, görüntü sadakatinden ödün vererek daha küçük dosyalar üretir; daha yüksek tam sayılar daha fazla ayrıntıyı korur. Aşağıdaki örnek, hem standart bir sıkıştırma çağrısını hem de görünür boyutlarına ölçeklenen gelişmiş bir çağrıyı gösteriyor.
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-compress-pdf/compress-basic.py
from ironpdf import PdfDocument
# Load the PDF document from a file
pdf = PdfDocument("Image based PDF.pdf")
# Compress images to quality 60 (lower numbers increase compression)
pdf.CompressImages(60)
pdf.SaveAs("document_compressed.pdf")
# Advanced: also scale images down to their visible size in the PDF
# Note: scaling can affect image clarity if pages are resized later
pdf.CompressImages(90, True)
pdf.SaveAs("Compressed.pdf")// BU KOD PARÇACIK YOKTUR!
from ironpdf import PdfDocument
# Load the PDF document from a file
pdf = PdfDocument("Image based PDF.pdf")
# Compress images to quality 60 (lower numbers increase compression)
pdf.CompressImages(60)
pdf.SaveAs("document_compressed.pdf")
# Advanced: also scale images down to their visible size in the PDF
# Note: scaling can affect image clarity if pages are resized later
pdf.CompressImages(90, True)
pdf.SaveAs("Compressed.pdf")Sıkıştırma Parametreleri Ne Anlama Geliyor?
CompressImages iki parametre kabul eder:
- Kalite (gereklidir): 1'den 100'e kadar bir tamsayı. 100 değeri, sıkıştırma uygulanmadan orijinal görüntü kalitesini korur. 40 ile 80 arası değerler çoğu pratik kullanım durumunu kapsar, 60 genel amaçlı belgeler için yaygın bir başlangıç noktasıdır.
- Görünür boyuta ölçekle (isteğe bağlı): Varsayılan değeri
Falseolan bir boole değeri.Trueolduğunda, her resim sayfada görüntülenen boyutlarına uyacak şekilde yeniden örneklenir. Bu, kalite sıkıştırmasının üzerine ikinci bir azalma adımı ekler ve daha küçük dosyalar üretir. Daha sonra daha yüksek DPI'da ölçeklenen veya yazdırılan sayfaların artefaktlar gösterdiğini not edin.
Kaydettikten sonra, sıkıştırılmış dosyayı herhangi bir PDF görüntüleyici ile orijinaliyle karşılaştırarak kalitenin gereksinimlerinizi karşıladığını doğrulayın. Ek modelleme örnekleri için PDF sıkıştırma örnekleri sayfasına bakın.
Sıkıştırmadan Önce PDF Nasıl Görünüyor?
![]()
Sıkıştırmadan Sonra PDF Nasıl Görülüyor?
![]()
Karşılaştırma, kalite 60 kullanılarak 458 KB'den 357 KB'ye (%22 civarında) bir azalma gösteriyor. Fotoğraf içeriği açısından yüksek orana sahip dosyalar, genellikle metin veya vektör grafikleriyle dolu dosyalardan daha büyük azalmalar elde eder.
Birden Fazla PDF Dosyasına Toplu Sıkıştırmayı Nasıl Uygularsınız?
Bir PDF dosyaları klasörünün işlenmesi aynı API'yi izler: her bir .pdf dosyası üzerinde yineleme yapın, PdfDocument ile yükleyin, CompressImages'yi çağırın ve sonucu kaydedin. Aşağıdaki işlev, bu deseni yeniden kullanılabilir bir araca dönüştürür.
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-compress-pdf/batch-compress.py
import os
from ironpdf import PdfDocument
def batch_compress_pdfs(input_folder, output_folder, quality=60):
"""
Compress all PDF files in a folder.
Args:
input_folder: Path to folder containing source PDFs
output_folder: Path where compressed PDFs will be saved
quality: Compression quality (1–100); default is 60
"""
# Create the output folder if it does not exist
os.makedirs(output_folder, exist_ok=True)
for filename in os.listdir(input_folder):
if filename.endswith(".pdf"):
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, f"compressed_{filename}")
try:
pdf = PdfDocument(input_path)
pdf.CompressImages(quality)
pdf.SaveAs(output_path)
print(f"Compressed: {filename}")
except Exception as e:
print(f"Error compressing {filename}: {e}")// BU KOD PARÇACIK YOKTUR!
import os
from ironpdf import PdfDocument
def batch_compress_pdfs(input_folder, output_folder, quality=60):
"""
Compress all PDF files in a folder.
Args:
input_folder: Path to folder containing source PDFs
output_folder: Path where compressed PDFs will be saved
quality: Compression quality (1–100); default is 60
"""
# Create the output folder if it does not exist
os.makedirs(output_folder, exist_ok=True)
for filename in os.listdir(input_folder):
if filename.endswith(".pdf"):
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, f"compressed_{filename}")
try:
pdf = PdfDocument(input_path)
pdf.CompressImages(quality)
pdf.SaveAs(output_path)
print(f"Compressed: {filename}")
except Exception as e:
print(f"Error compressing {filename}: {e}")except bloğu, tek bir bozuk veya parola korumalı dosyanın tüm işlemeyi durdurmasını engeller. Dosya adı ile birlikte özel durum mesajını günlüğe kaydetmek, hangi dosyaların manuel incelemeye ihtiyaç duyduğunu belirlemeyi kolaylaştırır. Daha yüksek hacimli hatlar için klasörü parçalara ayırmayı ve bunları paralel dizilerde işlemlerini göz önünde bulundurun.
PDF Sıkıştırması için Hangi Kalite Ayarlarını Kullanmalı?
Doğru kalite ayarı, sıkıştırma sonrasında PDF'nin nasıl kullanılacağına bağlıdır. Üç aralık, en yaygın senaryoları kapsar.
Yüksek kalite (70–90): Yazdırma veya resmi dağıtım için tasarlanan belgeler bu aralıkta kalmaktan fayda sağlar. Metin keskin kalır ve diyagramlar standart yazdırma çözünürlüklerinde okunabilir olur. Dosya boyutu azaltması sınırlıdır, genellikle %10–25, ancak çıktı, çoğu okuyucu için kaynaktan ayırt edilemez.
Orta kalite (50–70): Bu aralık web teslimatı ve e-posta ekleri için uygundur. Fotoğrafik içerik yakından incelenecek hafif yumuşama gösterir, ancak dosya boyutundaki (%25-50 sıklıkla) azalma yükleme sürelerini ve e-posta teslimatını anlamlı biçimde iyileştirir. Çoğu doküman yönetim sistemleri ve portal yüklemeleri kalite 60'ta iyi çalışır.
Saldırgan sıkıştırma (30–50): İç arşivler, uzun süreli depolama yedekleri ve yazdırılmayacak belgeler bu aralığı kullanabilir. Kalite 40'da görüntüler belirgin şekilde daha yumuşaktır, ancak PDF motoru tarafından oluşturulan (görseller olarak eklenmiş olmayan) metin tamamen net kalır. Bu yaklaşım ayrıca görüntülere dönüştürülecek ve ekrandan önce yeniden boyutlandırılacak belgeler için de uygundur.
Python'da Sıkıştırma Sonuçlarını Nasıl Doğrularsınız?
Çıktı dosyasının boyutunu programlı olarak kontrol etmek, dosya iş akışındaki bir sonraki adıma geçmeden önce sıkıştırmanın hedefinize ulaştığını doğrular. Python'un yerleşik os.path.getsize işlevi, herhangi bir dosya yolu için bayt sayısını döndürür, bu nedenle doğrulama için ek kütüphanelere gerek yoktur.
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-compress-pdf/verify-compression.py
import os
from ironpdf import PdfDocument
# Load and compress the document
pdf = PdfDocument("report.pdf")
original_size = os.path.getsize("report.pdf")
pdf.CompressImages(60)
pdf.SaveAs("report_compressed.pdf")
compressed_size = os.path.getsize("report_compressed.pdf")
reduction_pct = (1 - compressed_size / original_size) * 100
# Report results to confirm compression was effective
print(f"Original: {original_size / 1024:.1f} KB")
print(f"Compressed: {compressed_size / 1024:.1f} KB")
print(f"Reduction: {reduction_pct:.1f}%")// BU KOD PARÇACIK YOKTUR!
import os
from ironpdf import PdfDocument
# Load and compress the document
pdf = PdfDocument("report.pdf")
original_size = os.path.getsize("report.pdf")
pdf.CompressImages(60)
pdf.SaveAs("report_compressed.pdf")
compressed_size = os.path.getsize("report_compressed.pdf")
reduction_pct = (1 - compressed_size / original_size) * 100
# Report results to confirm compression was effective
print(f"Original: {original_size / 1024:.1f} KB")
print(f"Compressed: {compressed_size / 1024:.1f} KB")
print(f"Reduction: {reduction_pct:.1f}%")Çıktı, günlüğe kaydedilebilecek veya bir eşik ile karşılaştırılabilecek net bir azalma yüzdesi sağlar. Eğer azalma beklentilerden düşükse, belge az veya hiç gömülü görüntü içermeyebilir. Bu durumda, CompressImages yalnızca raster görüntüleri hedeflediğinden, kalite ayarından bağımsız olarak dosya boyutu büyük ölçüde değişmeyecektir. Metin ve vektör grafikleri bu yöntemden etkilenmez.
Python'da PDF Sıkıştırma için Bir Sonraki Adımlar Nelerdir?
IronPDF'nin CompressImages yöntemi, Python geliştiricilerine PDF dosya boyutlarını küçültmek için tek ve kapsamlı bir API sunar. Depolama tasarruflarını görsel doğrulukla dengelemek için kalite parametresini ayarlayın ve çıktı boyutları sabit olduğunda ikinci bir azalma geçişi için çözünürlük ölçekleme boolean ekleyin. IronPDF'nin ele aldığı konuları daha geniş bir açıdan görmek için, Python PDF kütüphanesi genel bakış sayfasına bakın.
Ücretsiz denemenizi başlatın ve IronPDF'nin tüm özellik setiyle birlikte HTML'den PDF'ye dönüştürme, dijital imzalar, form işleme ve belge birleştirme işlemlerini test edin. Deneme süresi sona erdiğinde, lisanslama seçeneklerini görüntüleyin ve dağıtımınıza uygun planı bulun.
IronPDF'nin başka neler yapabileceğini görmeye hazır mısınız? IronPDF'nin temel yeteneklerini yürüyerek izlemek için tam Python PDF eğitimini keşfedin.
Sıkça Sorulan Sorular
Python'da PDF'leri sıkıştırmak için IronPDF nasıl kurulum yaparım?
Terminalinizde pip install ironpdf çalıştırın. IronPDF for Python, .NET 6.0 SDK'nın önceden kurulu olmasını gerektirir. Kurulumdan sonra, ironpdf paketinden PdfDocument'ı içe aktararak PDF'leri sıkıştırmaya başlayabilirsiniz.
Python'da bir PDF dosyasını sıkıştırmak için temel kod nedir?
PdfDocument("your-file.pdf") ile dosyayı yükleyin, 1 ila 100 arasında bir kalite tam sayısı ile CompressImages(60) çağırın ve SaveAs("compressed.pdf") kullanarak sonucu kaydedin. Dosya boyutunu görüntü sadakatiyle dengelemek için kalite değerini ayarlayın.
Kalite parametresi PDF sıkıştırmayı nasıl etkiler?
CompressImages kalite parametresi 1 ila 100 arasında değişir. Düşük değerler daha küçük dosyalar üretirken daha belirgin görüntü yumuşatma sağlar. Yüksek değerler daha fazla detayı korur ancak daha büyük bir dosya boyutu oluşturur. Pratik kullanım durumlarının çoğunluğu için 40 ile 80 arasında değerler uygundur ve 60 genellikle iyi bir başlangıç noktasıdır.
CompressImages'e ikinci bir argüman geçirebilir miyim?
Evet. İkinci argüman olarak True geçmek, IronPDF'in her resmi sayfanın görünür boyutlarına yeniden örneklemeden önce kalite sıkıştırması uygulamasını söyler. Bu ikinci bir azaltım aşaması ekler ve dosya boyutu daha da küçülür, ancak sayfalar daha yüksek DPI ile ölçeklendiğinde veya basıldığında artefaktlar gösterebilir.
PDF sıkıştırması, metin ve vektör grafikleri etkiler mi?
CompressImages, PDF'ye gömülü raster görüntüleri hedef alır. PDF motoru tarafından işlenen metin ve vektör grafikleri bu yöntemden etkilenmez, bu nedenle gömülü resimlerin az olduğu veya hiç olmadığı belgeler minimum boyut azaltımı gösterecektir.
Python'da dosya boyutu azalımını nasıl doğrularım?
Kaydedilen dosyanın bayt sayısını almak için os.path.getsize("compressed.pdf") kullanın ve orijinal ile karşılaştırın. Farkı orijinal boyutuna bölmek, azalım yüzdesini bir ondalık olarak verir.
Web teslimi için en iyi kalite aralığı nedir?
50 ila 70 arasındaki bir kalite ayarı, çoğu web teslimi ve e-posta senaryosu için uygundur. Bu aralık genellikle dosya boyutunu yüzde 25 ila 50 azalırken fotoğrafik içeriği ekran üzerinden okuma için görsel olarak kabul edilebilir tutar.







