IRONSOFTWAREHOME

IronPDF ile C#'ta PDF'leri Nasıl Sıkıştırırım

Curtis Chau
Curtis Chau
Updated: 29 Haziran 2026

IronPDF, C#'ta yerleşik görüntüleri JPEG olarak yeniden kodlayan ve isteğe bağlı olarak dosya boyutunu tek bir çağrıda azaltmak için PDF yapı ağacını silebilen CompressAndSaveAs yöntemiyle PDF'leri sıkıştırır. Eşlik eden CompressPdfToBytes ve CompressPdfToStream yöntemleri, diski hiç ellemek istemediğinizde aynı işi bellekte yapar.

Görüntüler genellikle bir PDF'in boyutunun çoğunu oluşturur ve tablo ağırlıklı belgeler daha fazla ağırlık ekleyen bir yapı ağacı taşır. IronPDF her ikisini de hedefler, bu yüzden aynı çağrı diske yüklenen veya bir hafıza akışında tutulan PDF'lerde çalışır.

Hızlı Başlangıç: IronPDF ile PDF Dosyalarını Sıkıştırın

PDF'nizi PdfDocument.FromFile ile yükleyin ve gömülü görüntüleri yeniden kodlamak ve küçültülmüş kopyayı tek adımda yazmak için CompressAndSaveAs'u çağırın. İkinci argüman JPEG kalitesidir.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40);
    C#
  3. 3Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
    arrow pointer

Lütfen dikkate alın: CompressImages, CompressStructTree ve Compress(CompressionOptions) gibi sıkıştırma için önceki yöntemler kullanımdan kaldırıldı.

PDF'lerde Görselleri Nasıl Sıkıştırırım?

Her yerleşik görüntüyü belirtilen kalitede yeniden kodlamak için quality JPEG değerini CompressAndSaveAs yöntemine ikinci argüman olarak verin. Değerler 0'dan (maksimum sıkıştırma) 100'e (minimum kayıp) kadar değişir ve her değerin çıktıya nasıl eşlendiğine dair karar altında yatan motor verir. Bu, bir belge gömülü görüntüler içerdiğinde başvurulacak yöntemdir.

Kabaca bir kılavuz:

  • 90 ve üzeri: yüksek kalite
  • 80 ila 90: orta kalite
  • 70 ila 80: düşük kalite

Daha düşük bir numara daha fazla sıkıştırır ama görünür artefaktlar ekleyebilir ve ne kadar netliğin düştüğü kaynak görüntüye bağlıdır, bu nedenle kendi içeriğiniz için birkaç ayarı test ederek istediğiniz dengeyi bulun.

Giriş

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Quality 40 re-encodes every embedded image as a low-quality JPEG, which is
// where most of the file-size saving comes from in image-heavy PDFs
pdf.CompressAndSaveAs("compressed.pdf", 40);
C#

Çıktı

Görüntü Sıkıştırmasından Hangi Sonuçları Bekleyebilirim?

Vikipedi renderında %39,24 oranında azaldı.

compressed.pdf (449 KB) ve nonCompress.pdf (739 KB) arasında sıkıştırma sonuçlarını gösteren dosya karşılaştırması

PDF Ağaç Yapısını Nasıl Sıkıştırırım?

Chrome Motoru'nun PDF'ye yazdığı yapı ağacını silmek için CompressAndSaveAs'e üçüncü argüman olarak removeStructureTree: true geçirin. Tasarruf, geniş kapsamlı tablo verisi tutan Chrome Motoru PDF'lerinde en büyüktür. Bazı işleme motorları böyle bir yapı yaymazlar, bu da özellik için kaldırılacak hiçbir şey bırakmaz.

Ağacı kaldırmak, metin vurgulama ve seçim zayıflatabilir, bu yüzden okuyucuların daha sonra metin ve görüntüler çıkarması gerekirse, bu büyüklük kazancı ile karşılaştırın.

Bu tablo verileri içeren PDF ile yapı ağacı kaldırma işlemini CompressAndSaveAs ile test edin.

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("table.pdf");

// Pass null quality to skip image compression and true to drop the structure
// tree, which is the bulk of the size in table-heavy Chrome-rendered PDFs
pdf.CompressAndSaveAs("compressedTable.pdf", null, true);
C#

Ağaç Yapısı Sıkıştırması Ne Kadar Dosya Boyutu Azaltabilir?

%67,90 oranında azaldı. Rakam, tablo PDF'si büyüdükçe yükselir.

compressedTable.pdf (52 KB) ve table.pdf (162 KB) arasında sıkıştırma sonuçlarını gösteren dosya karşılaştırması

Bu türden favori kütüphanem IronPDF'dir. PDF dosyalarının hızlı ve verimli bir şekilde işlenmesine olanak tanır. Ayrıca, PDF/A formatına dışa aktarma ve dijital imzalama gibi birçok değerli özelliğe sahiptir.

Milan Jovanovic

Microsoft MVP

Vaka çalışmasını görüntüle

