CurrentShape

ImageSavingArgs.CurrentShape property

AlırShapeBase kaydedilmek üzere olan şekline veya grup şekline karşılık gelen nesne.

public ShapeBase CurrentShape { get; }

Notlar

IImageSavingCallback bir şekil veya grup şekli kaydedilirken tetiklenebilir. Bu nedenle mülkteShapeBase tip. ‘yi karşılaştıran bir grup şekli olup olmadığını kontrol edebilirsiniz.ShapeType ileGroup veya türetilmiş sınıflardan birine aktararak: Shape veyaGroupShape.

Aspose.Words, belgede bulunan her görüntü için benzersiz dosya adı oluşturmak amacıyla belge dosya adını ve benzersiz bir numarayı kullanır. Şunu kullanabilirsiniz:CurrentShapegibi şekil özelliklerini inceleyerek “daha iyi” bir dosya adı oluşturma özelliğiTitle (Yalnızca şekil),SourceFullName (Yalnızca şekil) veName. Tabii ki, diğer herhangi bir özelliği veya kriteri ( ) kullanarak dosya adları oluşturabilirsiniz, ancak yardımcı dosya adlarının dışa aktarma işleminde benzersiz olması gerektiğini unutmayın.

Belgedeki bazı resimler kullanılamayabilir. Resmin kullanılabilirliğini kontrol etmek için şunu kullanın:IsImageAvailable mülk.

Örnekler

Görüntü kaydetme geri aramasının HTML dönüştürme sürecine nasıl dahil edileceğini gösterir.

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

    // Belgeyi HTML'ye kaydettiğimizde, bir geri çağrıyı belirtmek için SaveOptions nesnesini iletebiliriz
    // 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 yerel dosya sistemindeki bir görüntü dosyasına kaydederken her görüntünün özelliklerini yazdırır
/// bir belgenin HTML'ye 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