الكود المراد ضغطه PDF في C#

مكتبة .NET عالية الأداء لتحسين المحتوى والحجم PDF مع الاحتفاظ بالجودة الأصلية وبيانات الأساس

هذا حل احترافي للضغط PDF باستخدام C#, F#, VB.NET. استخدم PDF واجهة برمجة تطبيقات التحسين الخاصة بنا لتطوير برامج عالية المستوى مستقلة عن النظام الأساسي للأنظمة الأساسية .NET و .NET Core. جربه على الإنترنت مجانا!

اعرض مقتطف الشفرة

ضغط ملفات PDF في C#

توفر مكتبة C# هذه للمطورين القدرة على ضغط مستندات PDF برمجيًا بسرعة وكفاءة. احصل بسهولة على إخراج PDF محسن جاهز للطباعة أو الأرشفة أو المشاركة عبر الشبكة. إنه حل معالجة مستندات PDF مستقل لجافا سكريبت ولا يتطلب تثبيت أي برنامج تابع لجهة خارجية.

قم بتقليل حجم ملف PDF باستخدام C#

يزود منتجنا مطوري C# بواجهة برمجة تطبيقات متكاملة لتقليل حجم ملفات PDF. يتم تنفيذ ضغط ملفات PDF على مرحلتين. أثناء المرور الأول، يتم تحويل جميع صفحات PDF إلى تنسيق صورة. يستخدم منتجنا خوارزميات ضغط صور قابلة للتكيف وذات كفاءة عالية تسمح للمطورين بالحصول على مخرجات PDF مضغوطة مع الحفاظ على الجودة المثلى للمستند. في التمرير التالي، يتم ضغط تسلسل الصور ودمجها لتشكيل محتوى ملف PDF جديد ومحسّن.

أصبح ضغط ملفات PDF أمرًا سهلاً باستخدام 'Aspose.Words for .NET'. يوضح المثال التالي كيفية تقليل حجم ملف PDF في C#:

مثال رمز في C# لضغط ملفات PDF
قم بتحميل الملف الذي تريد تحسينه / ضغطه
قم بتشغيل الكود
حدد التنسيق الهدف من القائمة
50%
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 pageSetup = builder.PageSetup; pageSetup.PageWidth = shape.Width; pageSetup.PageHeight = shape.Height; pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; var saveOptions = new ImageSaveOptions(SaveFormat.Pdf) { }; doc.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

  1. ثبّت Aspose.Words for .NET.
  2. أضف مرجع مكتبة (استيراد المكتبة) إلى مشروع C# الخاص بك.
  3. افتح الملف المصدر PDF في C#.
  4. ضغط PDF دون فقدان الجودة.
  5. قم باستدعاء طريقة Document.Cleanup(). قد يختلف الكود الناتج بناءً على تنسيق ملف الإخراج.
  6. احصل على النتيجة المضغوطة كملف PDF.

مكتبة C# لتحسين وضغط PDF الملفات

هناك ثلاثة خيارات بديلة لتثبيت "Aspose.Words for .NET" على نظامك. يرجى اختيار واحد يناسب احتياجاتك واتبع التعليمات خطوة بخطوة:

متطلبات النظام

منتجنا متعدد المنصات بالكامل ويدعم جميع تطبيقات .NET الرئيسية:

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

بقدر ما لا يعتمد كود .NET على الأجهزة الأساسية أو نظام التشغيل، ولكن فقط على Virtual Machine، فأنت حر في تطوير أي نوع من البرامج لأنظمة Windows، وmacOS، وAndroid، وiOS، وLinux. فقط تأكد من تثبيت الإصدار المقابل من .NET Framework, .NET Core, Windows Azure, Mono أو Xamarin.

نوصي باستخدام بيئات التطوير المتكاملة Microsoft Visual Studio وXamarin وMonoDevelop لإنشاء تطبيقات C#, F#, VB.NET.

لمزيد من التفاصيل يرجى الرجوع إلى وثائق المنتج.

تحسينات تنسيق الملفات المدعومة الأخرى

يمكنك تحسين الملفات في العديد من تنسيقات الملفات الأخرى:

5%

اشترك في Aspose Product Updates

احصل على رسائل إخبارية وعروض شهرية يتم تسليمها مباشرة إلى صندوق البريد الخاص بك.

© Aspose Pty Ltd 2001-2024. كل الحقوق محفوظة.