使用migradoc将图像放在单元格的中心

时间:2014-10-13 16:09:45

标签: image pdfsharp migradoc

我需要将图像放在桌子的中心。 当我在单元格中添加图像时,图像被对齐。 如何将图像对齐在单元格的中心?

4 个答案:

答案 0 :(得分:13)

您可能需要在单元格中添加一个段落,在段落上设置对齐方式,然后将图像添加到段落中。

row.Cells[0].Format.Alignment = ParagraphAlignment.Center;
row.Cells[0].VerticalAlignment = VerticalAlignment.Center;
row.Cells[0].AddParagraph().AddImage(imageLocation);

答案 1 :(得分:4)

row.Cells[0].Format.Alignment = ParagraphAlignment.Center;
row.Cells[0].VerticalAlignment = VerticalAlignment.Center;

答案 2 :(得分:-1)

在我的MigraDoc版本中,Jeff和Reuben的解决方案无法按以下方式工作:设置单元格的Format.Alignment属性无效,即使图像位于段落中也是如此。

但是,有用的是将图像放在一个段落中,就像Jeff和Reuben所说的那样,然后为该段落命名为 的样式,其中包括居中

在预定义所有样式的方法中,我执行以下操作:

// Here we assume the "TableText" style has already been created

var sty = doc.Styles.AddStyle( "TableTextCenter", "TableText" );
sty.ParagraphFormat.Alignment = ParagraphAlignment.Center;

在添加图像的那一刻,我这样做:

var para = table.Cells[ 0 ].AddParagraph();
para.Style = "TableTextCenter"; // <----- This is the magic!
var img = para.AddImage( imageFileSpec );
img.LockAspectRatio = true;
img.Width = "4cm";
img.WrapFormat = new WrapFormat {
  Style = WrapStyle.Through
};

答案 3 :(得分:-1)

正如@Reuben所说的,有趣的是:

row.Cells[0].AddParagraph().AddImage(imageLocation);

我正在尝试

row.Cells[0].AddImage(imageLocation);

图像已插入文档中,但我无法将其居中。