C# PDF sıkıştırmak için kod

Orijinal kaliteyi ve temel verileri koruyarak PDF içeriğini ve boyutunu optimize etmek için yüksek performanslı .NET kitaplığı

Bu, PDF i C#, F#, VB.NET kullanarak sıkıştırmak için profesyonel bir çözümdür. .NET ve .NET Core platformları için üst düzey, platformdan bağımsız yazılım geliştirmek için PDF optimizasyon API'mizi kullanın. Ücretsiz olarak çevrimiçi deneyin!

Kod parçacığını görüntüle

C#'te PDF'yi sıkıştır

Bu C# kitaplığı, geliştiricilere PDF belgelerini programlı olarak hızlı ve verimli bir şekilde sıkıştırma yeteneği sağlar. Ağ üzerinden yazdırma, arşivleme veya paylaşma için kolayca optimize edilmiş PDF çıktısı alın. C# için herhangi bir üçüncü taraf yazılımının yüklenmesini gerektirmeyen bağımsız bir PDF belge işleme çözümüdür.

C# kullanarak bir PDF'nin boyutunu küçültme

Ürünümüz, C# geliştiricilerine PDF dosyalarının boyutunu küçültmek için entegre bir API sağlar. PDF sıkıştırması iki geçişte gerçekleştirilir. İlk geçiş sırasında, PDF'nin tüm sayfaları görüntü formatına dönüştürülür. Ürünümüz, geliştiricilerin belgenin en iyi kalitesini korurken kompakt PDF çıktısı almasına olanak tanıyan uyarlanabilir ve yüksek verimli görüntü sıkıştırma algoritmaları kullanır. Bir sonraki geçişte, görüntü dizisi sıkıştırılır ve yeni, optimize edilmiş bir PDF dosyasının içeriğini oluşturmak için birleştirilir.

'Aspose.Words for .NET' ile PDF sıkıştırması kolaylaştı. Aşağıdaki örnek, C#'te bir PDF dosyasının boyutunun nasıl küçültüldüğünü gösterir:

PDF dosyayı sıkıştırmak için C# içindeki kod örneği
Optimize etmek/sıkıştırmak istediğiniz bir dosyayı yükleyin
Kodu çalıştır
Listeden hedef formatı seçin
50%
dotnet add package Aspose.Words
Kopyala
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;

using var pdfStream = File.OpenRead("Input.pdf");

var renderer = new PdfFixedRenderer();
var pdfReadOptions = new PdfFixedOptions
{
    ImageFormat = FixedImageFormat.Jpeg,
    JpegQuality = 50
};

const double maxPageDimension = 1584;
var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions);

var builder = new DocumentBuilder();
for (var i = 0; i < pagesStream.Count; ++i)
{
    // Geçerli sayfa görüntü ölçeklemesinden kaçınmak için maksimum sayfa boyutunu ayarlayın.
    var pageSetup = builder.PageSetup;
    SetPageSize(pageSetup, maxPageDimension, maxPageDimension);

    var pageImage = builder.InsertImage(pagesStream[i]);

    SetPageSize(pageSetup, pageImage.Width, pageImage.Height);
    pageSetup.TopMargin = 0;
    pageSetup.LeftMargin = 0;
    pageSetup.BottomMargin = 0;
    pageSetup.RightMargin = 0;

    if (i != pagesStream.Count - 1)
        builder.InsertBreak(BreakType.SectionBreakNewPage);
}

var saveOptions = new PdfSaveOptions
{
    CacheBackgroundGraphics = true
};

builder.Document.Save("Output.pdf", saveOptions);

