CurrentShape
ImageSavingArgs.CurrentShape property
يحصل علىShapeBase
الكائن المقابل للشكل أو شكل المجموعة الذي سيتم حفظه.
public ShapeBase CurrentShape { get; }
ملاحظات
IImageSavingCallback
يمكن تشغيله أثناء حفظ شكل أو شكل مجموعة. لهذا السبب تحتوي الخاصية علىShapeBase
النوع. يمكنك التحقق مما إذا كان شكل المجموعة بمقارنة ShapeType
معGroup أو عن طريق إرساله إلى إحدى الفئات المشتقة: Shape
أوGroupShape
.
يستخدم Aspose.Words اسم ملف المستند ورقمًا فريدًا لإنشاء اسم ملف فريد لكل صورة موجودة في المستند. يمكنك استخدامCurrentShape
خاصية لإنشاء اسم ملف “أفضل” لـ من خلال فحص خصائص الشكل مثلTitle
(الشكل فقط)،SourceFullName
(الشكل فقط) وName
بالطبع يمكنك إنشاء أسماء الملفات باستخدام أي خصائص أو معايير أخرى ولكن لاحظ أن أسماء الملفات الفرعية يجب أن تكون فريدة ضمن عملية التصدير.
قد لا تتوفر بعض الصور في المستند. للتحقق من توفر الصور، استخدم IsImageAvailable
ملكية.
أمثلة
يوضح كيفية إشراك استدعاء حفظ الصورة في عملية تحويل HTML.
public void ImageSavingCallback()
{
Document doc = new Document(MyDir + "Rendering.docx");
// عندما نحفظ المستند في HTML، يمكننا تمرير كائن SaveOptions لتعيين معاودة الاتصال
// لتخصيص عملية حفظ الصورة.
HtmlSaveOptions options = new HtmlSaveOptions();
options.ImageSavingCallback = new ImageShapePrinter();
doc.Save(ArtifactsDir + "HtmlSaveOptions.ImageSavingCallback.html", options);
}
/// <summary>
/// طباعة خصائص كل صورة أثناء عملية الحفظ التي تحفظها في ملف صورة في نظام الملفات المحلي
/// أثناء تصدير المستند إلى HTML.
/// </summary>
private class ImageShapePrinter : IImageSavingCallback
{
void IImageSavingCallback.ImageSaving(ImageSavingArgs args)
{
args.KeepImageStreamOpen = false;
Assert.True(args.IsImageAvailable);
Console.WriteLine($"{args.Document.OriginalFileName.Split('\\').Last()} Image #{++mImageCount}");
LayoutCollector layoutCollector = new LayoutCollector(args.Document);
Console.WriteLine($"\tOn page:\t{layoutCollector.GetStartPageIndex(args.CurrentShape)}");
Console.WriteLine($"\tDimensions:\t{args.CurrentShape.Bounds}");
Console.WriteLine($"\tAlignment:\t{args.CurrentShape.VerticalAlignment}");
Console.WriteLine($"\tWrap type:\t{args.CurrentShape.WrapType}");
Console.WriteLine($"Output filename:\t{args.ImageFileName}\n");
}
private int mImageCount;
}
أنظر أيضا
- class ShapeBase
- class ImageSavingArgs
- مساحة الاسم Aspose.Words.Saving
- المجسم Aspose.Words