Добавить изображение в ячейку таблицы
Contents
[
Hide
]
VSTO
Ниже приведён код для добавления изображения в ячейку таблицы:
//Open Prsentation class that contains the table
string FileName = "Adding Image in Table Cell.pptx";
string ImageFile = "AsposeLogo.jpg";
Presentation pres = Application.Presentations.Open(FileName);
//Get the first slide
Slide sld = pres.Slides[1];
foreach (Shape shp in sld.Shapes)
{
if (shp.HasTable == Microsoft.Office.Core.MsoTriState.msoTrue)
{
Cell cell= shp.Table.Rows[1].Cells[1];
cell.Shape.Fill.UserPicture(ImageFile);
}
}
Aspose.Slides
Aspose.Slides for .NET предоставляет самый простой API для создания таблиц самым лёгким способом. Чтобы добавить изображение в ячейку таблицы при создании новой таблицы, выполните следующие действия:
- Создайте экземпляр класса Presentation
- Получите ссылку на слайд, используя его индекс
- Определите массив столбцов с указанием ширины
- Определите массив строк с указанием высоты
- Добавьте таблицу на слайд, используя метод AddTable, доступный у объекта IShapes
- Создайте объект Bitmap для хранения файла изображения
- Добавьте изображение Bitmap в объект IPPImage
- Установите формат заливки ячейки таблицы как изображение
- Добавьте изображение в первую ячейку таблицы
- Сохраните изменённую презентацию в файл PPTX
string FileName = "Adding Image in Table Cell.pptx";
string ImageFile = "AsposeLogo.jpg";
Presentation MyPresentation = new Presentation(FileName);
//Get First Slide
ISlide sld = MyPresentation.Slides[0];
//Creating a Bitmap Image object to hold the image file
using IImage image = Images.FromFile(ImageFile);
//Create an IPPImage object using the bitmap object
IPPImage imgx1 = MyPresentation.Images.AddImage(image);
foreach (IShape shp in sld.Shapes)
if (shp is ITable)
{
ITable tbl = (ITable)shp;
//Add image to first table cell
tbl[0, 0].FillFormat.FillType = FillType.Picture;
tbl[0, 0].FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;
tbl[0, 0].FillFormat.PictureFillFormat.Picture.Image = imgx1;
}
//Save PPTX to Disk
MyPresentation.Save(FileName, Export.SaveFormat.Pptx);