IronOCR, manuel işleme maliyetinden yıllık 40.000 USD tasarruf etmemizi sağlıyor, üretkenliği artırıyor ve yüksek etkili görevler için kaynakları serbest bırakıyor. Kesinlikle tavsiye ederim.

Brent Matzelle

Teknoloji Müdürü, OPYN

Vaka çalışmasını görüntüle

IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardır.

David Jones

Baş Yazılım Mühendisi, Agorus Build

Vaka çalışmasını görüntüle

Her İki Sıkıştırma Yöntemini Birlikte Nasıl Uygularım?

Şişkinliğin her iki kaynağını aynı anda azaltmak için bir quality değeri sağlayın ve removeStructureTree'i true olarak ayarlayın. Bu eşleştirme, grafikler veya gömülü tablolar içeren raporlar gibi yapılandırılmış verilerle görüntüleri karıştıran belgelerde değerini kanıtlar.

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Shrink both sources of bloat in one pass: re-encode images at quality 80
// and strip the structure tree (true) for the largest size reduction
pdf.CompressAndSaveAs("compressed.pdf", 80, true);
C#

CompressAndSaveAs Hangi Parametreleri Kabul Eder?

  • outputPath (string): sıkıştırılmış PDF'nin yazıldığı dosya yolu.

  • quality (int?, 0'dan 100'e): her gömülü görüntüye uygulanan JPEG kalitesi. Daha düşük değerler daha küçük dosyalar üretir. Görüntü sıkıştırmayı tamamen atlamak için null değerini geçin.

  • removeStructureTree (bool, varsayılan false): true olduğunda, dosya boyutunu daha da azaltmak için PDF yapı ağacını siler. Tablolarla HTML tarafından üretilen PDF'ler için en etkili olanıdır.

Durumu belirletin. Arşiv kopyaları genellikle kaliteyi boyut üzerine tercih ederken, web dağıtımı daha küçük dosya ödüllendirir. Aynı takas, görüntü sadakatinin öncelikli olabileceği PDF/A uyumlu belgeleri sıkıştırdığınızda da geçerlidir.

Diskte Kaydetmeden PDF'leri Nasıl Sıkıştırırım?

API yanıtları, bulut işlevleri ve e-posta ekleri nadiren diskte sıkıştırılmış bir PDF'ye ihtiyaç duyar. CompressPdfToBytes sonucu bir byte dizisi olarak döndürür, böylece byte'ların nereye gideceğine siz karar verirsiniz.

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Return the compressed PDF as bytes so it can go straight into an HTTP
// response, a database varbinary column, or a queue message with no temp file
byte[] compressedBytes = pdf.CompressPdfToBytes();

File.WriteAllBytes("compressed.pdf", compressedBytes);
C#

Bir byte dizisi yerine Stream gerekiyorsa, CompressPdfToStream çağrısı yapın ve hedefinize kopyalayın. Bu, bir HTTP yanıt gövdesine, bir bulut depolama yüklemesine veya herhangi bir akış tabanlı iş akışına çıktı borulamak için uygundur.

using IronPdf;
using System.IO;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Stream output so the compressed bytes can be piped straight to an HTTP
// response or cloud upload without first buffering the whole file as byte[]
using Stream compressedStream = pdf.CompressPdfToStream();

// CompressPdfToStream returns a read-only Stream, so copy it to the destination
using FileStream fileStream = File.Create("compressed.pdf");
compressedStream.CopyTo(fileStream);
C#

Hangi CompressionMode Seçenekleri Mevcuttur?

Hem CompressPdfToBytes hem de CompressPdfToStream, işin nasıl yapılacağını belirleyen isteğe bağlı bir CompressionMode argümanı alır. Dağıtım hedefleri, disk erişimine izin verip vermediğine göre farklılık gösterir ve mod, doğru takası yapmanıza izin verir:

ModDisk erişimiGörüntü yeniden örneklemeÇıktı boyutu
Automatic (varsayılan)Diski dener, belleğe geri düşerDisk mevcut olduğundaİzin verilen yerde en küçük
FastMemoryYokHayırDaha büyük
HighQualityGeçici dizin gereklidirEvetEn küçük

Automatic önce HighQuality'i dener ve geçici dizin erişilemez olduğunda FastMemory'e düşer. Aşağıdaki örnek, en küçük çıktı için sistem geçici dizinine yazma iznini çalıştırma anında gerektiren HighQuality'i zorlar.

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// HighQuality resamples images using the system temp directory, so it produces
// the smallest output but needs write access to that directory at runtime
byte[] compressedBytes = pdf.CompressPdfToBytes(50, false, CompressionMode.HighQuality);

File.WriteAllBytes("compressed.pdf", compressedBytes);
C#

Çıktı

Lütfen dikkate alın: CompressPdfToBytes ve CompressPdfToStream, Java, Node.js ve Python dahil olmak üzere tüm IronPDF platformlarında artık kullanılabilir.

Sonuç

Artık görüntüleri yeniden kodlayan ve yapı ağacını silen CompressAndSaveAs isimli bir yöntemimiz var ve seçilen CompressionMode altında bellekte aynı işi yapmak için CompressPdfToBytes ve CompressPdfToStream bulunmaktadır. Doğal olarak bir sonraki adım, bu ince sayfaları PDF rasterizasyonu ile küçük resimlere dönüştürmektir.

