تحويل شرائح العروض التقديمية إلى صور في .NET

المقدمة

Aspose.Slides for .NET يمكنه تصيير شرائح فردية من عروض PowerPoint و OpenDocument كصور PNG أو JPEG أو GIF أو TIFF وغيرها من صيغ الصور.

لتحويل شريحة إلى صورة، اتبع الخطوات التالية:

  1. حمّل العرض باستخدام الفئة Presentation.
  2. اختر الشريحة التي تريد تصييرها.
  3. إذا لزم الأمر، اضبط إعدادات التصيير باستخدام الفئة RenderingOptions أو TiffOptions.
  4. استدعِ الطريقة GetImage. ستُعيد كائنًا من النوع IImage.
  5. استدعِ الطريقة IImage.Save وحدد صيغة الإخراج باستخدام قيمة من النوع ImageFormat.

تحويل شريحة إلى صورة PNG

أبسط طريقة للتحويل هي استخدام إعدادات التصيير الافتراضية. يمكن معالجة كائن IImage الناتج في الذاكرة أو حفظه إلى ملف.

مثال C# التالي يصيّر الشريحة الأولى ويحفظها كصورة PNG:

using Aspose.Slides;

using var presentation = new Presentation("Presentation.pptx");
var slide = presentation.Slides[0];

using var image = slide.GetImage();
image.Save("Slide_0.png", ImageFormat.Png);

تحويل الشرائح إلى صور بأحجام مخصصة

استخدم التحميل الزائد للطريقة GetImage الذي يقبل قيمة من النوع Size لتصِيير الشريحة بأبعاد بكسلية محدَّدة.

المثال التالي ينشئ صورة JPEG بحجم 1820 × 1040 بكسل:

using System.Drawing;
using Aspose.Slides;

var imageSize = new Size(1820, 1040);

using var presentation = new Presentation("Presentation.pptx");
var slide = presentation.Slides[0];

using var image = slide.GetImage(imageSize);
image.Save("Slide_0.jpg", ImageFormat.Jpeg);

تحويل الشرائح مع الملاحظات والتعليقات إلى صور

بشكل افتراضي، لا تتضمن صور الشرائح الملاحظات أو التعليقات. قم بتعيين كائن من النوع NotesCommentsLayoutingOptions إلى الخاصية RenderingOptions.SlidesLayoutOptions للتحكم في موضع ظهور الملاحظات والتعليقات.

المثال التالي يضع الملاحظات المختصرة أسفل الشريحة والتعليقات إلى يمينها:

using System.Drawing;
using Aspose.Slides;
using Aspose.Slides.Export;

var scaleX = 2f;
var scaleY = scaleX;

var layoutOptions = new NotesCommentsLayoutingOptions
{
    NotesPosition = NotesPositions.BottomTruncated,
    CommentsPosition = CommentsPositions.Right,
    CommentsAreaWidth = 500,
    CommentsAreaColor = Color.AntiqueWhite
};

var renderingOptions = new RenderingOptions { SlidesLayoutOptions = layoutOptions };

using var presentation = new Presentation("Presentation_with_notes_and_comments.pptx");
var slide = presentation.Slides[0];

using var image = slide.GetImage(renderingOptions, scaleX, scaleY);
image.Save("Image_with_notes_and_comments_0.gif", ImageFormat.Gif);

تحويل الشرائح إلى صور باستخدام خيارات TIFF

الفئة TiffOptions تتيح لك التحكم في الحجم والدقة والخصائص الأخرى لصورة TIFF المصيّرة.

المثال التالي يصيّر الشريحة الأولى كصورة TIFF بحجم 2160 × 2880 بكسل بدقة 300 DPI:

using System.Drawing;
using Aspose.Slides;
using Aspose.Slides.Export;

var tiffOptions = new TiffOptions
{
    ImageSize = new Size(2160, 2880),
    DpiX = 300,
    DpiY = 300
};

using var presentation = new Presentation("sample.pptx");
var slide = presentation.Slides[0];

using var image = slide.GetImage(tiffOptions);
image.Save("output.tiff", ImageFormat.Tiff);

تحويل جميع الشرائح إلى صور

قم بالتكرار عبر مجموعة الشرائح لتحويل العرض بالكامل إلى سلسلة من الصور. تُضمّن الشرائح المخفية ما لم تقم بتخطيها صراحةً.

المثال التالي يصيّر كل شريحة كصورة JPEG مع عوامل مقياس أفقية وعمودية بقيمة 2:

using Aspose.Slides;

var scaleX = 2f;
var scaleY = scaleX;

using var presentation = new Presentation("Presentation.pptx");

var slideCount = presentation.Slides.Count;
for (var index = 0; index < slideCount; index++)
{
    var slide = presentation.Slides[index];
    using var image = slide.GetImage(scaleX, scaleY);
    image.Save($"Slide_{index}.jpg", ImageFormat.Jpeg);
}