private void SetPageSize(PageSetup pageSetup, double width, double height)
{
    pageSetup.PageWidth = width;
    pageSetup.PageHeight = height;
}
using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // Görüntü sıkıştırma için kitaplığı seçmek geliştiriciye kalmıştır. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Resmi sıkıştırın ve şekle geri ayarlayın. shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // Görüntü sıkıştırma için kitaplığı seçmek geliştiriciye kalmıştır. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Resmi sıkıştırın ve şekle geri ayarlayın. shape.ImageData.SetImage("yourCompressedImage"); } } doc.Save("Output.pdf"); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // Görüntü sıkıştırma için kitaplığı seçmek geliştiriciye kalmıştır. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Resmi sıkıştırın ve şekle geri ayarlayın. shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new OoxmlSaveOptions { CompressionLevel = CompressionLevel.Maximum }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document(); var builder = new DocumentBuilder(doc); var shape = builder.InsertImage("Input.pdf"); var saveOptions = new ImageSaveOptions(SaveFormat.Pdf) { }; shape.GetShapeRenderer().Save("Output.pdf", saveOptions); using Aspose.Words; using Aspose.Words.Pdf2Word.FixedFormats; using var pdfStream = File.OpenRead("Input.pdf"); var renderer = new PdfFixedRenderer(); var pdfReadOptions = new PdfFixedOptions { ImageFormat = FixedImageFormat.Jpeg, JpegQuality = 50 }; const double maxPageDimension = 1584; var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions); var builder = new DocumentBuilder(); for (var i = 0; i < pagesStream.Count; ++i) { // Geçerli sayfa görüntü ölçeklemesinden kaçınmak için maksimum sayfa boyutunu ayarlayın. var pageSetup = builder.PageSetup; SetPageSize(pageSetup, maxPageDimension, maxPageDimension); var pageImage = builder.InsertImage(pagesStream[i]); SetPageSize(pageSetup, pageImage.Width, pageImage.Height); pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; if (i != pagesStream.Count - 1) builder.InsertBreak(BreakType.SectionBreakNewPage); } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; builder.Document.Save("Output.pdf", saveOptions); private void SetPageSize(PageSetup pageSetup, double width, double height) { pageSetup.PageWidth = width; pageSetup.PageHeight = height; }
Kodu çalıştır

C# içinde PDF nasıl sıkıştırılır

  1. Aspose.Words for .NET yükleyin.
  2. C# projenize bir kitaplık referansı ekleyin (kitaplığı içe aktarın).
  3. Kaynak PDF dosyasını C# içinde açın.
  4. PDF öğesini kaliteden ödün vermeden sıkıştırın.
  5. Document.Cleanup() yöntemini çağırın. Ortaya çıkan kod, çıktı dosyası biçimine bağlı olarak değişebilir.
  6. Sıkıştırılmış sonucu bir PDF dosyası olarak alın.

PDF dosyaları optimize etmek ve sıkıştırmak için C# kitaplığı

Aspose.Words for .NET sisteminize kurmak için üç alternatif seçenek vardır. Lütfen ihtiyaçlarınıza uygun olanı seçin ve adım adım talimatları izleyin:

sistem gereksinimleri

Ürünümüz tamamen platformlar arasıdır ve tüm önemli .NET uygulamalarını destekler:

  • .NET ≥ 5.0
  • .NET Core ≥ 2.0
  • .NET Standard ≥ 2.0
  • .NET Framework ≥ 3.5
  • MonoMac
  • MonoAndroid
  • Xamarin

.NET kodunun temel donanıma veya işletim sistemine bağlı olmadığı, yalnızca bir Sanal Makineye bağlı olduğu sürece Windows, macOS, Android, iOS ve Linux için her türlü yazılımı geliştirmekte özgürsünüz. İlgili .NET Framework, .NET Core, Windows Azure, Mono veya Xamarin sürümünü yüklediğinizden emin olun.

C#, F#, VB.NET uygulamaları oluşturmak için Microsoft Visual Studio, Xamarin ve MonoDevelop entegre geliştirme ortamlarını kullanmanızı öneririz.

Daha fazla ayrıntı için lütfen Ürün Dokümantasyonuna bakın.

Desteklenen diğer dosya formatı optimizasyonları

Dosyaları diğer birçok dosya biçiminde optimize edebilirsiniz:

5%

Aspose Ürün Güncellemelerine Abone Olun

Doğrudan posta kutunuza teslim edilen aylık bültenleri ve teklifleri alın.

© Aspose Pty Ltd 2001-2024. Her hakkı saklıdır.