هذا حل احترافي للضغط DOCX باستخدام C#, F#, VB.NET. استخدم DOCX واجهة برمجة تطبيقات التحسين الخاصة بنا لتطوير برامج عالية المستوى مستقلة عن النظام الأساسي للأنظمة الأساسية .NET و .NET Core. جربه على الإنترنت مجانا!
اجعل ملفات DOCX الكبيرة أصغر دون فقدان الجودة. احذف البيانات غير الضرورية وغير المستخدمة. تقليص حجم ملف DOCX في التعليمات البرمجية. توفر مكتبة C# للمطورين واجهة برمجة تطبيقات متكاملة لتحسين محتوى DOCX.
تعد مكتبة C# حلاً قائمًا بذاته ولا يتطلب تثبيت أي برنامج تابع لجهة خارجية.
أصبح الضغط بلا خسائر وتحسين المحتوى العميق أمرًا سهلاً باستخدام 'Aspose.Words for .NET'. يوضح المثال التالي كيفية تحسين محتوى ملف DOCX 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.
لمزيد من التفاصيل يرجى الرجوع إلى وثائق المنتج.