CurrentShape

ImageSavingArgs.CurrentShape property

Şunu alır:ShapeBase kaydedilmek üzere olan şekil veya grup şekline karşılık gelen nesne

public ShapeBase CurrentShape { get; }

Notlar

IImageSavingCallback bir şekli veya bir grup şeklini kaydederken tetiklenebilir. Bu nedenle özellikShapeBase türü. ile karşılaştırarak bir grup şekli olup olmadığını kontrol edebilirsiniz.ShapeType ileGroup veya türetilmiş sınıflardan birine dönüştürerek: Shape veyaGroupShape.

Aspose.Words, belgede bulunan her görüntü için benzersiz dosya adı oluşturmak üzere belge dosya adını ve benzersiz bir numarayı kullanır.CurrentShapeşekil özelliklerini inceleyerek “daha iyi” bir dosya adı oluşturmak için özellikTitle (Yalnızca Şekil),SourceFullName (Sadece şekil) veNameElbette dosya adlarını başka herhangi bir özellik veya ölçüt kullanarak da oluşturabilirsiniz ancak yan dosya adlarının dışa aktarma işlemi içinde benzersiz olması gerektiğini unutmayın.

Belgedeki bazı resimler kullanılamayabilir. Resim kullanılabilirliğini kontrol etmek için kullanınIsImageAvailable mülk.

Örnekler

Bir HTML dönüştürme işleminde görüntü kaydetme geri aramasının nasıl dahil edileceğini gösterir.

public void ImageSavingCallback()
{
    Document doc = new Document(MyDir + "Rendering.docx");

    // Belgeyi HTML'e kaydettiğimizde, bir geri arama belirtmek için bir SaveOptions nesnesi geçirebiliriz
    // Görüntü kaydetme işlemini özelleştirmek için.
    HtmlSaveOptions options = new HtmlSaveOptions();
    options.ImageSavingCallback = new ImageShapePrinter();

    doc.Save(ArtifactsDir + "HtmlSaveOptions.ImageSavingCallback.html", options);
}

/// <summary>
/// Kaydetme işlemi görüntüyü yerel dosya sistemindeki bir görüntü dosyasına kaydederken her görüntünün özelliklerini yazdırır
/// Bir belgenin HTML'e aktarılması sırasında.
/// </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;
}

Ayrıca bakınız