کد فشرده سازی PDF در C#

کتابخانه .NET با کارایی بالا برای بهینه سازی محتوا و اندازه PDF با حفظ کیفیت اصلی و داده های پایه

این یک راه حل حرفه ای برای فشرده سازی PDF با استفاده از C#, F#, VB.NET است. از API بهینه‌سازی PDF ما برای توسعه نرم‌افزار سطح بالا و مستقل از پلتفرم برای پلتفرم‌های .NET و .NET Core استفاده کنید. آن را به صورت آنلاین به صورت رایگان امتحان کنید!

مشاهده قطعه کد

PDF را در C# فشرده کنید

این کتابخانه C# به توسعه دهندگان این امکان را می دهد که اسناد PDF را به سرعت و کارآمد فشرده کنند. به راحتی خروجی PDF بهینه شده را برای چاپ، بایگانی یا اشتراک گذاری از طریق شبکه آماده کنید. این یک راه حل مستقل پردازش اسناد PDF برای C# است که نیازی به نصب نرم افزار شخص ثالث ندارد.

اندازه یک PDF را با استفاده از C# کاهش دهید

محصول ما به توسعه دهندگان C# یک API یکپارچه برای کاهش اندازه فایل های PDF ارائه می دهد. فشرده سازی PDF در دو پاس انجام می شود. در طی اولین پاس، تمام صفحات PDF به فرمت تصویر تبدیل می شوند. محصول ما از الگوریتم‌های فشرده‌سازی تصویر تطبیقی و بسیار کارآمد استفاده می‌کند که به توسعه‌دهندگان اجازه می‌دهد با حفظ کیفیت مطلوب سند، خروجی فشرده PDF را دریافت کنند. در پاس بعدی، توالی تصاویر فشرده شده و ترکیب می شود تا محتوای یک فایل PDF جدید و بهینه شده را تشکیل دهد.

فشرده‌سازی PDF با "Aspose.Words برای .NET" آسان شد. مثال زیر نحوه کاهش اندازه یک فایل PDF در C# را نشان می دهد:

نمونه کد در C# برای فشرده سازی PDF فایل
فایلی را که می خواهید بهینه سازی/فشرده سازی کنید آپلود کنید
کد را اجرا کنید
قالب مورد نظر را از لیست انتخاب کنید
50%
dotnet add package Aspose.Words
کپی 🀄
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)
{
    // حداکثر اندازه صفحه را تنظیم کنید تا از تغییر مقیاس تصویر صفحه فعلی جلوگیری کنید.
    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) { // انتخاب کتابخانه برای فشرده سازی تصویر به عهده توسعه دهنده است. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // تصویر را فشرده کنید و آن را به شکل برگردانید. 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) { // انتخاب کتابخانه برای فشرده سازی تصویر به عهده توسعه دهنده است. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // تصویر را فشرده کنید و آن را به شکل برگردانید. 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) { // انتخاب کتابخانه برای فشرده سازی تصویر به عهده توسعه دهنده است. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // تصویر را فشرده کنید و آن را به شکل برگردانید. 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) { // حداکثر اندازه صفحه را تنظیم کنید تا از تغییر مقیاس تصویر صفحه فعلی جلوگیری کنید. 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; }
کد را اجرا کنید

نحوه فشرده سازی PDF در C#

  1. Aspose.Words for .NET نصب کنید.
  2. یک مرجع کتابخانه (وارد کردن کتابخانه) به پروژه C# خود اضافه کنید.
  3. فایل منبع PDF را در C# باز کنید.
  4. PDF را بدون از دست دادن کیفیت فشرده کنید.
  5. متد Document.Cleanup() فراخوانی کنید. کد به دست آمده ممکن است بسته به فرمت فایل خروجی متفاوت باشد.
  6. نتیجه فشرده شده را به صورت فایل PDF دریافت کنید.

کتابخانه C# برای بهینه سازی و فشرده سازی PDF فایل

سه گزینه جایگزین برای نصب "Aspose.Words برای .NET" بر روی سیستم شما وجود دارد. لطفاً یکی را انتخاب کنید که شبیه نیازهای شما باشد و دستورالعمل های گام به گام را دنبال کنید:

سیستم مورد نیاز

محصول ما کاملاً کراس پلتفرم است و از تمامی پیاده سازی های اصلی دات نت پشتیبانی می کند:

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

تا آنجا که کد دات نت به سخت افزار یا سیستم عامل اصلی بستگی ندارد، بلکه فقط به یک ماشین مجازی بستگی دارد، شما می توانید هر نوع نرم افزاری را برای Windows، macOS، Android، iOS و Linux توسعه دهید. فقط مطمئن شوید که نسخه مربوطه .NET Framework, .NET Core, Windows Azure, Mono یا Xamarin را نصب کرده اید.

توصیه می کنیم از محیط های توسعه یکپارچه Microsoft Visual Studio، Xamarin و MonoDevelop برای ایجاد برنامه های C#, F#, VB.NET استفاده کنید.

برای جزئیات بیشتر لطفاً به مستندات محصول مراجعه کنید.

سایر بهینه سازی های فرمت فایل پشتیبانی شده

شما می توانید فایل ها را در بسیاری از فرمت های فایل دیگر بهینه سازی کنید:

5%

در به‌روزرسانی‌های محصول Aspose مشترک شوید

خبرنامه ها و پیشنهادات ماهانه را مستقیماً به صندوق پستی خود تحویل بگیرید.

© Aspose Pty Ltd 2001-2024. تمامی حقوق محفوظ است.