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!
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.
Ü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:
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;
}
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:
Ürünümüz tamamen platformlar arasıdır ve tüm önemli .NET uygulamalarını destekler:
.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.
Dosyaları diğer birçok dosya biçiminde optimize edebilirsiniz: