قم بتطوير برنامج باستخدام واجهة برمجة تطبيقات متقدمة لتحسين المستندات، وإنشاء رمز عالي المستوى ومستقل عن النظام الأساسي لمنصات .NET و .NET Core. هذا حل قوي لضغط المستندات والصور في C#, F#, VB.NET.
جعل الملفات الكبيرة أصغر دون فقدان الجودة. احذف البيانات غير الضرورية وغير المستخدمة. تقليص حجم ملفات Word و HTML في C#. توفر مكتبة C# للمطورين واجهة برمجة تطبيقات متكاملة لتحسين المستندات بتنسيقات مختلفة.
تعد مكتبة C# حلاً مستقلاً ولا تتطلب تثبيت أي برنامج تابع لجهة خارجية.
يمكن الحصول على أقصى تأثير من خلال تحسين الصور عالية الدقة، وكذلك المستندات التي تحتوي على مثل هذه الصور. ستساعدك مكتبة C# على ضغط ملفات HTML و DOCX و DOC و RTF و ODT و EPUB و HTML و JPG و PNG.
أصبح تحسين المستندات دون فقدان الجودة أمرًا سهلاً باستخدام 'Aspose.Words for .NET'. يوضح المثال التالي كيفية تقليص حجم Word في C#:
dotnet add package Aspose.Words
ينسخ
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx", saveOptions);
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx", saveOptions);
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx");
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx", saveOptions);
using Aspose.Words;
var doc = new Document();
var builder = new DocumentBuilder(doc);
var shape = builder.InsertImage("Input.docx");
var saveOptions = new ImageSaveOptions(SaveFormat.Docx)
{
};
shape.GetShapeRenderer().Save("Output.docx", saveOptions);
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;
using var pdfStream = File.OpenRead("Input.docx");
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.docx", saveOptions);
private void SetPageSize(PageSetup pageSetup, double width, double height)
{
pageSetup.PageWidth = width;
pageSetup.PageHeight = height;
}
هناك ثلاثة خيارات بديلة لتثبيت "Aspose.Words for .NET" على نظامك. يرجى اختيار واحد يناسب احتياجاتك واتبع التعليمات خطوة بخطوة:
منتجنا متعدد المنصات بالكامل ويدعم جميع تطبيقات .NET الرئيسية:
بقدر ما لا يعتمد كود .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.
لمزيد من التفاصيل يرجى الرجوع إلى وثائق المنتج.