التغييرات العامة في واجهة برمجة التطبيقات والتغييرات غير المتوافقة إلى الوراء في Aspose.Slides لـ .NET 14.8.0
تغييرات API العامة
الخصائص التي تم تغييرها
تم إضافة الواجهة IVbaProject، وتغيير خاصية Presentation.VbaProject
تم استبدال خاصية VbaProject في فئة Presentation. بدلاً من تمثيل البايت الخام لمشروع VBA في خاصية VbaProject، تمت إضافة تنفيذ جديد للواجهة IVbaProject.
استخدم خاصية IVbaProject لإدارة مشاريع VBA المدمجة في العرض التقديمي. يمكنك إضافة مراجع مشاريع جديدة، تعديل الوحدات الحالية وإنشاء وحدات جديدة.
كما يمكنك إنشاء مشروع VBA جديد باستخدام الفئة VbaProject التي تنفّذ الواجهة IVbaProject.
يوضح المثال التالي إنشاء مشروع VBA بسيط يحتوي على وحدة واحدة وإضافة مرجعين مطلوبين إلى المكتبات.
using (Presentation pres = new Presentation())
{
// Create new VBA Project
pres.VbaProject = new VbaProject();
// Add empty module to the VBA project
IVbaModule module = pres.VbaProject.Modules.AddEmptyModule("Module");
// Set module source code
module.SourceCode =
@"Sub Test(oShape As Shape)
MsgBox ""Test""
End Sub";
// Create reference to <stdole>
VbaReferenceOleTypeLib stdoleReference =
new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Create reference to Office
VbaReferenceOleTypeLib officeReference =
new VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library");
// Add references to the VBA project
pres.VbaProject.References.Add(stdoleReference);
pres.VbaProject.References.Add(officeReference);
pres.Save("test.pptm", SaveFormat.Pptm);
}
يوضح هذا المثال كيفية نسخ مشروع VBA من عرض تقديمي موجود إلى عرض تقديمي جديد.
using (Presentation pres1 = new Presentation("PresentationWithMacroses.pptm"), pres2 = new Presentation())
{
pres2.VbaProject = new VbaProject(pres1.VbaProject.ToBinary());
}
الواجهات والخصائص وخيارات التعداد التي تم إضافتها
تم إضافة الخاصية Aspose.Slides.Charts.IChartSeries.Overlap
تحدد الخاصية Aspose.Slides.Charts.IChartSeries.Overlap مقدار التداخل بين الأعمدة والشرائح في المخططات ثنائية الأبعاد (يتراوح من -100 إلى 100).
هذه الخاصية ليست فقط لهذه السلسلة بل لجميع السلاسل في مجموعة السلسلة الأم - وهي تمثيل للخاصية المناسبة في المجموعة. وبالتالي فإن هذه الخاصية للقراءة فقط.
- استخدم الخاصية ParentSeriesGroup للوصول إلى مجموعة السلسلة الأم.
- استخدم الخاصية ParentSeriesGroup.Overlap القابلة للقراءة والكتابة لتغيير القيمة.
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 600, 400, true);
IChartSeriesCollection series = chart.ChartData.Series;
if (series[0].Overlap == 0)
{
series[0].ParentSeriesGroup.Overlap = -30;
}
}
تم إضافة الخاصية Aspose.Slides.Charts.IChartSeriesGroup.Overlap
تحدد الخاصية Aspose.Slides.Charts.IChartSeriesGroup.Overlap مقدار التداخل بين الأعمدة والشرائح في المخططات ثنائية الأبعاد (من -100 إلى 100).
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 600, 400, true);
IChartSeriesCollection series = chart.ChartData.Series;
series[0].ParentSeriesGroup.Overlap = -30;
}
تم إضافة قيمة التعداد ShapeThumbnailBounds.Appearance
تتيح لك هذه الطريقة لإنشاء صورة مصغرة للشكل توليد صورة مصغرة داخل حدود مظهره. تأخذ في الاعتبار جميع تأثيرات الشكل. تُقيد الصورة المصغرة المولدة بحدود الشريحة.
using (Presentation p = new Presentation("Presentation.pptx"))
{
Bitmap st = p.Slides[0].Shapes[0].GetThumbnail(ShapeThumbnailBounds.Appearance, 1, 1);
st.Save("ShapeThumbnail.png", ImageFormat.Png);
}