إنشاء مخرجات Enhanced Metafile

Enhanced Metafile (EMF) مفيدة عندما يجب تبادل رسومات تعتمد على المتجهات مع Microsoft Office أو تطبيقات Windows الأخرى التي تدعم ملفات Windows metafile. على عكس الصورة القائمة على البكسل، يمكن لـ EMF الاحتفاظ بعمليات الرسم المتجهية التي تتوسع دون فقدان الحدة. ومع ذلك، تُعد EMF في الأساس صيغة توافق لتطبيقات تدعم ملفات Windows metafile، وليست صيغة تبادل شاملة. بالإضافة إلى ذلك، قد يتم تخزين محتوى شريحة معقد، مثل الصور النقطية وبعض التأثيرات، كعناصر مُرصّصة داخل حاوية ملف المتجه.

تصدير شريحة إلى EMF

الطريقة ISlide.WriteAsEmf تكتب كائن ISlide إلى تدفق الهدف بصيغة EMF. المثال التالي يحمل عرضًا، يختار الشريحة الأولى، ويكتبها إلى تدفق ملف EMF:

using System.IO;
using Aspose.Slides;

using var presentation = new Presentation("Presentation.pptx");
var slide = presentation.Slides[0];

using var emfStream = File.Create("Slide_0.emf");
slide.WriteAsEmf(emfStream);

المستدعي هو المسؤول عن تدفق البيانات الممرّر إلى ISlide.WriteAsEmf ويجب إغلاقه أو التخلص منه. يقوم Aspose.Slides بالكتابة في الموضع الحالي للتدفق ويترك التدفق مفتوحًا.

تحويل صورة SVG إلى EMF وإضافتها إلى عرض

استخدم ISvgImage.WriteAsEmf لتحويل محتوى SVG إلى EMF. يمكن إضافة البايتات الناتجة إلى العرض عبر IImageCollection.AddImage ووضعها على شريحة باستخدام IShapeCollection.AddPictureFrame.

المثال التالي ينشئ كائن SvgImage من تعليمات SVG، يحوله إلى EMF في الذاكرة، يدرج الملف المتجه على الشريحة الأولى، ويحفظ العرض:

using System.IO;
using Aspose.Slides;
using Aspose.Slides.Export;

var svgContent = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"100\"><rect width=\"200\" height=\"100\" fill=\"#4472C4\"/></svg>";
var svgImage = new SvgImage(svgContent);

using var presentation = new Presentation();
var slide = presentation.Slides[0];

using var emfStream = new MemoryStream();
svgImage.WriteAsEmf(emfStream);

emfStream.Position = 0;
var image = presentation.Images.AddImage(emfStream);
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 20, 20, 200, 100, image);

presentation.Save("Presentation_with_emf.pptx", SaveFormat.Pptx);

ISvgImage.WriteAsEmf لا يتولى ملكية تدفق الوجهة. بعد الكتابة، يكون موضع التدفق في نهاية البيانات المُولدة. أعد تعيين Position إلى البداية قبل تمرير نفس التدفق القابل للبحث إلى القارئ، كما هو موضح أعلاه. حافظ على التدفق مفتوحًا حتى ينتهي المستهلك من قراءته، ثم حرره. بدلاً من ذلك، استدعِ ToArray ومرّر المصفوفة البايتية الناتجة إلى IImageCollection.AddImage؛ ToArray تُعيد كامل المخزن بغض النظر عن موضع التدفق الحالي.

تتوفر عملية توليد EMF على أنظمة التشغيل المدعومة من بنية Aspose.Slides for .NET المختارة، لكن عملية التصيير قد تختلف بين الأنظمة عندما تكون الخطوط أو تبعيات الرسوميات الأصلية غير متوفرة. ثبّت الخطوط المستخدمة في المحتوى الأصلي أو اضبط استبدالات ملائمة، وتبع متطلبات المنصة لحزمة Aspose.Slides الخاصة بك، وتحقق من النتيجة في التطبيق المستهلك لـ EMF المستهدف. غالبًا ما تكون تطبيقات Linux و macOS ذات دعم محدود أو غير متسق لعرض وتحرير ملفات Windows metafile.

تصيير الإيموجي الملونة

الأسئلة المتكررة

هل تدعم Aspose.Slides تصيير الشرائح مع الحركات؟

لا. الطريقة GetImage تصيّر صورة ثابتة للشريحة ولا تُصدّر الحركات.

هل يمكن تصدير الشرائح المخفية كصور؟

نعم. يمكن تصيير الشرائح المخفية مثل الشرائح العادية. أدرجها في حلقة المعالجة كما هو موضح في المثال أعلاه.

هل يتم الحفاظ على الظلال والتأثيرات الأخرى في صور الشرائح؟

نعم. تقوم Aspose.Slides بتصيير الظلال والشفافية وغيرها من التأثيرات الرسومية المدعومة في صور الشرائح.