IronPDF Kullanarak C# ile PDF'leri Sıkıştırma
IronPDF, gömülü görüntüleri sıkıştırarak ve PDF ağaç yapılarını optimize ederek dosya boyutlarını azaltan güçlü PDF sıkıştırma özellikleri sunar, böylece belgeleri depolama ve paylaşım için daha yönetilebilir hale getirirken kaliteyi korur.
PDF sıkıştırma, PDF belgelerinin dosya boyutunu azaltarak, depolama, paylaşım ve iletim için daha yönetilebilir hale getirir. HTML'den oluşturulan PDF'lerle veya mevcut PDF dosyalarıyla çalışıyor olun, sıkıştırma belge yönetimini optimize etmek için gereklidir.
Genellikle PDF dosya boyutlarının çoğunu görüntüler oluşturur. IronPDF, gömülü görüntü boyutlarını azaltan ve sık sık tablo yoğun PDF'lerde bulunan ağaç yapısını optimize eden sıkıştırma özellikleri sunar. Bu teknikler, URL'den PDF'ye dönüşümler ve HTML dosya dönüşümleri dahil olmak üzere çeşitli yöntemlerle oluşturulan PDF'lerle kesintisiz çalışır.
Hızlı Başlangıç: IronPDF ile PDF Dosyalarını Sıkıştırma
IronPDF'in sıkıştırma araçlarını kullanarak PDF dosya boyutlarını azaltın. PDF dosyanizi PdfDocument.FromFile ile yukleyin ve optimize edilmiş PDF'nizi tek adımda sıkıştırıp kaydetmek için CompressAndSaveAs çağırın. Bu süreç, kaliteyi koruyarak dosya boyutunda önemli bir küçülme sağlar.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPdf yükleyin
PM > Install-Package IronPdf -
Bu kod parçasını kopyalayıp çalıştırın.
PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronPDF kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı (3 adım)
- NuGet'ten PDF sıkıştırma için C# kütüphanesini indirin
- Mevcut bir PDF'yi içe aktarın veya yeni bir PDF oluşturun.
CompressAndSaveAs(outputPath, quality, removeStructureTree)çağırarak görüntüleri sıkıştırın, opsiyonel olarak yapı ağacını çıkarın ve kaydedin — hepsi bir adımda
CompressImages, CompressStructTree ve Compress(CompressionOptions) gibi önceki sıkıştırma yöntemleri kullanılmamaktadır.
PDF'lerde Görüntüleri Nasıl Sıkıştırırım?
JPEG sıkıştırma kalitesi, 0 (maksimum sıkıştırma) ile 100 (minimum kayıp) arasında değerler alır ve temel motor, değerin nasıl uygulanacağını belirler. Gömülü görüntüler içeren PDF'lerle çalışırken veya yazı tiplerini ve grafikleri yönetmeniz gerektiğinde bu seviyeleri anlamak yararlıdır.
- %90 ve üzeri: yüksek kalite
- %80-%90: orta kalite
- %70-%80: düşük kalite
Çeşitli değerlerle deneyerek kalite ve dosya boyutu arasında denge sağlayabilirsiniz. Kalite azaltımı, girdi görüntü türüne dayalı olarak değişir — bazı görüntüler diğerlerine göre daha belirgin netlik kaybı gösterir. Azure Blob Depolamadan görüntülerle çalışırken veya özel filigranlarla PDF oluştururken bu özellikle önemlidir.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-image.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Compress images in the PDF
pdf.CompressAndSaveAs("compressed.pdf", 40);
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Compress images in the PDF
pdf.CompressAndSaveAs("compressed.pdf", 40)
Görüntü Sıkıştırmadan Ne Sonuçlar Bekleyebilirim?
%39,24 oranında azaltıldı!
Kalite Parametresi Nasıl Çalışır?
quality parametresi, her bir gömülü görüntüye uygulanan JPEG kodlama kalitesini kontrol eder. 0 (maksimum sıkıştırma, en düşük kalite) ile 100 (minimal sıkıştırma, en yüksek kalite) arasında bir tamsayı veya görüntü sıkıştırmayı tamamen atlamak için null geçin.
IronPDF, sıkıştırma sırasında görüntüleri otomatik olarak yeniden kodlar ve ölçeklendirir, bu yüzden ek seçenekler gerekli değildir. Düşük değerler daha küçük dosyalar üretir ancak görünür artefaktlar oluşturabilir — içeriğiniz için doğru dengeyi bulmak için deneyin.
PDF Ağaç Yapısını Nasıl Sıkıştırırım?
Bu özellik, Chrome Motoru tarafından oluşturulan ağaç yapısını kaldırarak PDF boyutunu azaltır. Bunu etkinleştirmek için üçüncü parametre olarak removeStructureTree: true geçin. Chrome Motoru tarafından oluşturulan ve geniş tablo verileri içeren PDF'lerle en etkili olanıdır. Bazı görüntüleme motorları, bu yapıya sahip olmayan PDF'ler çıktısı verir, bu durumlarda özellik etkisiz hale gelir. Bu teknik, karmaşık düzenlerle veya tekrarlı yapısal ögelerle birden fazla PDF'yi birleştirme işlemlerinde değerlidir.
Ağaç yapısının kaldırılması metin vurgulama ve çıkarma etkinliğini etkileyebilir. Kullanıcıların sıkıştırılmış PDF'lerden metin ve görüntü çıkarması gerektiğinde sıkıştırma uygularken bu değiş tokuşu dikkate alın.
Test CompressAndSaveAs with tree structure removal using this PDF with table data.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-tree-structure.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("table.pdf");
// Compress tree structure in PDF
pdf.CompressAndSaveAs("compressedTable.pdf", null, true);
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("table.pdf")
' Compress tree structure in PDF
pdf.CompressAndSaveAs("compressedTable.pdf", Nothing, True)
Ağaç Yapısı Sıkıştırması Hangi Dosya Boyutu Azaltımını Sağlar?
%67,90 oranında azaltıldı! Bu yüzde, daha büyük tablo PDF'leriyle artar.
Her İki Sıkıştırma Yöntemini Bir Arada Nasıl Uygularım?
CompressAndSaveAs tek bir çağrıda hem görüntü hem de ağaç yapısı sıkıştırmasını halleder — quality değerini geçin ve removeStructureTree 'yi true olarak ayarlayın. Bu birleşik yaklaşım, grafikler içeren raporlar veya gömülü tablolar ve grafiklerle dokümanlar gibi yapılandırılmış veriler ve görüntüler içeren karmaşık PDF'ler için özellikle etkilidir.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-compress.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Configure compression with automatic optimization
pdf.CompressAndSaveAs("compressed.pdf", 80, true);
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Configure compression with automatic optimization
pdf.CompressAndSaveAs("compressed.pdf", 80, True)
CompressAndSaveAs Parametreleri Nelerdir?
-
outputPath(string): Sıkıştırılmış PDF'nin kaydedileceği dosya yolu. -
quality(int?, 0–100): Her gömülü görüntüye uygulanan JPEG kalitesi. Düşük değerler daha küçük dosyalar üretir. Görüntü sıkıştırmayı tamamen atlamak içinnullgeçin. removeStructureTree(bool, varsayılanfalse):trueolduğunda, dosya boyutunu daha da azaltmak için PDF yapı ağacını çıkarır. Tablolar içeren HTML ile oluşturulmuş PDF'ler için en etkili olanıdır.
Sıkıştırma uygularken kullanım durumunuzu dikkate alın. Arşivleme amacı kaliteyi dosya boyutuna tercih edebilir. Web dağıtımı daha küçük dosyalar gerektirebilir. PDF/A uyumlu belgeler veya standart PDF'ler ile çalışıp çalışmadığınıza bağlı olarak ayarları hassas bir şekilde ayarlayın.
PDF'leri Diske Kaydetmeden Nasıl Sıkıştırırım?
API yanıtları, bulut işlevleri veya e-posta ekleri gibi birçok gerçek dünya senaryosunda, sıkıştırılmış bir PDF'yi diske yazmak gereksiz veya pratik değildir.
CompressPdfToBytes sıkıştırılmış PDF'yi bir bayt dizisi olarak geri döndürür, çıktı üzerinde nasıl depolandığı veya iletildiği konusunda size tam kontrol sağlar. CompressPdfToBytes ve CompressPdfToStream, sıkıştırmanın nasıl gerçekleştirileceğini kontrol eden isteğe bağlı bir CompressionMode parametresini kabul eder.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-to-bytes.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Compress and return as byte array
byte[] compressedBytes = pdf.CompressPdfToBytes();
File.WriteAllBytes("compressed.pdf", compressedBytes);
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Compress and return as byte array
Dim compressedBytes As Byte() = pdf.CompressPdfToBytes()
File.WriteAllBytes("compressed.pdf", compressedBytes)
Hangi CompressionMode Seçenekleri Mevcuttur?
Farklı dağıtım ortamlarının disk erişimi ve performansla ilgili farklı kısıtlamaları vardır. CompressionMode ENUM'u doğru dengeyi seçmenizi sağlar.
-
Automatic(varsayılan): Sistem yeteneklerine dayalı olarak en uygun sıkıştırma yöntemini seçer. ÖnceHighQualitydener ve disk erişimi kısıtlıysaFastMemory'e geri döner. -
FastMemory: Sıkıştırmayı tamamen bellekte, disk I/O'suz olarak gerçekleştirir. En hızlı seçenek ancak görüntü yeniden örneklemesi veya düşürmesi uygulanmaz, daha büyük çıkış dosyaları üretir. HighQuality: Geçici disk erişimini kullanarak maksimum sıkıştırma uygular. Tam görüntü optimizasyonu ile en küçük çıkış dosyalarını üretir. Sistem geçici dizinine yazma izinleri gerektirir.
Bayt dizisi yerine bir Stream'ya ihtiyaçınız varsa, CompressPdfToStream kullanın. Bu, doğrudan bir HTTP yanıtına, bulut depolama yüklemesine veya herhangi bir akış tabanlı iş akışına borulandığında kullanışlıdır.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-to-stream.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Compress and return as Stream
using var compressedStream = pdf.CompressPdfToStream();
File.WriteAllBytes("compressed.pdf", compressedStream.ToArray());
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Compress and return as Stream
Using compressedStream = pdf.CompressPdfToStream()
File.WriteAllBytes("compressed.pdf", compressedStream.ToArray())
End Using
CompressPdfToBytes ve CompressPdfToStream artık tüm IronPDF platformlarında, Java, Node.js ve Python dahil olmak üzere mevcuttur.
Başka neler yapabileceğinizi görmek için hazır mısınız? Eğitim sayfamıza buradan göz atın: Ek Özellikler
Sıkça Sorulan Sorular
PDF dosya boyutu sıkıştırma ile ne kadar azaltilabilir?
IronPDF, görüntü sıkıştırma ve yapi optimizasyonu yoluyla PDF dosya boyutunu %75'e kadar azaltabilir. Gösterilen örnekte, bir dosya görüntü sikisirma teknikleri kullanilarak %39,24 oraninda azaltildi.
IronPDF, C#'da PDFleri nasıl sıkıştırir?
IronPDF, sıkıştırma işlevini tek bir metodla yönetir — CompressAndSaveAs. Gomulu görüntü boyutlarini esnek bir JPEG kalite (0-100) kullanarak kucultur ve table agirlikli belgeler için önemli olan PDF'in ic yapisini temizlemek için removeStructureTree: true olarak ayarlayabilir.
PDFlerde JPEG sıkıştırma için hangi kalite seviyelerini kullanmaliyim?
IronPDF, JPEG sıkıştırma kalitesini %1'den %100'e kadar destekler. Tavsiye edilen seviyeler: yüksek kalite için %90 ve uzeri, orta kalite için %80-%90, dusuk kalite için %70-%80. Optimum ayar, dosya boyutu ve gorunus kalitesi gereksinimleriniz arasindaki dengeye baglidir.
Bir satir kod ile PDF sıkıştırabilir miyim?
Evet, IronPDF, PDF sıkıştırmasini tek bir satir kodda saglar: PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40); Bu PDF'i yükler, görüntüleri %40 kalite ile sıkıştırir ve sonucu kaydeder.
Sıkıştırma HTML'den oluşturulan PDF'lerle çalışir mi?
Evet, IronPDF'in sıkıştırma özellikleri, HTML string'den PDF dönüşümleri, URL'den PDF dönüşümleri ve HTML dosya dönüşümleri dahil olmak uzere çeşitli yöntemlerle oluşturulan PDF'lerle, ayrica mevcut PDF dosyalariyla sorunsuz çalışir.
Hangi turdeki içerikler en çok PDF sıkıştırmasindan faydalanir?
Görüntüler genellikle PDF dosya boyutlarinin büyük kismunu tukettigi için, görüntü agirlikli belgeler sıkıştırma için ideal adaylardir. Ayni zamanda, kompleks tablo yapilarina sahip PDF'ler de IronPDF'in yapi agaci sıkıştırma özelliginden faydalanir.
PDF'i diske kaydetmeden sıkıştırabilir miyim?
Evet, IronPDF CompressPdfToBytes ve CompressPdfToStream metodlarini saglar, bu metodlar sıkıştırilmis PDF'i sirasiyla bir byte dizisi veya Stream olarak dondurur. Her iki metod da Automatic, FastMemory veya HighQuality sıkıştırma için opsiyonel bir CompressionMode parametresi kabul eder.
PDF sıkıştırma C# disindaki dillerde mevcut mu?
Evet, CompressPdfToBytes ve CompressPdfToStream şimdi butun IronPDF platformlarinda mevcut, Java, Node.js, ve Python dahil.