Sıkça Sorulan Sorular

Sıkıştırmayla PDF dosya boyutu ne kadar azaltılabilir?

Sonuçlar içeriğe göre değişir. Gösterilen örneklerde, görüntü sıkıştırma bir dosyayı %39,24 oranında azalttı ve yapı ağacı kaldırma tablodan zengin bir PDF'yi %67,90 oranında azalttı. Görüntü-ağır ve tablo-ağır belgeler en büyük tasarrufu sağlar.

IronPDF C#'ta PDF'leri nasıl sıkıştırır?

IronPDF, tek bir yöntem aracılığıyla sıkıştırmayı yönetir — CompressAndSaveAs. Gömülü görüntü boyutlarını 0–100 aralığında yapılandırılabilir bir JPEG kalite kullanarak azaltır ve removeStructureTree: true ayarlanarak PDF'nin iç yapısını isteğe bağlı olarak kaldırabilir. Bu özellik, özellikle tablo ağırlıklı belgelerde etkilidir.

PDF'lerde JPEG sıkıştırması için hangi kalite seviyelerini kullanmalıyım?

IronPDF, %1 ile %100 arasında JPEG sıkıştırma kalitesini destekler. Önerilen seviyeler: yüksek kalite için %90 ve üzeri, orta kalite için %80-%90 arası ve düşük kalite için %70-%80 arası. Optimal ayar, dosya boyutu ve görsel kalite gereksinimleriniz arasındaki dengeye bağlıdır.

Bir PDF'i sadece bir satır kodla sıkıştırabilir miyim?

Evet, IronPDF bir satır kodla PDF sıkıştırmasına izin verir: PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40); Bu, bir PDF'i yükler, görüntüleri %40'lık bir kaliteyle sıkıştırır ve sonucu kaydeder.

Sıkıştırma, HTML'den oluşturulan PDF'lerle çalışıyor mu?

Evet, IronPDF'nin sıkıştırması, HTML metin dizesinden PDF'ye dönüşümler, URL'den PDF'ye dönüşümler ve HTML dosya dönüşümleri dahil olmak üzere çeşitli yöntemlerle oluşturulan PDF'lerle çalışır ve mevcut PDF dosyaları ile de uyumludur.

Hangi içerik türleri PDF sıkıştırmadan en çok fayda sağlar?

Genellikle PDF dosya boyutlarını tüketen görüntüler, görüntü ağırlıklı belgeleri sıkıştırma için ideal adaylar yapar. Ayrıca, karmaşık tablo yapıları olan PDF'ler IronPDF'in yapı ağacı sıkıştırma özelliğinden faydalanır.

Bir PDF'i diske kaydetmeden sıkıştırabilir miyim?

Evet, IronPDF CompressPdfToBytes ve CompressPdfToStream yöntemlerini sağlar, bunlar sırasıyla sıkıştırılmış PDF'yi bir bayt dizisi veya Stream olarak döndürür. Her ikisi de Otomatik, HızlıBellek veya YüksekKalite sıkıştırma seçenekleri olan opsiyonel SıkıştırmaModu parametresini kabul eder.

PDF sıkıştırma C# dışındaki dillerde mevcut mu?

Evet, CompressPdfToBytes ve CompressPdfToStream artık tüm IronPDF platformlarında mevcuttur, Java, Node.js ve Python dahil.

C#'da PDF sıkıştırmasını ince ayarlarla nasıl kontrol ederim?

AdvancedCompressionOptions nesnesini CompressAndSaveAs yöntemine geçirerek, TargetImageDpi üzerinden görüntü DPI yeniden örnekleme, JpegQuality ile JPEG yeniden kodlama kalitesi ve zlib CompressionLevel dahil olmak üzere boru hattını ayarlamak için kullanın. Orijinal CompressAndSaveAs(outputPath, quality, removeStructureTree) aşırı yüklemesi hâlâ çalışıyor ve önceden olduğu gibi aynı çıktıyı üretiyor.

How can I achieve fine-grained control over PDF compression in IronPDF?

For fine-grained control, IronPDF allows you to pass an `AdvancedCompressionOptions` object to the `CompressAndSaveAs` method, letting you adjust JPEG quality, image DPI downsampling, and zlib compression levels.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 20,756,830Sürüm:2026.7yeni yayınlandı

ÜCRETSİZİNİZİ EDİNİN

30 günlük Deneme Anahtarınızı anında edinin.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmez
bullet_testÜretimde Test
filigran olmadan
bullet_calendar30 gün tamamen
işlevsel ürün
bullet_supportDeneme sırasında teknik
24/5 destek
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Tarayıcıya tıklayın ve "IronPdf" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.7

veya Windows Yükleyiciyi şuradan buradan indirin.

  1. IronPDF'i, ~/Libs gibi bir yere, Solution dizininiz içinde indirin ve açın.
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Tarayıcı sekmesini seçin, "IronPdf.dll"

Lisanslar $999

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez